新智元报道
编辑:LRS
Transformer 家族成员太多?一个目录就够了!
如果说过去几年是什么在支撑着大规模模型的发展,那一定是 Transformer 了!
基于 Transformer,大量模型在各个领域犹如雨后春笋般不断涌现,每个模型都有不同的架构,不同的细节,以及一个不容易解释的名字。
最近有作者对近几年发布的所有流行的 Transformer 模型进行了一次全面的分类和索引,尽可能提供一个全面但简单的目录(catalog),文中包括对 Transformer 创新的简介,以及发展脉络梳理。
论文链接:https://arxiv.org/pdf/2302.07730.pdf
图灵奖得主 Yann LeCun 表示认可。
文章作者 Xavier (Xavi) Amatriain 于 2005 年博士毕业于西班牙庞培法布拉大学,目前是 LinkedIn 工程部副总裁,主要负责产品人工智能战略。
什么是 Transformer?
Transformer 是一类深度学习模型,具有一些独特的架构特征,最早出现在谷歌研究人员于 2017 年发表的著名的「Attention is All you Need」论文中,该论文在短短 5 年内积累了惊人的 38000 次引用。
Transformer 架构也属于编码器-解码器模型(encoder-decoder),只不过在此之前的模型,注意力只是其中的机制之一,大多都是基于 LSTM(长短时记忆)和其他 RNN(循环神经网络)的变体。
提出 Transformer 的这篇论文的一个关键见解如标题所说,注意力机制可以作为推导输入和输出之间依赖关系的唯一机制,这篇论文并不打算深入研究 Transformer 架构的所有细节,感兴趣的朋友可以搜索「The Illustrated Transformer」博客。
博客链接:https://jalammar.github.io/illustrated-transformer/
下面只简要地描述最重要的一些组件。
编码器-解码器架构
一个通用的编码器/解码器架构由两个模型组成,编码器接受输入并将其编码为一个固定长度的向量;解码器接收该向量并将其解码为输出序列。
对编码器和解码器进行联合训练以最小化条件对数似然。训练完成后,编码器/解码器就可以根据给定输入序列的生成一个输出,或者可以给一对输入/输出序列打分。
在最初的 Transformer 架构下,编码器和解码器都有 6 个相同的层,在这 6 层中的每一层,编码器有两个子层:一个多头注意层,和一个简单的前馈网络,每个子层都有一个残差连接和一个层归一化。
编码器的输出大小为 512,解码器增加了第三个子层,即在编码器输出上的另一个多头注意层。此外,解码器中的另一个多头层被 mask 掉,以防止对后续位置应用注意力,造成信息泄露。
注意力机制
从上面的描述中可以看出,模型结构中唯一「奇特」的元素是多头的注意力,也正是该模型的全部力量所在。
注意力函数是 query 和一组 key-value pairs 到输出之间的映射,输出的计算为数值的加权和,其中分配给每个数值的权重是由 query 与相应的 key 的 compatibility 函数计算的。
Transformer 使用多头注意力(multi-head attention),即对一组注意力函数的并行计算,也称为缩放点积注意力。
与递归和卷积网络相比,注意力层有几个优势,比较重要的是其较低的计算复杂性和较高的连接性,对学习序列中的长期依赖关系特别有用。
Transformer 可以做什么?为什么流行起来了?
最初的 Transformer 是为语言翻译而设计的,主要是从英语翻译到德语,但是初版论文的实验结果已经表明,该架构可以很好地推广到其他语言任务。
这一特殊的趋势很快就被研究界注意到了。
在接下来的几个月里,任何与语言相关的 ML 任务的排行榜都完全被某个版本的 Transformer 架构所占据,比如问答任务 Squad 很快就被各种 Transformer 模型屠榜了。
Transofrmer 能够如此迅速地占领大多数 NLP 排行榜的关键原因之一是:它们能够快速适应其他任务,也就是迁移学习;预先训练好的 Transformer 模型可以非常容易和迅速地适应它们没有被训练过的任务,相比其他模型有巨大的优势。
作为一个 ML 从业者,你不再需要在一个巨大的数据集上从头训练一个大型模型,只需要在手头任务上重新使用预训练过的模型,也许只是用一个小得多的数据集对其稍作调整。
用来使预训练的模型适应不同任务的具体技术是所谓的微调(fine-tuning)。
事实证明,Transformer 适应其他任务的能力是如此之强,虽然它们最初是为语言相关的任务而开发的,但它们很快就对其他任务有用了,从视觉或音频和音乐应用一直到下棋或做数学。
当然,如果不是因为有无数的工具,使任何能写几行代码的人都能随时使用这些工具,所有这些应用就不可能实现。
Transformer 不仅很快被整合到主要的人工智能框架中(即 Pytorch 和 TensorFlow),还有一些完全为 Transformer 而生的公司。
Huggingface,一家到今天为止已经筹集了超过 6000 万美元的创业公司,几乎完全是围绕着将他们的开源 Transformer 库商业化的想法而建立的。
GPT-3 是 OpenAI 在 2020 年 5 月推出的 Transformer 模型,是他们早期 GPT 和 GPT-2 的后续版本。该公司在一份预印本中介绍了该模型,引起了很大的轰动,论文中声称该模型非常强大,以至于他们没有资格向世界发布。
而且,OpenAI 不仅没有发布 GPT-3,而且通过和微软之间的一个非常大的伙伴关系实现了商业化。
现在,GPT-3 为 300 多个不同的应用程序提供底层技术支持,并且是 OpenAI 商业战略的基础。对于一个已经获得超过 10 亿美元资金的公司来说,这是很重要的。
RLHF
从人类反馈(或偏好)中强化学习,又称 RLHF(或 RLHP),最近已经成为人工智能工具箱的一个巨大补充。
这个概念最早来自 2017 年的论文「来自人类偏好的深度强化学习」,但最近它被应用于 ChatGPT 和类似的对话智能体中,取得了相当好的效果,又引起了大众的关注。
文中的想法是非常简单的,一旦语言模型被预训练后,就可以对对话产生不同的回应,并让人类对结果进行排名,可以使用这些排名(又称偏好或反馈)利用强化学习机制来训练奖励。
扩散模型 Diffusion
扩散模型已经成为图像生成的新的 SOTA,大有取代 GANs(生成对抗网络)的趋势。
扩散模型是一类经过训练的变分推理(varitional inference)的潜变量模型,在实践中的意思就是训练一个深度神经网络来对用某种噪声函数模糊的图像进行去噪。
以这种方式训练的网络实际上是在学习这些图像所代表的潜空间。
看完介绍,快开启 Transformer 的回溯之旅吧!
参考资料: