关于深度学习:Transformers回顾-从BERT到GPT4

1次阅读

共计 8132 个字符,预计需要花费 21 分钟才能阅读完成。

人工智能已成为近年来最受关注的话题之一,因为神经网络的倒退,已经被认为纯正是科幻小说中的服务当初正在成为事实。从对话代理到媒体内容生成,人工智能正在扭转咱们与技术互动的形式。特地是机器学习 (ML) 模型在自然语言解决 (NLP) 畛域获得了重大进展。一个要害的冲破是引入了“自注意力”和用于序列解决的 Transformers 架构,这使得之前主导该畛域的几个关键问题得以解决。

在本文中,咱们将钻研革命性的 Transformers 架构以及它如何扭转 NLP,咱们还将全面回顾从 BERT 到 Alpaca 的 Transformers 模型,重点介绍每种模型的次要特色及其潜在利用。

相似 bert 的文本模型

第一局部是基于 Transformer 编码器的模型,用于向量化、分类、序列标记、QA(问答)、NER(命名实体辨认)等。

1、BERT Google / 2018

Transformer 编码器,wordpiece tokenization(30K 词汇量)。输出嵌入由三个向量组成:标记向量、可训练地位向量和片段向量(第一个文本或第二个文本)。模型输出是 CLS 标记嵌入、第一个文本的嵌入和第二个文本的嵌入。

BERT 有两个训练任务:Masked Language Modeling (MLM) 和 Next Sentence Prediction (NSP)。在 MLM 中,15% 的令牌被屏蔽,80% 被 MASK 令牌替换,10% 被随机令牌替换,10% 放弃不变。模型会预测正确的 令牌,而损失仅在这 15% 的屏蔽令牌上计算。在 NSP 中,模型预测第二个文本是否跟在第一个文本之后。预测是在 CLS 令牌的输入向量上进行的。

为了放慢训练速度,首先 90% 的训练在序列长度为 128 个标记上进行,而后剩下的 10% 的工夫在 512 个标记上训练模型以取得更无效的地位嵌入。

2、RoBERTa Facebook / 2019

BERT 的改良版本,它只在 MLM 上训练(因为 NSP 被认为不太有用),训练序列更长(512 个令牌)。应用动静屏蔽(当再次解决雷同的数据时,不同的令牌被屏蔽),训练超参数是精心抉择的。

3、XLM Facebook / 2019

训练多语言模型的办法之一是应用不同的根本模型(目前最风行的模型是基于 RoBERTa 的 XLM-R)。在最后的 XLM 中,所有语言都有一个共享的 BPE 词汇表。

XLM 有两个训练任务:MLM 和翻译。翻译实质上与一对文本上的 MLM 雷同,但文本是彼此的平行翻译,具备随机掩码和段嵌入编码语言。

4、Transformer-XL Carnegie Mellon University / 2019

该模型设计用于解决长序列,次要有两个思维: 片段的循环解决和绝对地位编码。

长文本被分成几个片段,每次解决一个片段。前一段的输入被缓存,在计算以后段中的自我关注时,键和值是基于以后段和前一段的输入计算的(只是简略地连贯在一起)。梯度也只在以后段内计算。

这种办法不适用于相对地位。所以模型中从新参数化了注意力权重公式。相对的地位编码向量被一个固定的矩阵取代,该矩阵基于标记地位之间间隔的正弦值和对所有地位共有的可训练向量。

5、ERNIE 清华大学,华为 / 2019

将常识图谱中无关命名实体的信息嵌入到 BERT 中。输出由一组文本标记和一组实体标记组成(每个标记代表整个实体)。文本标记由 BERT 编码。在 BERT 之上,有一组 K 编码器块(约占网络参数的 3%)。在这些块中:

  • 文本标记的更新向量和实体标记的原始向量首先独立地计算自注意力;
  • 实体向量与它们在文本中呈现的第一个标记相匹配;
  • 应用 GeLU 激活,并且用于取得文本标记的新暗藏示意;
  • 文本和实体标记的新向量从暗藏示意中取得,并作为输出传递给下一个编码器块。

在预训练期间,计算三种损失:MLM、NSP 和来自令牌的实体预测(如自编码器),自编码器应用上面规定:

  • 在 5% 的状况下,实体被替换为谬误的实体,但匹配被保留,模型必须预测正确的实体;
  • 在 15% 的状况下,匹配被移除,模型必须仅基于文原本预测实体;
  • 在其余状况下,是失常的。

