梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
大模型的核心组件注意力机制,究竟如何诞生的?
可能已经有人知道,它并非2017年Transformer开山论文《Attention is all you need》首创,而是来自2014年Bengio实验室的另一篇论文。
现在,这项研究背后更多细节被公开了!来自Karpathy与真正作者两年前的邮件往来,引起了很多讨论。
到现在已有整10年历史。
一作Dzmitry Bahdanau,当时是Bengio实验室的一位实习生,在实习只剩5周时灵光一现提出了一个简化方案,相当于实现了对角注意力。
Pytorch等经典代码中,正是把注意力称为Bahdanau Attention,还保留着他贡献的痕迹。
Karpathy之所以现在提起这段往事,是因为最近社区中流传着一些误解,认为Transformer作者受到科幻电影《降临》中外星人交流方式的启发。
但其实Transformer作者中的Illia Polosukhin只是很久以后接受采访时用《降临》来类比。
真正2014年Attention机制的灵感,其实来自人类翻译文字过程中来回看材料的行为。
除了澄清这一点之外,这段真实故事中还有更多亮点,对今天的研究仍有很多启发。
2014年的Attention,与同期Alex Graves论文Neural Turing Machines,和Jason Weston论文Memory Networks有类似之处,但这些研究出发点和动机不同。
说明在技术积累的临界点上,不同研究者常会独立地提出相似的创新。
原本的名字“RNNSearch”不够直观,后来在Yoshua Bengio的建议下改为“注意力”,更能抓住核心概念。
原来起个好名字,真的可以提升技术的传播和影响力。
有网友看过这个故事之后,感叹这封邮件“应该放在计算机科学博物馆”。
给这些改变世界的发现几乎总是从实验开始的,而且没有人真正提前知道它们的结局。
以下为Dzmitry Bahdanau发给Karpathy的原始邮件全文翻译,邮件写于2022年。
10年前,Attention真正的诞生
嗨,Andrej。
很高兴为您讲述8年前发生的故事!
我在Jakobs University(德国雅各布大学)跟随Herbert Jaeger完成了硕士一年级的学业后,来到Yoshua(图灵奖得主Yoshua Bengio)的实验室实习。
我向Yoshua表示我愿意从事任何工作,他便让我参与机器翻译项目,与Kyunghyun Cho及团队展开合作。
我对将一系列单词塞进向量的想法非常怀疑,但我也真的很想要一个博士学位的offer,所以我卷起袖子,开始做我擅长的事情——编写代码、修复Bug等等。
在某个时候,我对团队正在进行的工作有了足够的了解,Yoshua邀请我攻读博士学位。2014年是个好时代,只需这些工作就足以让我读博了——美好的旧时光!
我很高兴,我觉得是时候享受乐趣并发挥创造力了。
于是我开始思考如何避免Encoder-Decoder RNN之间的信息瓶颈。
我的第一个想法是建立一个带有两个“光标”的模型:一个在源序列中移动,由BiRNN编码;另一个在目标序列中移动。光标轨迹将使用动态规划边际化。
Kyunghyun Cho认为这相当于Alex Graves的RNN Transducer模型。之后,我可能也读了Graves的手写识别论文,但这种方法对于机器翻译来说似乎不太合适。
上述带有光标的方法在我实习的剩余5周内很难实现,所以我尝试了更简单的方法——两个光标同时同步移动,实际上相当于硬编码的对角注意力。
这种方法有点效果,但缺乏优雅。
所以有一天我有了新的想法,让Decorder RNN学会在源序列中搜索放置光标的位置。这在一定程度上受到了我中学英语学习中翻译练习的启发。
在翻译时,你的目光会在源序列和目标序列之间来回移动,我将软搜索表示为softmax,然后对BiRNN 状态进行加权平均。从第一次尝试就效果很好,我非常兴奋。
我将这个架构称为RNNSearch,在1个GPU上运行。由于我们知道谷歌的Ilya(OpenAI前首席科学家Ilya Sutskever)团队使用8个GPU的LSTM模型在某些方面领先于我们,所以我们赶紧在ArXiV上发表了一篇论文。
后来发现,这个名字并不好。更好的名字(注意力)是Yoshua在最后的一次修改中添加到结论中的。
直观地说,这在解码器中实现了一种注意力机制,解码器决定源语句的哪些部分需要关注。通过让解码器具有注意力机制,我们减轻了编码器将源语句中的所有信息编码为固定长度向量的负担。通过这种新方法,信息可以分布在整个注释序列中,解码器可以相应地有选择地检索。
一个半月后,我们看到了Alex Graves的论文。确实是完全相同的想法,尽管他的动机完全不同。
在我们这边,发明新算法是需求驱动的。我猜在他那边,是连接神经学派和符号学派的雄心?Jason Weston团队的Memory Networks论文也有类似的机制。
我没有预见到注意力可以在更低的层次上使用,作为表示学习的核心算法。
但当我看到Transformer论文时,我立即向实验室的同事宣布:RNN已死。
回到您最初的问题:在蒙特利尔Yoshua的实验室中“可微且数据依赖的加权平均”的发明与神经图灵机、Memory Networks以及90年代(甚至 70 年代;但我无法提供链接)的一些相关认知科学论文无关。
这是Yoshua推动实验室追求雄心壮志的领导成果,Kyunghyun Cho在管理由初级博士生和实习生组成的大型机器翻译项目方面的出色技能,以及我自己多年来在编程竞赛中磨练出的创造力和编程技能的结果。
即使我自己、Alex Graves和这个故事中的其他角色当时没有从事深度学习工作,离这个想法出现也不会太远了。
注意力只是深度学习中实现灵活空间连接的自然方式,这几乎是一个显而易见的想法,一直在等待GPU足够快,让人们有动力并认真对待深度学习研究。
自从我意识到这一点,我对AI的大志向就是启动像机器翻译那样令人惊叹的应用项目。
良好的研发工作可以为基础技术的进步做出更多贡献,而不是我们通常认为“真正的”人工智能研究的所有花哨的理论。
就酱!非常好奇听到更多关于您的AI教育项目的消息(我从 Harm de Vries 那里听到了一些传闻)。
干杯,
Dima
One More Thing
Karpathy感叹,有点惊讶这篇真正的注意力起源论文没有获得足够多的关注。
自从Attention is all you need一飞冲天之后,大家意识到给论文起一个好名字对技术传播的影响,后面的论文标题就放飞了。
除了扎堆模仿xx is all you need之外,最近甚至还出现了Taylor Unswift。
讲的是把模型权重转换成泰勒级数的参数,来保护已发布模型的所有权并防止被滥用。
就,emmm……
提到的论文:
Neural Machine Translation by Jointly Learning to Align and Translate
https://arxiv.org/abs/1409.0473
Attention is All You Need
https://arxiv.org/abs/1706.03762
Neural Turing Machines
https://arxiv.org/abs/1410.5401
Generating Sequences With Recurrent Neural Networks
https://arxiv.org/abs/1308.0850
Memory Networks
https://arxiv.org/abs/1410.3916
Sequence to Sequence Learning with Neural Networks
https://arxiv.org/abs/1409.3215
Taylor Unswift:
https://arxiv.org/abs/2410.05331
参考链接:
[1]https://x.com/karpathy/status/1864028921664319735