如果说过去几年是什么在支撑着大规模模型的发展,那一定是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的回溯之旅吧!