ML-李宏毅-Recent Advance of Self-supervised learning for NLP

李宏毅《机器学习2023》课程学习笔记。

Preparation

【機器學習 2021】自督導式學習 -Self-supervised Learning- -一- – 芝麻街與進擊的巨人

png

​ 很多 NLP 模型都是用芝麻街的人物命名(BERT、ELMo、ERNIE、Big Bird)。

png

​ BERT 是一个巨大的模型,有 340M 个参数。

png

​ 然而在众多 NLP 模型中,BERT 只是较小的一种。

png png png png

​ 本节课主要讲 BERT 和 GPT。

【機器學習 2021】自督導式學習 -Self-supervised Learning- -二- – BERT 簡介

png

​ supervised learning 是需要有标签的资料的,而 self-supervised learning 不需要外界提供有标签的资料,他的带标签的资料源于自身。xx 分两部分,一部分 xx' 用作模型的输入,另一部分 xx'' 作为 yy 要学习的 label 资料。

​ 我现在称它为 "自我监督学习",因为 "无监督 "是一个既复杂又令人困惑的术语。在自我监督学习中,系统学会从它的其他部分输入中预测它的部分输入。换句话说,一部分输入被用作监督信号,输入其余部分的预测器。

​ 自监督学习是无监督学习的一部分。

Masking Input

png

​ 随机遮盖的方法有两种:

  • 使用特殊单位来代替原单位(遮盖);
  • 随机使用其他的单位来代替原单位。台 X 大学就是 xx'(作为模型的输入),台湾大学等字体就是 xx'' (作为输出要学习的 label 资料)。

​ 被遮盖的单位输出的向量经过 linear(乘上一个矩阵),再经过 softmax 输出一个向量,去和所有的字体做对比,找出被遮盖的字最可能是什么字。对比的过程就是计算最小的 cross entropy,就像做分类问题一样,经过 softmax 的输出向量和所有字体代表的单向量做计算。

Next Sentence Prediction

png

​ 判断两个句子是否连接:

png

​ BERT 在 Pre-train 过程中一般需要进行 Masked token prediction 和 Next sentence prediction 两个操作。训练后的 BERT 只会做填空题,经过 Fine-tune(微调)之后才能做下游各式各样的任务。

  • pre-train 过程是 unsupervised learning(资料来源于自身)
  • fine-tune 过程是 supervised learning(有标注的资料),所以整个过程是 semi-supervised

​ 目前要 pre-train 一个能做填空题的 BERT 难度很大,

  • 一方面是数据量庞大,处理起来很艰难
  • 另一方面是训练的过程需要很长的时间。

GLUE

png

GLUE 是自然语言处理任务,总共有九个任务。GLUE Benchmark

  • Corpus of Linguistic Acceptability (CoLA)
  • Stanford Sentiment Treebank (SST-2)
  • Microsoft Research Paraphrase Corpus (MRPC)
  • Quora Question Pairs (QQP)
  • Semantic Textual Similarity Benchmark (STS-B)
  • Multi-Genre Natural Language Inference (MNLI)
  • Question-answering NLI (QNLI)
  • Recognizing Textual Entailment (RTE)
  • Winograd NLI(WNLI)

BERT 分别微调之后做这 9 个任务,将 9 个测试分数做平均后代表 BERT 的能力高低。

png

​ 论文[1905.00537] SuperGLUE: A Stickier Benchmark for General-Purpose Language Understanding Systems (arxiv.org)展示了不同种模型 GLUE 得分。

BERT 的 fine-tune 应用

​ 这四个案例的 BERT 都是经过 pre-train 的 BERT,会做填空题了。也就是这个 BERT 的初始化参数来自学会填空题的 BERT。主要关注四个案例的框图的区别!!!

How to use BERT-Case 1-语句分类

png

​ 输入句子(“This is good”),输出类别(”positive“)。CLS 是一个特殊的 token(单位),linear 的参数是随机初始化的。训练就是更新 BERT 和 linear 这两个模型里的参数。

png

How to use BERT-Case 2-词性标注

png

​ 输入由单词组成的句子,输出它的语法结构,输入和输出的长度相等。

How to use BERT-Case 3-句意立场分析

png

​ 输入两个序列(前提和推论),输出类别(立场,对立、同义、中立)

png

How to use BERT-Case 4-问答系统

png

​ 输入一篇文章和问题,输出答案(答案一定在文章中,用两个正整数 s,es,e 表示,ssee 之间的词就是答案)

png

​ 橙色和蓝色向量的长度和 BERT 的输出向量的长度一致,因为要做内积。内积之后的向量经过 softmax 后得到分数,分数最高的位置就是起或止位置。橙色向量代表答案的起始位置,蓝色向量代表答案的结束位置

