- 阶段一 · 地基:P01《Attention Is All You Need》 · P02 Bahdanau Attention · 本篇 · P03 seq2seq · P04 word2vec
- 阶段二 · 预训练范式:P05 BERT · P06 GPT-1 · P07 GPT-2 · P08 GPT-3 · P09 T5
- 阶段三 · 规模与效率:P10 Scaling Laws · P11 Chinchilla · P12 LoRA · P13 FlashAttention · P14 MoE
- 阶段四 · 对齐与推理:P15 InstructGPT(RLHF)· P16 思维链 CoT · P17 DPO · P18 Constitutional AI
- 阶段五 · 检索与 Agent:P19 RAG · P20 ReAct · P21 Toolformer
📩 回复「AI圣经02」,领取本篇论文 PDF。
太长不读上一篇我们讲了 Transformer——口号是「注意力,就是你需要的全部」。但「注意力」这个想法并不是 Transformer 发明的。它出生在更早的 2014 年,出自 Bahdanau、Cho、Bengio 的一篇翻译论文,当时还只是挂在老式神经网络上的一个小补丁。这篇讲清:注意力到底为解决什么问题被想出来、它的「软对齐」是怎么回事。读完你能拿到一条清晰的历史线——注意力如何从一个翻译补丁,长成今天所有大模型的地基。
上篇回顾 · 先答一题AI圣经01 拆的是《Attention Is All You Need》:Transformer 扔掉「一个词一个词排队」的老办法,让一句话里每个词同时互相看一眼(还记得那个「查资料」比方吗——Query 带问题去问、Key 是标签、Value 是内容)。小问:Transformer 最大的本事是「任意两个词一步直连」,那它扔掉的那个排队的老东西叫什么?答案就在本篇——它正是今天的主角的「母体」。
关于这篇论文《Neural Machine Translation by Jointly Learning to Align and Translate》,2014 年 9 月提交、2015 年发表于深度学习顶会 ICLR。作者是 Dzmitry Bahdanau、Kyunghyun Cho,以及深度学习三巨头之一、2018 年图灵奖得主 Yoshua Bengio。它第一次把「注意力」用进神经机器翻译,比《Attention Is All You Need》早了约 3 年。
01先说那个「死结」:把一整句话,压进一个向量
2014 年,机器翻译刚开始用神经网络,主流做法叫 seq2seq(序列到序列),结构是「编码器—解码器」两段:编码器先把整句原文从头读到尾、压成一个固定长度的向量(理解成「把一整段话总结成一张固定大小的便签」);解码器再拿着这张便签,一个词一个词写出译文。
问题就出在那张「便签」上。无论原文是 5 个词还是 50 个词,都得塞进同样大小的一个向量。短句还行,句子一长,便签就写不下了——前面的信息被后面挤掉,翻译质量断崖式下跌。论文把这个痛点点得很重:固定长度向量,是这套老办法的瓶颈。
02Bahdanau 的点子:每写一个词,就回头看一遍原文
三个作者的想法很朴素,甚至有点「偷懒」:既然压成一个便签会丢信息,那就别压了。让解码器在写每一个译文词时,回头重新看一遍原文的所有词,并且自己决定这一下该重点看哪几个。
举个例子,把法语「la maison」翻成英语「the house」:写「the」时,注意力主要放在「la」上;写「house」时,注意力挪到「maison」上。模型不再依赖那张被压扁的便签,而是每一步都按需去原文里取料——原文有多长,它就能看多长,瓶颈没了。
03「软对齐」:注意力的雏形,其实就三步
作者给这套机制起的名字叫 alignment(对齐)——让译文词和原文词「对上号」。关键在于它是「软」的:不是硬规定「the 只能看 la」,而是给原文每一个词都算一个权重(加起来等于 100% 的占比),再加权汇总。写「the」时,「la」的权重也许 0.9,其它词分掉剩下的 0.1。
这三步,读过上一篇会觉得眼熟:① 算相关度(现写的位置去和原文每个词比一比)→ ② 归一成权重(softmax,凑成 100%)→ ③ 加权取料。没错,这就是后来 Transformer 里 Query / Key / Value 的最初版本。
区别只在于:2014 年这套机制还黏在一个双向 RNN 上(一种一个词一个词顺序处理的老网络),是它的「配件」;要再等三年,2017 年 Transformer 才把 RNN 整个扔掉、让注意力独立成网、唱主角。而且漂亮的是:这套对齐不需要人工标注哪个词对哪个词,权重是模型自己在训练里学出来的。
04它真的管用吗:长句不再崩
空说没用,论文拿数据说话。作者把「带注意力的新模型」(论文里叫 RNNsearch)和「老的固定向量模型」(RNNencdec)放一起比,用 BLEU 分(翻译质量自动评分,越高越好)衡量。结论很干脆:老模型的质量随句子变长一路下滑;带注意力的新模型几乎不受句长影响,长句也稳得住。
作者还把模型「在看哪」画了出来——一张注意力热力图:横轴原文、纵轴译文,越亮代表对齐越强。图上能看到一条大致的对角线(语序相近的部分一一对上),还有局部交叉(法语和英语形容词、名词顺序不同处,注意力会「拐个弯」对上)。这是第一次,人们能直接看见模型把哪个词对到了哪个词。
05历史定位:注意力的「三级跳」
把镜头拉远,这篇 2014 年的论文站在一条清晰的线上:2014 出生——注意力作为补丁挂在 RNN 上,治「固定向量瓶颈」;2017 封神——Transformer 说「注意力就够了」,扔掉 RNN,注意力独立成网(上一篇的主角);今天地基——GPT、Claude、文心、通义,内核都是这套注意力。
有意思的是,当年的解药,正在变成今天的新约束。注意力为了「看全原文」,要让每个词都去看其它所有词——这件事到了超长文本上,成本会随长度平方级膨胀。这正是你今天能直接感受到的两件事:大模型长上下文又贵又慢,而且喂太长还会「读到中间走神」(注意力对开头结尾更上心,中间容易被忽略)。一部 AI 技术史,常常就是这样用新瓶颈换旧瓶颈地往前走。
✎读完自测:先别往下翻,试着答
主动回忆一遍才记得住(这点「小难度」是故意的)。三问,想好再看答案:
- 1. 老 seq2seq 的「死结」是什么?
- 2. Bahdanau 的注意力,一句话说它干了什么?
- 3. 「软对齐」的「软」体现在哪?
答案1. 把整句原文压进一个固定长度的向量,句子一长就装不下、信息丢失。2. 解码器每写一个译文词,就回头看一遍原文所有词、按需取料,不再依赖那个被压扁的向量。3. 不是硬性「一对一」,而是给原文每个词算一个连续权重(加起来 100%)再加权汇总,且权重是模型自己学出来的、无需人工标注。
→一句话带走,和下一步
只记一句:Bahdanau 在 2014 年,为了翻译长句子,让模型「逐词回看原文、按相关度取料」——这就是注意力的出生。三年后 Transformer 把它扶正成主角,于是有了今天的大模型。现在你可以把「注意力是怎么来的」讲给任何一个好奇的朋友了。
想再深入一点最好的可视化讲解是 Jay Alammar 的《Visualizing A Neural Machine Translation Model》(专讲 Bahdanau 这套注意力,全程动图,搜标题即得)。想顺历史线往下走,下一篇 AI圣经03 我们回到注意力的「母体」——seq2seq 本身,看「编码器—解码器」这个沿用至今的骨架是怎么来的。
你最早是从哪个产品意识到「机器翻译突然变好了」的?评论区聊聊。