预训练模型能够像惯例 BERT 模型一样进行微调(有 CLS 令牌)。也能够应用额定的程序进行微调以确定实体及其类型之间的关系。

6、XLNet Carnegie Mellon University / 2019

因为 BERT 训练过程存在问题:

  • 在训练期间,损失计算仅计算掩码标记。
  • 只有个别标记被屏蔽,一个屏蔽标记的预测不会影响其余标记的预测。
  • 模型在训练期间被动看到的理论应用程序中没有 MASK 令牌。

XLNet 基于 Transformer-XL,除了替换语言建模 (PLM) 工作外,它学习在短的上下文中预测标记,而不是间接应用 MASK。这确保了梯度会计算所有标记并打消了对非凡掩码标记的须要。

上下文中的标记被打乱(比方:能够依据第 i- 2 个和第 i + 1 个标记预测第 i 个标记),但它们的地位依然是已知的。这无奈通过以后的地位编码(包含 Transformer-XL)实现。当尝试在给定上下文的一部分的状况下预测令牌的概率时,模型不应该晓得自身的令牌,但应该晓得令牌在上下文中的地位。为了解决这个问题,他们将 self-attention 分为两个流:

  • 在每个标记地位,有两个向量而不是一个:内容向量和查问向量。
  • 内容向量蕴含无关令牌的残缺信息,而查问向量仅蕴含地位信息。
  • token 的两个向量都是基于上下文向量计算的,然而 self-attention 中的查问向量是应用过来的内容向量计算的,内容向量是应用过来的查问向量计算的。
  • query vector 不接管对于相应 token 的内容的信息,但晓得上下文的所有信息,而 content vector 蕴含残缺的信息。

在微调期间,如果疏忽查问向量,模型将像惯例的 Transformer-XL 一样工作。

在实践中该模型的要求上下文必须足够长,以便模型可能正确学习。它在与 RoBERTa 雷同数量的数据上学习,后果类似,但因为实现的复杂性,该模型并没有像 RoBERTa 那样风行。

7、ALBERT Google / 2019

在不就义品质的状况下简化 BERT:

  • 在不同的编码器块中应用独特的参数,并且曾经证实能够共享自注意力的权重,然而拆散全连贯层的权重会导致品质降落。
  • 与 BERT 相比,应用了更小的输出嵌入和更大的暗藏层向量。这能够通过在网络输出处应用一个额定的投影矩阵来实现,这样也能够将嵌入的大小与暗藏示意的大小解耦。
  • 模型的参数缩小了 18 倍,运行速度进步了 1.7 倍。

模型在 MLM 和句子程序预测 (SOP) 上进行训练。

8、DistilBERT Google / 2019

另一种优化 BERT 的办法是蒸馏:

  • 编码器块的数量减半
  • 三个损失成分:MLM、与老师模型输入的穿插熵,以及相应层输入之间的余弦间隔。
  • 模型比老师模型小 40%,速度快 60%,并且在各种工作上放弃了 97% 的品质。

9、LaBSE Google / 2020

基于 BERT 的多语言矢量化模型。它在 MLM 和 TLM 上进行训练(20% 的标记被屏蔽),而后对其进行微调。它反对 100 多种语言,蕴含 500K 个标记的词汇表。

10、ELECTRA Google, Stanford University / 2020

应用生成反抗办法减速 BERT 训练:

  • 训练了两个类 bert 模型: 一个小型生成器和一个主鉴别器
  • 生成器在 MLM 上进行训练,而后填充掩码令牌
  • 鉴别器被训练来预测由生成器生成的文本的原创性(替换检测工作)
  • 训练实现后,去掉生成器,用鉴别器进行微调

训练数据的数量与 RoBERTa 或 XLNet 雷同,并且模型比 BERT、RoBERTa 和 ALBERT 更快地学习到类似的品质程度。训练工夫越长,它的体现就越好。

11、DeBERTa Microsoft / 2020

