BRAIN / BRAIN × AI20 SEP 2026
脑科学与AI86|复习 Transformer:大模型的底座,拆成五个零件
小明哥转来一篇拆解 Transformer 的长文。这个系列谈大模型谈了很多次,却一直没有一篇专门把它的内部零件拆开讲。这一篇补上,当作以后读相关文章时的底图。
Transformer 做的事只有一件:让句子里的每个词,直接去问其他所有词"你跟我有多相关",再按相关程度把别人的信息拿过来。它扔掉了"一个词一个词往下读"的老办法,所以能把整句话一次性交给几千块显卡同时算。它强,主要强在这里;它贵,也贵在这里——每个词都要和每个词比一遍,文本长一倍,计算量大约涨四倍。
2017 01 《注意力就是你所需要的一切》 |
8个头 02 原论文基础版 |
平方 03 计算随长度增长 |
一排排书架。注意力的比喻就从这里来:拿着你要找的东西,去和每本书的书脊比对,越对得上的书越重视。图片来源:Erik Mclean / Pexels
Transformer 的三个关键零件,以及它们在大脑里大致对应的东西。右栏只是类比,用来帮助记忆。
BRAIN / 01
一、它要解决的老问题
在 Transformer 之前,处理语言的主流办法叫循环神经网络:像人读书一样,一个词一个词往下读,读一个就更新一次"记忆"。它有三个毛病:
—没法并行:第 5 个词要等第 4 个词算完,再多显卡也只能排队。—前面的会忘:信息一步步往后传,每传一步都损耗一点,句子一长,开头的词就淡了。—记忆是个固定大小的盒子:整句话都要压进同一个大小的"记忆"里,句子越长越装不下。
2017 年,谷歌团队发表了《注意力就是你所需要的一切》,干脆把"一个词一个词读"扔掉了。
BRAIN / 02
二、零件一:注意力(查询、标签、内容)
原文的比喻很好:去图书馆找资料。
每个词都同时扮演这三种角色。轮到某个词时,它拿自己的"查询"去和所有词的"标签"比对,越相似分数越高;分数换算成比例,再按比例把各个词的"内容"加起来。于是每个词都得到一个吸收了全句信息的新表示。
例如处理"它"的时候,模型会把注意力集中到"它"指代的那个名词上。谁该看谁,没有人写规则,全是训练出来的。
和大脑对照:第 58 篇讲过,大脑找记忆不用地址,闻到一点味道,整段往事就回来了——靠的是"内容相似"去取,而不是"第几号抽屉"。注意力也是按内容相似去取,这两者是同一类思路。不同的是,海马会把残缺的线索补全成一段完整的记忆,注意力只是按比例混合。
BRAIN / 03
三、零件二:多头(分头看)
一句话里同时有很多种关系:语法上谁修饰谁,指代上"它"是谁,意思上哪些词相近。只用一套注意力,容易顾此失彼。
原论文的做法是把表示切成 8 份,叫 8 个"头",每个头各看各的,最后再拼起来。原论文做过对比:只用 1 个头,翻译成绩比最好的设置低 0.9 分(BLEU,一种翻译评分);头太多也会变差。
BRAIN / 04
四、零件三:位置编码(补上词序)
注意力有个天生的毛病:它不管顺序。"猫追老鼠"和"老鼠追猫",用的是同一批词,纯注意力分不出谁追谁。
所以要额外给每个位置贴一个"位置标签"。原论文用正弦、余弦函数生成一组波纹,叠加到每个词上;后来的大模型多改用"旋转位置编码"等办法。位置编码做得好不好,直接决定模型能处理多长的文本。
BRAIN / 05
五、零件四:前馈网络(每个词单独加工)
注意力负责词和词之间交流;交流完,每个词再单独过一个两层的小网络加工。这个小网络中间那层特别宽(原论文是 4 倍),占了模型参数的大头,通常被认为是存放"知识"的主要地方。
外面还套着两样保证深网络训得动的配件:一条"捷径"把输入直接加回输出(残差),一个让数值保持稳定的"归一化"。
BRAIN / 06
六、零件五:编码器和解码器(三个家族)
原始 Transformer 分两半:左边编码器读懂输入,右边解码器一个词一个词写出结果。拆开重组,就长出三个家族:
—只用编码器(代表 BERT):前后文都能看,擅长理解、分类、检索。—只用解码器(代表 GPT 系列):只能看前面,专门"预测下一个词"。今天主流的大模型几乎都走这条路,因为目标简单、最容易靠堆规模变强。—两半都用(代表 T5):擅长翻译、摘要这类"把一种东西转成另一种"的任务。
BRAIN / 07
七、训练便宜在哪,用起来贵在哪
—训练时:整句话一次喂进去,每个位置同时预测下一个词(加了遮挡,不许偷看后面),所以能把显卡用满。原论文的基础版只有约 6500 万参数,8 块显卡训练 12 小时;大号版约 2.13 亿参数,训练 3.5 天。—使用时:只能一个词一个词往外吐,每吐一个都要回头看前面所有的词。为了不重复计算,要把前面算过的"标签"和"内容"存起来(叫键值缓存)。文本越长,这份缓存越大,这就是长对话吃显存的主要原因。—长文本的双重难处:一是计算量随长度的平方增长;二是超过训练时见过的长度,位置编码会失灵。
BRAIN / 08
八、原文要更正的地方
—"八位作者来自谷歌"不完全准确:七位在谷歌大脑或谷歌研究院,一位(艾丹·戈麦斯)署的是多伦多大学,论文注明他的工作是在谷歌大脑完成的。—"位置编码可以外推到更长的序列"说过头了:原论文的原话是"可能"允许外推,是一个猜想。原文后面自己也写了:超出训练长度,效果会断崖式下跌。前后矛盾,以后者为准。—"它只是统计关联,没有世界模型、不是真的理解"是观点,不是定论:模型内部有没有某种世界模型,学界还在争,已有研究在模型内部找到过棋盘状态之类的表示。第 82 篇讲过同类问题:这件事要靠独立证据判断,正反两边都不能直接下结论。—"单头明显更差"要配上数字:差 0.9 分。有差别,但没有原文说得那么悬殊。
BRAIN / 09
九、对照大脑
—都是按内容取信息:注意力和海马都靠"像不像"去取,而不是靠地址(第 58 篇)。—大脑有回头调节,Transformer 基本是单向的:第 83 篇讲过,新皮层第 6 层会回头调节丘脑,决定下一刻放什么信号进来。Transformer 是一次输入、一路往上算到输出,中途不回头改输入。—Transformer 赢,一半靠聪明,一半靠配显卡:第 50 篇讲过"硬件彩票"。它把语言变成了可以大规模并行的矩阵乘法,正好撞上显卡最擅长的事。
BRAIN / 10
十、自测:合上文章回答
—循环神经网络有哪三个毛病?Transformer 是怎么绕开的?—用图书馆打比方,注意力里的"查询、标签、内容"各是什么?—只用编码器和只用解码器的模型,各擅长什么?今天的大模型为什么多选后者?
BRAIN / 11
十一、三行,留着复习
```
核心一招 每个词拿"查询"去比所有词的"标签",按相关度取"内容";扔掉逐词读,所以能大规模并行
五个零件 注意力、多头、位置编码、前馈网络、编码器/解码器;今天的大模型多是只用解码器、预测下一个词
贵在哪里 使用时逐词生成,要存键值缓存;计算随长度平方增长,超出训练长度位置编码会失灵
```