
Đêm trước sự ra đời của Transformer: Tại sao tám nhà nghiên cứu của Google dám hoàn toàn từ bỏ mạng nơ-ron hồi tiếp?
Tuyển chọn TechFlowTuyển chọn TechFlow

Đêm trước sự ra đời của Transformer: Tại sao tám nhà nghiên cứu của Google dám hoàn toàn từ bỏ mạng nơ-ron hồi tiếp?
Vứt bỏ cây gậy, chỉ giữ lại sự chú ý.
作者:Robonaissance
编译:深潮 TechFlow
深潮导读:2017 年之前,所有人都认为循环神经网络是机器翻译的必需品,注意力机制只是辅助工具。Google 八个研究者押注一个激进想法:把拐杖扔掉,只留注意力。这场豪赌的理论基础,其实是 1890 年威廉·詹姆斯在《心理学原理》里写下的一句话。
1985 年,Jeffrey Moran 和 Robert Desimone 把一根微电极插入猕猴的视觉皮层,然后等待。
这只猴子被训练做一件简单而奇怪的事。两个刺激物会出现在单个神经元的感受野内,一个位于动物被提示要注意的位置,另一个位于被告知要忽略的位置。这个细胞能看到两者。问题是这个细胞在不在乎。
它非常在乎。当猴子注意到两个刺激物中的一个时,V4 区的神经元反应大致就像另一个刺激物根本不存在一样。对未被注意物体的反应,用作者的话说,被显著降低了。前一阶段纹状皮层的细胞则完全没有这种表现。注意力不是动物在想什么的隐喻。它是单个细胞中可测量的事件,其机制是减法。大脑不是在放大重要的东西。它是在压低其他所有东西。
95 年前,没有微电极也没有猴子,威廉·詹姆斯用同样的顺序说过同样的话。在《心理学原理》第十一章,他写道每个人都知道注意力是什么,然后还是给了定义:心智从几个同时可能的对象中占有其中一个。然后是最重要的那句话。詹姆斯写道,注意力意味着从某些事物中撤出,以便有效地处理其他事物。
撤出。不是放大。这个领域最古老的定义和第一个单细胞记录一致认为,注意力就是你减去的东西。
记住这个想法。大约两千字后它会回来,穿着不同的符号。
所有人都同意付出的代价
到 2016 年,机器翻译已经定型。你拿一个句子,通过循环神经网络逐词运行,积累一个隐藏状态来承载迄今为止看到的所有东西,然后用那个状态在另一端逐词生成翻译。主流变体是 LSTM 和门控循环单元。它们有效。谷歌已经将其投入生产。
这个架构有一个特性,领域内不断讨论却不再把它当问题。循环模型将位置 t 的隐藏状态计算为位置 t 减一的隐藏状态的函数。这不是实现细节。这是定义。位置五必须等位置四存在才能计算,位置四必须等位置三存在。
Transformer 论文自己的引言部分以不寻常的直白陈述了后果——对于一个本该客套的章节来说。作者写道,这种固有的顺序性质排除了训练样本内的并行化,而且这个问题在更长的序列长度时变得关键,因为内存限制了你可以批处理多少样本来补偿。
想想这在房间里的硬件是 GPU 时意味着什么。GPU 是一台同时做几千件事的机器。循环网络是一台一件接一件做事的机器。在前者上运行后者就像雇了一个管弦乐队却给他们一首为独奏小提琴写的曲子。所有人都到了。大多数人在等待。
这个领域知道。有修复方法。论文引用了因式分解技巧和条件计算,两者都提高了效率,其中一个也提高了质量。然后它给出了设定后续一切的句子:然而,顺序计算的基本约束仍然存在。
这就是一个领域把成本定价到其世界观中的样子。没人认为循环是免费的。所有人都认为它是必要的。
注意力到来,作为帮手
注意力在 2014 年进入机器翻译,它以修复的身份进入。
它修复的问题是具体的,值得精确说明,因为这第一个修复的形态决定了这个领域接下来三年如何思考注意力。在当时的编码器-解码器模型中,编码器读取整个源句子并将其压缩成单个固定长度的向量。解码器然后仅从该向量生成翻译。一个四十词句子的每个词都必须存活在一个数字数组中,其大小无论句子多长都不会改变。
当时在不莱梅雅各布大学的 Dzmitry Bahdanau,与蒙特利尔的 Kyunghyun Cho 和 Yoshua Bengio 合作,将此命名为瓶颈。他们的提议是停止强制压缩。让编码器为每个输入位置保留一个状态,让解码器在每个输出步骤计算所有这些状态的一组权重并取加权和。模型会学习看哪里。他们的标题清楚地陈述了由此产生的能力:通过联合学习对齐和翻译的神经机器翻译。对齐,统计翻译系统需要手工构建的机器来近似,作为学习的副产品从网络中脱落。
这个机制有效,并且传播开来。一年后 Minh-Thang Luong、Hieu Pham 和 Christopher Manning 发表了一组改进,使其更便宜、更通用。到 2016 年,注意力成为几乎每个有竞争力的翻译系统的标准配置。
而在每一个这样的系统中,它都坐在循环网络的顶部。
这是整个故事转折的细节,Transformer 论文在引言中用一句话标记了它。作者指出,注意力机制已经成为序列建模不可或缺的一部分,允许依赖关系建模而不考虑距离。然而,在除少数情况外的所有情况下,这些机制都与循环网络结合使用。
再读一遍,注意它没有说什么。它不是说注意力被低估了。它是说三年来,这个领域拥有一种直接关联任何两个位置的机制,一步完成,无论它们相距多远,却把它栓在了恰恰不能做到这一点的架构上。注意力是乘客。循环是车。
没人问这辆车是否承重。
提问的人
几乎没人,不管怎样。
Jakob Uszkoreit 并没打算研究语言。他误打误撞进来的。他的父亲 Hans Uszkoreit 是计算语言学家,十几岁时因抗议苏联入侵捷克斯洛伐克在东德监狱待了十五个月,释放后逃到西方,在柏林学习计算机和语言学,最终找到了去门洛帕克一个人工智能实验室的路,他的儿子在那里出生。全家回到德国。Jakob 在那里上大学,在谷歌山景城办公室实习,落在翻译组。他把这描述为最终进入家族生意。他从未完成博士学位。
2012 年他加入谷歌一个团队,构建一个可以直接在搜索页面回答问题的系统。苹果刚刚发布 Siri,谷歌领导层决定这是紧急情况。Uszkoreit 事后看来,这种恐慌是没有根据的。但它在一个致力于可以进行类似对话的机器的团队后面投入了资源,这就是他撞上墙的地方。
循环网络,即使加上了长短期记忆,也无法将长段落连在一起。经典演示是一个句子,其中早期陈述的事实决定了后期陈述的短语的含义,而模型从左到右行进,到达后期短语时必须仍然携带早期事实。LSTM 使这对比普通循环允许的更长跨度成为可能。它们没有让它在 Uszkoreit 想要的规模上工作。他对当时领域工具包的自我评估是,他应用的方法用他的话说"基本上是创可贴"。
2014 年左右,他开始开发一个他称为自注意力的替代方案:让模型通过直接引用段落的任何其他部分来翻译一个词,根据每个部分对手头词的澄清程度对其加权。他对此怀疑两件事。第一是它可能简单地工作得更好。第二个不太明显但事实证明更重要。自注意力同时查看许多输入而不是按顺序,这意味着它的形状与机器学习热潮正在大量生产的并行处理芯片完全一样。机制和硬件是为彼此而建的。没人这样设计过。
反应很冷淡。放弃循环意味着丢弃整个领域花了多年完善的架构,Uszkoreit 的说法是人们对这个建议扬起了眉毛。怀疑者包括他的父亲,用他自己的描述,他与父亲在餐桌上并没有完全看对眼。
他说服了几个同事无论如何都要做实验。结果足够有希望在 2016 年小规模发表,只使用短文本跨度。那篇论文是 Ankur Parikh、Oscar Täckström、Dipanjan Das 和 Jakob Uszkoreit,"一个可分解的注意力模型",在 EMNLP 2016 上发表。它用注意力而完全没有循环执行自然语言推理。
然后他的合作者继续前进。这项技术足够好可以部署,所以他们去部署了,遍及谷歌搜索和最终广告。按标准衡量,这是成功。Uszkoreit 是唯一一个认为小实验暗示大实验的人。
这就是为什么,当"注意力就是你所需要的一切"在一年后出现,其引言承认注意力几乎总是与循环网络结合使用时,附在除少数情况外这个短语上的引用就是那篇 2016 年的论文。规则的例外,坐在参考文献二十七的书目中,是即将打破它的人的工作。
一个咖啡馆、一条走廊、一台咖啡机
Transformer 是从偷听的对话中组装起来的。这不是修饰;这是参与者描述的。
2016 年在谷歌咖啡馆的午餐时,Uszkoreit 听到 Illia Polosukhin 抱怨为搜索页面构建直接答案的团队,它必须在毫秒内返回结果但没有成功。Uszkoreit 的建议是自注意力。Polosukhin 有时与 Ashish Vaswani 合作,后者从南加州大学机器翻译博士学位来到 Google Brain,正在寻找一个大问题。Vaswani 的大楼就在 Polosukhin 旁边。他听说了这个想法并加入了。
他们三人写了一份设计文档。标题中的名字一开始就选定了,理论是这个机制转换了通过它的信息,也因为 Uszkoreit 小时候拥有过两个变形金刚玩具。文档以他们六个在山里互相射激光的画结尾。开场句告诉读者作者们很棒。
Niki Parmar 从谷歌搜索加入,她一直在那里与 Uszkoreit 构建模型变体。Llion Jones 从同事 Mat Kelcey 那里听说了自注意力并加入;Kelcey 后来听取了项目简报,告诉 Jones 他怀疑它会起作用,现在将此描述为他一生中最不正确的预测。Łukasz Kaiser 从 Google Brain 关于语言模型的单独努力到来,带着他的实习生 Aidan Gomez,一个本科生,通过谈话进入了为博士生保留的职位,几个月内都不会发现这一点。Kaiser 和 Gomez 决定将他们的项目合并到另一个项目中。
Polosukhin 在 2017 年初离开谷歌创办自己的公司,这就是为什么论文的署名栏没有他的隶属关系。
然后小组撞上了墙。他们构建了一个自注意力翻译模型,根据标准基准测量它,发现它大致与当时最好的 LSTM 系统持平。持平。不是领先。一个丢弃领域积累的先验并返回平价的激进架构不是结果。这是留在原地的昂贵方式。
墙倒塌是因为一个人走过一扇门。
Noam Shazeer 自 2000 年以来一直在谷歌,并且有追溯到公司早期广告系统的声誉。他在深度学习上花了五年时间,对语言模型产生了兴趣,在他看来,语言模型远未达到他认为可以实现的流畅性。走过 1965 号楼的走廊,他路过 Kaiser 的工作区,无意中听到 Vaswani 和 Parmar 激烈地谈论自注意力。他觉得循环网络很烦人。替换它们的提议在他看来既正确又有趣。
Uszkoreit 对 Shazeer 贡献的说法值得仔细陈述,因为它描述了领域很少谈论的东西。在理论上合理的机制,他说,往往需要少数有经验的人非常仔细的实现,才能显示出任何工作迹象。Shazeer 没有调试团队的代码。他读了这个想法,从头开始写了自己的实现,偶尔与 Kaiser 核实,消失了一段时间,然后带着一个有效的版本回来。他的同事用魔法和炼金术这样的词描述他所做的。Jones 简单地称他为巫师。
Shazeer 添加的具体东西是本系列接下来三篇文章的主题。论文的学分脚注将缩放点积注意力、多头注意力和无参数位置表示分配给他,这些是第 2、3 和 4 部分的锚文本。一个人,在冲刺中,产生了本系列拆解的四个组件中的三个。
赌注实际是什么
摘要用一句话陈述了立场。作者提出了一种仅基于注意力机制的新简单网络架构,完全放弃了循环和卷积。
那里起作用的词是完全。
移除循环
移除循环本身并不是激进的部分。其他人也在尝试。论文第 2 节列举了它们:Extended Neural GPU、ByteNet 和 ConvS2S,它们都用卷积替代循环来并行计算所有位置的表征。作者承认,减少顺序计算这一目标本身就是那些工作的基础。
但卷积是以代价换来了并行性,论文对这个代价有精确描述。在这些模型中,关联任意两个位置所需的操作数随距离增长:ConvS2S 是线性增长,ByteNet 是对数增长。仍然不是免费的。长句子两端的两个词连接起来仍然很昂贵,论文引用了标准结论:更长的路径使长程依赖更难学习。
自注意力把这个问题压缩到常数级。任意位置到任意其他位置,一步,无论距离多远。表 1 将三种层类型并排展示,重要的那一列是最大路径长度:循环是 n 阶,卷积是 log n 阶,自注意力是 1 阶。
这就是那个赌注。不是说注意力有用——这一点业界已经相信。赌注在于常数路径长度的价值大到可以抛弃业界积累的所有其他结构先验,仍然能胜出。
论文没有隐藏它放弃了什么。在常数操作量声明之后两句话,就有一个承认,这在后来的总结中很少被保留:常数代价是以降低有效分辨率为代价的,因为注意力对加权位置求平均。多头注意力的存在就是为了抵消这一点。论文在第二页就告诉你,它的核心机制会造成模糊,而它最受赞誉的组件之一其实是个补丁。第 3 部分会回到这个问题。
还有第二个代价,写在表 1 中并在第 4 节中辩护,论文将其视为合理的权衡,而接下来十年将其视为 AI 基础设施的核心问题。自注意力每层的复杂度是 n 平方乘以 d。论文的辩护是,对于翻译中句子长度的输入,n 通常小于 d,这在 2017 年是真的,但当有人想喂给模型一本书时就不再成立了。第 7 部分会收取这笔账。
十二小时
截止日期是 5 月 19 日,为 12 月的会议投稿。最后两周在 1965 号楼度过,部分因为团队有些人在那里有桌子,部分因为那里的意式浓缩咖啡机比 1945 号楼的好。实习生 Gomez 描述了一段持续调试的时期,没人睡多少觉,系统性地移除组件看模型没有它们是否还能工作。现在被称为 Transformer 的东西大部分是那个过程的残留:那些无法被移除的部分。
然后数字出来了。
基础模型在单台机器上用 8 块 NVIDIA P100 GPU 训练了 10 万步。挂钟时间 12 小时。这个模型超过了所有此前发表的英译德模型和集成。大模型在同样的 8 GPU 机器上训练了三天半,达到 28.4 BLEU,超过此前最好结果(包括集成)整整两个点以上。Uszkoreit 开了一瓶他一直放在山地探险卡车里的香槟庆祝。
现在看表 2,论文中最安静也最有杀伤力的表。它列出了浮点运算的训练成本。当时竞争性的集成系统在 1.1×10²¹ 到 7.7×10¹⁹ 之间。Transformer 大模型是 2.3×10¹⁹,基础模型比这还低一个数量级。新的最优结果是由表中最便宜的系统创造的。
一个花了多年用规模换质量的领域,被展示了一个用结构换质量的模型。而且因为这个结构能干净地映射到并行硬件上,同样的架构后来会成为花费算力的理想载体,一旦有值得花费的算力。2017 年的结果读起来是个效率故事。回头看它是个披着效率故事外衣的容量故事。
论文提交时大约还剩两分钟。Parmar 说英译法的数字在提交前约五分钟到达,她坐在小厨房等最后一个数字。这或许解释了发表论文中至今仍存在的一个小不一致:摘要和表 2 报告英译法分数是 41.8,而第 6.1 节报告是 41.0。现代机器学习中最有影响力的论文包含一个自相矛盾的数字,因为实验在正文写完后才完成。
标题在截止前几个晚上定下来。威尔士人 Jones 指出,团队拒绝了业界公认的做法而选择单一技术,而披头士已经为他们写好了那句话。他说这个想法花了大约五秒,他没想到会有人用它。
他们用了。
回到猴子
Transformer 为每个位置计算的是对所有其他位置的加权和,权重由 softmax 产生。softmax 不只是排序。它压制。提高一个分数,分布中所有其他分数都会下降,因为总和被固定为 1。架构核心的这个机制是竞争性的,它的输出由它驱向零的东西和它提升的东西共同定义。
这正是 Moran 和 Desimone 在 V4 神经元中发现的,当两个物体在其感受野中时。这正是 James 描述的从某些事物撤退以有效处理其他事物。
声称 2017 年的作者在实现 James 会太过分。他们不是。查询、键和值来自信息检索而非心理学,第 2 部分会正确追溯那个谱系。但他们选择的词也不是偶然,这个领域已经打磨了背后的概念一个世纪。当 Anne Treisman 和 Garry Gelade 在 1980 年发表特征整合理论时,他们论证特征在早期并行登记,注意力是将它们绑定成物体的操作。并行登记,然后选择性绑定。这是对 Transformer 层的描述,由研究人类视觉的人在三十七年前写下。
这种趋同是关于智能的真实事实还是词汇的偶然,是本系列最后的问题。第 8 部分会尝试回答。
不过有个更好的结尾,发生在 2017 年 12 月的会议海报展示环节。房间满了四个小时。保安最后不得不清场。那天晚上某个时刻,一个男人走到海报前告诉作者们他对这项工作印象深刻,那个人是 Sepp Hochreiter。
Hochreiter 共同发明了长短期记忆网络。他来祝贺刚刚让它过时的人们。
赌注。循环对序列建模不是必需的。完全建立在注意力之上的架构,没有任何循环或卷积层,可以匹配并超越最优水平,任意两个位置间的常数路径长度比所有被抛弃的结构先验更有价值。
回报。赢了,而且比作者预期的更快。大约两年内这个架构就在自然语言处理中取代了循环模型。此后构建的前沿语言模型都是它的后代。论文在结论中自己声明的雄心是将这个方法扩展到其他模态并让生成不那么顺序化。它得到了一个产业。
状态。已结算,有一个星号。这个赌注是在论文明确做出并为 2017 年正确定价的权衡上赢的:用序列长度的二次代价换常数路径长度。今天 AI 中所有长上下文问题都是那个权衡的利息支付。第 7 部分会收取它。
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News













