2017年6月12号,谷歌大脑下一个团队的一篇论文Attention is All You Need(《注意力就是你所需的全部》),其中提到了“自注意力机制”,可以按输入数据各部分重要性的不同而分配不同的权重。并且在随后的实践中,文中提到的transformer(直译为“转换器”或“变换器”)机制抛弃了过去主流的“循环神经网络”(RNN),最终成就了ChatGPT,引起了现在的生成式AI,大模型的浪潮,AI好像在一瞬间就学会了如何与人类流畅自然的交流。
有点难以置信的,在transformer之前,人们讨论的还是如何让Siri,蓝牙音箱,语音助手等AI设备听懂我们的语言;在transformer之后,人们开始讨论该如何防范AI对人类的威胁。那这篇论文究竟是阿拉丁神灯呢?还是装魔鬼的瓶子?在六周年之时来回顾一下还是很有意义的。
注意力机制
相信很多人都有这样的经验,只是没有刻意注意过,打乱个一子句中字词序顺的多很时候不并响影对你句子的解理。原因倒也不难理解,因为大脑在处理信息时会区分权重,换言之,我们的注意力会聚焦在最重要的相信上,次要性的细节则被自动过滤忽略。而transformer模型就模仿了这一特点,能够学习输入的序列中不同位置间的依赖关系,并计算背后的逻辑相关性,这让针对序列的建模变得更加容易,精准度也有了很大改善。而且与之前使用多年的RNN不同,transformer模型能够一次性处理所有输入数据,注意力机制可以为输入序列中的任意位置提供上下文。
在深度学习中引入transformer模型,没多久就产生了两个明显的好处。
并行计算得以实现。由transformer衍生出的模型可以更好地利用GPU进行加速,transformer奠定了日后“预训练模型”的兴起。随着近几年模型的规模越来越大,“涌现”能力开始出现并逐渐引起重视,因此很多人都说是GPT打开了AGI和大模型的时代大门,这是不能忽视的原因。
适用性宽泛。尽管transformer起初是被用来解决NLP问题,尤其是机器翻译问题。但很快人们就发现,这种注意力机制可以推广到更多领域,比如语音识别和电脑视觉,电脑图像等。基于transformer的深度学习方法实际上可以适用于任何序列,无论语言还是图像,在AI,机器看来,这些序列不过是一个个有规律的向量。
可以说正是基于此,ChatGPT才能成就自己的名声,AGI,AIGC,AI 2.0时代,大模型等概念等,一切都是以transformer机制为底座,以及那篇Attention is All You Need。
点石成金的背后
说来有趣,transformer这个名字据说来自论文联合作者之一的Llion Jones,原因只是因为论文名中的attention(注意力)“听上去不酷”。后来他也多次自嘲,说自己在论文中最大的贡献就是“起了个好名字”。另外Jones也是论文的八位联合作者中唯一一位还在谷歌任职的人,其余七个都早已离职创业。
之前英伟达科学家Jim Fan发推祝贺论文发布六周年时,又对这篇开山之作做了深度总结,简要说来有以下几点。
注意力机制并非transformer的首创,而是将其推广到极致。2014年,来自加拿大蒙特利尔大学的Yoshua Bengio(约书亚·本吉奥)团队发表论文Neural Machine Translation by Jointly Learning to Align and Translate(《神经机器翻译的对齐与翻译联合学习》),其中提到的注意力机制是“RNN+上下文向量”的组合式发展。虽然这篇论文不如transformer那篇的影响力,但在NLP历史上依然有不可动摇的里程碑意义,引用量近三万次。另外,本吉奥与Geoffrey Hinton(杰弗里·辛顿)、Yann LeCun(杨立昆)并称“深度学习三巨头”,共同获得了2018年的图灵奖。
Transformer正式发表是在2017年的NeurIPS上,这是全球一流的AI会议之一。然而这篇论文甚至没有获得在大会上的演讲资格,更不用说获奖了。当年会议评选出的最佳论文共三篇,截止目前引用数勉强超过五百次。估计也没人能想到当年一篇没人看好的论文居然能引起未来几年内如此大的浪潮,以及近八万次的引用。Jim Fan倒是没觉得有什么不妥,毕竟当年火车刚发明时也曾被人笑话过不如马车。
这两篇论文虽然都在NLP领域具有里程碑意义,但出发点都是为了解决一个具体且狭隘的问题:机器翻译。而这也是AI最早落地应用的地方之一,只是到现在依然有这样那样的问题,虽然不是不能用,但距离预期的好用还差得远。
还能打多久?
前面说过,在transformer出现前,NLP圈内大都采用基于RNN的“编码器-解码器”(Encoder-Decoder)结构来完成序列翻译。然而RNN及其衍生结构的一大问题是慢,而且对前后隐藏状态的依赖性非常大,无法实现并行计算。2017年transformer结构提出后引起圈内的追星之旅,甚至有人问“有了Transformer框架后是不是可以废弃RNN了?”
从机制上讲,transformer由四部分组成:输入、编码器、解码器,输出。输入字符首先转变为向量,并通过位置编码来添加位置信息。然后,通过使用多头自注意力和前馈神经网络的“编码器”和“解码器”来提取特征,最后输出结果。类似的,机器翻译的神经网络通常包含一个编码器,在读取完句子后生成一个表征。空心圆代表着transformer为每个单词生成的初始表征。然后利用自注意力,从所有其他的词中整合信息,在整个上下文中为每个词产生一个新表征,由实心圆表示。接着,将这个步骤对所有单词并行重复多次,依次生成新的表征。同样,解码器的过程与之类似,但每次从左到右生成一个词。它不仅关注其他先前生成的单词,还关注编码器生成的最终表征。
所以明白这些,也就不难理解transformer的逆袭之路为什么从一开始就能收获粉丝。追根溯源的说,目前现状所有的类GPT产品都是源于六年前的这篇论文,GPT是Generative Pre-trained Transformer的首字母缩写,译为“生成式预训练转换器模型”。不过transformer不仅能用于NLP,它还能跨界到CV(电脑视觉)领域。早在2017年论文发布后,谷歌就畅想过将其用于图像和视频领域,当时就有粉丝直呼“踢馆”。
过去多少年来,电脑视觉领域里一直使用CNN(卷积神经网络)架构,虽然问题很多但也无可奈何,毕竟只有这一种可用的。2020年10月,谷歌提出Vision Transformer (ViT),可以直接用transformer对图像进行分类与处理。在节约了四倍资源的前提下,性能超越了最先进的CNN。
第二年OpenAI就连扔两颗炸弹,发布了基于transformer打造的DALL-E和CLIP。前者能够根据文字输出稳定的图像,后者能够实现图像与文本的分类。再到后来的DALL-E进化版DALL-E 2,还有Stable Diffusion,同样基于Transformer架构,再次颠覆了AI绘画,也是国内很多竞品学习借鉴的目标。
因此可以说,transformer至少在可预见的未来依然打。有人说最有影响力的论文永远不会获得最佳论文奖或任何认可,但随着时间的推移,它们最终会改变世界,不是为奖项而奋斗,而专注于有影响力的研究。回顾这六年,transformer无疑是做到了这一点的。