另一种将标记向量的内容和地位拆散为两个独自的向量的模型:

  • 地位向量在所有层之间共享,并且是绝对的,即标记之间的每个可能间隔都有一个。
  • 为它们增加了两个新的权重矩阵 K_pos 和 Q_pos。
  • 对注意力权重计算进行批改,简化为三个乘积的和:Q_cont K_cont + Q_cont K_pos + K_cont * Q_pos
  • 与 ALBERT 中一样,应用投影矩阵将嵌入大小与暗藏标记示意向量的大小解耦。

相似 GPT 和 T5 的而模型

基于残缺 Transformers 的模型。它的利用范畴十分宽泛:除了上一节的工作外,它还包含会话代理、机器翻译、逻辑和数学推理、代码剖析和生成,以及基本上文本生成。最大和“最智能”的模型通常基于解码器架构。此类模型通常在 few-shot 和 zero-shot 模式下无需微调即可体现良好。

1、GPT-2 OpenAI / 2018

解码器在因果 LM 的工作上进行训练(依据左侧上下文预测下一个令牌)。从体系结构的角度来看,有一些小的变动: 从每个解码器块中移除穿插留神层,并应用了 LayerNorm

应用的标记器是字节级 BPE (50K 词汇表),没有应用相似的子字符串例如(“dog”、“dog!”、“dog.”)。最大序列长度为 1024。层输入缓存所有先前生成的标记。

2、T5 Google / 2019

在 MLM 上进行残缺的预训练 (15% 的令牌被屏蔽),跨度由代码掩码(<X>,<Y>,…) 屏蔽。输入预测序列 <X>span<Y>span…

LayerNorm 在自注意力层和全连贯层输出之前利用。应用绝对地位编码:

地位由可学习的嵌入编码,其中每个“嵌入”只是在计算注意力权重时增加相应 logit 的标量

矩阵 B 是跨层共享的,但对于不同的自注意力注头是不同的。

每一层思考令牌之间的 128 个间隔,其余的归零,这样能够比照训练期间看到的序列更长的序列进行推理。

标记化应用 sentencepece (32K 词汇表)实现,在预训练期间最大序列长度为 512。

3、BART Facebook / 2019

另一个残缺的 transformers,然而用 GeLU 取代了 ReLU。训练它从噪声文本 (AE 去噪) 中预测原始文本,噪声类型如下:

  • 令牌屏蔽
  • 删除令牌
  • 令牌填充
  • 句子中令牌程序颠倒
  • 使随机令牌成为序列的开始

应用字节级 BPE(词汇表大小为 50K)

4、CTRL Salesforce / 2019

应用前缀代码令牌 (例如,<Horror> input text…) 管制生成的解码器。在训练期间将代码调配给适当的文本,而后在推理期间应用代码生成相应款式的文本。该模型是在因果 LM 上训练的,并且没有应用额定的损失。应用的标记化是 BPE,词汇表大小为 250K。

4、GPT-3 OpenAI / 2020

这是一个具备 Sparse Transformer 架构的 GPT- 2 模型,并且减少了 2048 个令牌的序列长度。还记的那句话吗:别问,问就是 GPT3

5、mT5 Google / 2020

基于 T5 模型,具备相似的训练,但应用多语言数据。ReLU 激活被替换为 GeGLU,词汇表扩大到 250K 个标记。

6、GLAM Google / 2021

这个模型在概念上相似于 Switch Transformer,但更侧重于在少样本的模式下工作,而不是微调。不同规模的模型应用 32 到 256 个专家层,K=2。应用来自 Transformer-XL 的绝对地位编码。在解决令牌时,只有不到 10% 的网络参数被激活。

7、LaMDA Google / 2021

相似 gpt 的模型。该模型是一个会话模型,在因果 LM 上进行了预训练,并在生成和判断工作上进行了微调。该模型还能够对外部零碎 (搜寻、翻译) 的调用。

8、GPT-NeoX-20B EleutherAI / 2022

这个模型相似于 GPT-J,也应用旋转地位编码。模型权重应用 float16 示意。最大序列长度为 2048。

9、BLOOM BigScience / 2022

这是 46 种语言和 13 种编程语言的最大开源模型。为了训练模型,应用一个名为 ROOTS 的大型聚合数据集,其中包含大概 500 个凋谢数据集。

10、PaLM Google / 2022

这是一个大型多语言解码器模型,应用 Adafactor 进行训练,在预训练时禁用 dropout,在微调时应用 0.1。

11、LLaMA Meta / 2023