png

​ 这就是 BERT 的核心内容。

png

​ 训练 BERT 需要非常长的时间。靠个人计算机几乎不可能。

png

​ BERT 就是在学会这些东西后,逐渐学到更多。

Pre-training a seq2seq model

png png

​ 将 BERT 用在 seq2seq 问题中。

​ 在一个 transformer 的模型中,将输入的序列损坏,然后该模型的输出是还原损坏的输入。如何损坏输入数据呢?

​ 可以采用 mass 或 BART 手段,mass 是盖住某些数据(类似于 masking),BART 是综合了右边所有的方法(盖住数据、删除数据、打乱数据顺序、旋转数据等等),BART 的效果要比 mass 好!!

png

​ 把 T5 模型用在 C4 数据库中。

【機器學習 2021】自督導式學習 -Self-supervised Learning- -三- – BERT 的奇聞軼事

pre-train 的 BERT 会做填空题,那为什么微调一下就能用作其他的应用呢?

png

​ 意思越相近的字产生的向量越接近,如图右部分。同时,BERT 会根据上下文,不同语义的同一个字产生不同的向量。(例如果字)

png png

​ 训练填空题 BERT 时,从上下文抽取资讯来填空,两个果的语义输出的向量不同了。

png

​ 应用 BERT 来研究蛋白质、DNA、音乐分类等问题中在,使用 we,you 等字代替氨基酸,最后训练出来的结果竟然会比较好,所以可能 BERT 的初始化参数就比较好,而与语义没有关系(一种推测,BERT 内部结构还有很多问题尚待研究)。

png png png

Multi-lingual BERT

png png png

​ 用许多不同的语言预训练 BERT,最后训练回答英语题目的模型竟然能在中文测试题上有较好的表现

png

​ 因为不同语言之间存在对齐情况,即同义的不同语言的向量会比较接近,所以语言和语言之间输出的向量是存在一定关系的。

png png png

​ 这往往需要大量的数据 orz

png png png

​ 为了探寻不同语言之间的关系,做了下面这样一件事:

​ 将所有中文的 embbeding 平均一下,英文的 embbeding 平均一下,发现两者之间存在着差距,这个差距用一个蓝色向量来表示。对一个 multi-BERT 输入英文问题和文章,他会输出一堆 embedding,这堆 embedding 加上这个差距后,最终竟然能输出中文的答案。(所以同义的不同字代表的向量之间可能存在一个小小的偏差,改变偏差就能保证同义下改变字。)

【機器學習 2021】自督導式學習 -Self-supervised Learning- -四- – GPT 的野望

png png

​ CPT 系列的模型与 BERT 不同,不采用 Mask Input,而是训练模型预测文字之后的语句。

png png

​ 给出 Description 和 A few example,要求 GPT 产生更多 example。

png
  • "In-context" Learning
    • "Few-shot" 给出少部分 example
    • "One-shot" 给出一个 example
    • "Zero-shot" 不给 example
png

​ 效果感人 orz

png

Beyond Text

png

​ Self-supervised Learning 不仅局限于 NLP 领域,在 Speech 和 CV 领域也有所建树。

png png png png

​ 台大团队设计了一个用于 Speech 的 GLUE

png

Class Material

【機器學習 2022】如何有效的使用自督導式模型 - Data-Efficient - Parameter-Efficient Tuning -由姜成翰助教講授-

{% pdf PLM.pdf%}

Extra Material

ChatGPT (可能)是怎麼煉成的 - GPT 社會化的過程

還沒玩過 Chat GPT 嗎? 連結在這裡 https://chat.openai.com/chat

Chat GPT 官方 Blog:https://openai.com/blog/chatgpt/

Instruct GPT 論文連結:https://arxiv.org/abs/2203.02155

GPT-3 介紹 – 來自獵人暗黑大陸的模型:https://youtu.be/DOG1L9lvsDY

INSIDE 以本影片為基礎撰寫的文章:https://www.inside.com.tw/article/300...

本影片投影片連結:https://docs.google.com/presentation/...

png png png png png png png png

​ Chat GPT 并没有给出对应的论文,不过它跟 Instruct GPT 很像,根据论文[2203.02155] Training language models to follow instructions with human feedback (arxiv.org)估计 Chat GPT 是怎么训练的。

Chat GPT 的学习四阶段

png
  1. 学习文字接龙
  2. 人类老师引导文字接龙的方向
  3. 模仿人类老师的喜好
  4. 用增强式学习向模拟老师学习
png png png png png png png png png

​ 尝试考倒 Chat GPT,问一些没用简单的问题 orz

png