用于科学研究的开源大型 gpt 类 LM,已用于训练多个指令模型。该模型应用了 pre-LayerNorm、SwiGLU 激活和 RoPE 地位嵌入。因为开源所以这是弯道超车的次要模型之一。

文本的领导模型

这些模型抓哟用于校对模型输入(例如 RLHF)以进步对话和工作解决期间的响应品质。

1、InstructGPT OpenAI / 2022

这项工作调整 GPT- 3 以无效地遵循批示。该模型在一个由提醒和答案组成的数据集上进行微调,这些提醒和答案是人类依据一套规范认为好的。基于 InstructGPT,OpenAI 创立了一个被咱们当初熟知的模型 ChatGPT。

2、Flan-T5 Google / 2022

实用于 T5 的领导模型。在某些工作中,Flan-T5 11B 在没有这种微调的状况下优于 PaLM 62B。这些模型曾经作为开源公布。

3、Sparrow DeepMind / 2022

根本模型是通过在选定的高质量对话上对 Chinchilla 进行微调取得的,前 80% 的层被解冻。而后该模型被进一步训练,应用一个大提醒来疏导它进行对话。有几个处分模型也在 Chinchilla 的根底上进行训练。该模型能够拜访搜索引擎并检索最多 500 个字符的片段,这些片段能够成为响应。

在推理过程中,处分模型用于对候选人进行排序。候选项要么由模型生成,要么从搜寻中取得,而后最好的一个成为响应。

4、Alpaca Stanford University / 2023

下面 LLaMA 的领导模型。次要重点是应用 GPT- 3 构建数据集的过程:

  • 指标是取得一组 Task-Input-Output 三元组,其中 Input 能够为空。
  • 人类会生成 175 个带有答案的工作提醒,这些提醒被输出到 GPT- 3 中,GPT- 3 会生成新的工作。
  • 生成过程是迭代的,在每个步骤中,都提供了一些来自人类的工作示例和一些来自先前生成的工作示例。
  • GPT- 3 将生成的工作分为分类工作或非分类工作,并依据此生成不同的输出和输入。
  • 三元组依据品质和与数据库中现有三元组的不类似度进行过滤。

总共生成了 52K 个惟一的三元组,并对 LLaMA 7B 进行了微调。

5、Koala Berkeley University / 2023

这是在指令数据上对 LLaMA 进行微调,但与下面的 Alpaca 不同的是,它不仅在 GPT- 3 等大型模型生成的数据上进行微调。还数据集的组成为:

  • 30k 个对于数学、诗歌和对话的阐明和答复样本;
  • 52K 个 Alpaca 数据集的样本;
  • 160K 对用户对有用性和危害偏好的模型响应;
  • 20K 对带有用户问题和评分的模型答复;
  • 93K 个总结,用户对其品质评分;

与 GPT- 3 相比,没有品质的减少。然而在盲测中,用户更喜爱 Koala 的答复,而不是 Alpaca 的答复。

从文本生成图像的模型

基于文本形容的图像生成器。扩散模型与 transformers 相结合在这一畛域占据主导地位,不仅能够生成图像,还能够进行内容操作和分辨率加强。

1、DALL-E OpenAI / 2021

这项工作分两个阶段进行: 对图像的标记进行训练,而后学习文本和图像的联结生成模型。

在第一阶段,训练 dVAE,其中将图像从 256x256x3 空间转换为 32x32xdim 并返回,其中 dim 是暗藏示意向量的维度。总共有 8192 个这样的标记向量,这些标记向量将在模型中进一步应用。

应用的次要模型是稠密 transformer 解码器。文本令牌和图像令牌作为输出,模型学习联结散布(Causal LM),之后能够基于文本生成图像令牌。dVAE 基于这些雷同的令牌生成一个映像。文本标记的损失权重是 1 /8,图像标记的权重损失是 7 /8。

对于文本标记,有惯例嵌入和地位嵌入,对于图像标记,有惯例的、按列定位的和按行定位的嵌入。文本标记序列的最大长度为 256,标记化为 BPE (16K 词汇表)。

2、GLIDE OpenAI / 2021

一种在像素级操作并由文本管制的扩散模型(DM)。它基于 U -Net 架构,具备卷积、留神和残差连贯。应用不同的办法来管制生成。应用 CLIP 取得的图像向量和文本向量的标量积

3、Latent Diffusion [Stable Diffusion] CompVis [Stability AI] / 2021 [2022]

在像素空间中工作的扩散模型,次要蕴含 2 个模型:

  • 一种用于从潜在空间降维和生成的 VAE 自编码器
  • 内部表征的 DM

自编码器以相似 gan 的形式进行训练,在其后果上应用鉴别器,并将额定的正则化示意与规范正态分布的靠近水平。

后果在潜在空间中进入 DM 解码: 如果条件是一个向量,则在步骤的输出处与潜在向量连贯,如果是一个向量序列,则用于不同 U -Net 层的穿插留神。对于文本提醒应用 CLIP 向量。

这个通用的模型能够被训练用于不同的工作: 文本到图像,着色,绘画,超分辨率。

4、Imagen Google / 2022

Imagen 背地的次要思维是减少文本编码器的大小比减少 DM 的大小能够给生成模型带来更多的益处。所以 CLIP 被替换为 T5-XXL。

从图像生成文本的模型

本节中的模型通常被称为多模态模型,因为它们在生成文本的同时可能剖析不同性质的数据。生成的文本能够是自然语言,也能够是一组命令,例如机器人的命令。

1、CoCa Google / 2022

一个独自的图像编码器(ViT 或 CNN) + 一个共享解码器,其中前半部分解决文本,后半局部与图像编码器的输入独特解决文本。

288×288 的图像被切成 18×18 的块,编码器将其转换为向量 + 基于所有这些向量的共享注意力池向量。

解码器的前半部分的输入是文本向量和序列开端的 CLS 标记向量,应用 sentencepece (64K 词汇表)进行标记化。文本和图像矢量通过穿插留神在解码器的后半局部合并。

两个损失的权重别离:

  • 图像的注意力池向量与图像形容对的文本的 CLS 标记向量之间的相似性。
  • 整个解码器输入的自回归损失(以图像为条件)。

在微调过程中,图像编码器能够被解冻,只有注意力池能够被微调。

2、PaLM-E Google / 2023

图像由 ViT 编码,输入向量以及文本令牌和命令被输出 PaLM, PaLM 生成输入文本。

PaLM- E 用于所有工作,包含 VQA、对象检测和机器人操作。

3、GPT-4 OpenAI / 2023

这是一个具备大量已知细节的关闭模型。据揣测,它有一个具备稠密注意力和多模态输出的解码器。它应用自回归训练和微调 RLHF,序列长度从 8K 到 32K。

它曾经在人类考试中进行了零样本和少样本的测试,并达到了相似人类的程度。它能够立刻和逐渐解决基于图像的问题(包含数学问题),了解和解释图像,并能够剖析和生成代码。还实用于不同的语言,包含小语种。

总结

上面是简短论断。它们可能不残缺,或者基本不正确,所以仅供参考。

主动显卡不能挖矿当前,各种大型模型一拥而上,模型的基数始终在增长,然而简略的层的减少和数据集的增长被各种更好的技术代替,这些技术容许品质改良(应用内部数据和工具,改良网络结构和新的微调技术)。然而越来越多的工作表明训练数据的品质比数量更重要:正确抉择和造成数据集能够缩小训练工夫并进步后果品质。

OpenAI 当初正在走向闭源,他们曾经尝试过不开释 GPT- 2 的权重但没有胜利。然而 GPT4 是黑盒,近几个月来改良和优化开源模型的微调老本和推理速度的趋势在很大水平上升高了大型公有模型作为产品的价值,开源模型在品质上也正迅速赶上巨头,这又能够弯道超车了。

最初开源模型的总结如下:

  • 在编码器模型块中,XLM-RoBERTa 和 LaBSE 模型被认为是牢靠的多语言解决方案;
  • 在凋谢的生成模型中,最乏味的是 LLaMA 和来自 EleutherAI 的模型(都有它们所有的微调版本)、Dolly-2、BLOOM(同样有指令微调选项);
  • 代码方面,SantaCoder 的模型还不错,然而总体来说品质也显著落后于 ChatGPT/GPT-4;
  • Transformer-XL 和 Sparse Transformer 实现了其余模型中应用的技术,能够认真钻研;

以上,仅供参考。

https://avoid.overfit.cn/post/f11a5578d80549f68d416a9f82f43075

作者:Vladimir Zhyvov

正文完
 0