跳到主内容

什么是 Transformer 架构?它为什么改变了 AI

2026-10-06 发布 来源:我告诉你AI导航 阅读

2017 年那篇论文把逐词循环换成全局查表,主流大模型此后都长在这副骨架上。理解 Transformer 只需三问:注意力算什么、并行从哪借来、代价是什么。

2017 年那篇论文把逐词循环换成全局查表,主流大模型此后都长在这副骨架上。理解 Transformer 只需三问:注意力算什么、并行从哪借来、代价是什么。

循环网络读句子像用手指着字读:读到第 3 个词,手里只有一个被反复覆盖的记忆,前面写了什么全看它还留着多少。句子一长,早期信息被冲淡,指代最先出错。Transformer 把这条流水线拆了,每个位置直接和所有位置比对一次,任意两词的连接只有一层,相隔 3 个词和 300 个词一样近。

注意力是一次带权重的检索

类比查字典,但检索词、索引和释义都由模型自己算。每个词的向量投影成三份:查询 Q 是我想找什么,键 K 是我能提供什么线索,值 V 是被选中后交出什么内容。算法三步:查询与每个键做点积得分;除以维度平方根,避免维度高时数值过大;归一成权重后对所有值加权求和。输出即该位置的新表示。

「小明把书递给小红,因为她要复习」里,处理「她」时查询分别和三个名词的键打分,「小红」得分高,权重压过去,表示里就混入了小红的信息。没有规则表,权重全靠训练,按比例分配,所以能同时表达「主要指小红、稍带复习」。

并行是从矩阵乘法里借来的

训练时整句堆成矩阵,Q、K、V 是三次矩阵乘法,分数是一张 n×n 矩阵,softmax 按行做,整段序列一次算完。循环网络做不到:第 t 步必须等第 t-1 步,硬件再宽也只能排队。

并行换来的是吞吐,不是更聪明的模型:训练时间被压到可接受,「加数据、加深层」才走得通。但训练并行,推理不并行,生成式模型逐个 token 往外吐,靠 KV 缓存存下算过的键和值,串行节奏改不掉。

和循环网络的差别不只在速度

速度只是表面。更本质的是信息路径与归纳偏置:循环结构把顺序写进骨架,天生知道谁在前;Transformer 把顺序丢了,必须额外注入位置信息,否则「狗咬人」和「人咬狗」是一袋同样的词。

位置可以是正弦函数、可学习向量或旋转位置编码,后者支持比训练更长的序列。结构不绑定顺序,同一套模块就能吃文本、代码、音频帧和图像块。循环结构也没退场:流式语音、超长日志上,状态固定、每步计算恒定的模型更合适。

对比维度循环网络Transformer实际影响
信息通路相邻位置逐步传递,越远衰减越多任意两位置一层直达长文档里的指代和约束更容易保住
训练并行按时间步串行,硬件利用率低整段序列一次矩阵运算同等算力能喂更多数据
计算复杂度随长度线性增长随长度平方增长上下文拉长时算力和显存先撑不住
流式推理状态固定,可边来边算要缓存历史键值,显存随对话增长长会话成本随时间累积

多头与堆叠各自加的是什么

一个头只能学一种相关性口径。多头让同一层并行跑几组投影,各自在自己的子空间里打分:有的盯指代,有的盯动宾搭配,有的盯相邻位置。各头输出拼接后再线性变换,融合成一个表示。头数并非越多越好,单头维度太小反而降表达力。

堆叠解决抽象层次。块内注意力在位置之间搬运信息,前馈网络在单个位置上做变换,两者都套残差和归一化,深层才训得动。按常见配置,前馈层参数约是注意力的两倍。

编码器与解码器怎么分工

原始结构是编码器加解码器。编码器看得到整句,双向建模,把输入压成一组带上下文的表示;解码器只允许看已生成的部分,再通过交叉注意力读编码器的输出。翻译、语音识别用这个形态。

后来分出两条路:只留编码器的擅长理解,分类、抽取、句向量检索都归它;只留解码器的擅长生成,把预测下一个 token 当唯一目标,对话、写作、代码补全都在这里。今天多数聊天大模型是解码器结构,要表示还是要续写,决定选哪条路。

平方复杂度与三笔账

注意力要给每两个位置算一次分数,长度翻倍,分数矩阵变四倍。上下文从 8K 拉到 128K,配对数涨 256 倍;分块计算和低精度能压常数,压不掉趋势。

第二笔是显存。推理时每个 token 的键和值都要留着,缓存随层数、头数、序列长度和精度增长,对话越长、并发越高越先撞上限。很多服务限制上下文,卡的是这块缓存。

第三笔是有效注意力。上下文越满,单个 token 的权重越薄,中间位置的证据容易被跳过:softmax 分母变大,份额变小。

训练侧还有稳定性成本:层数深、学习率大时前几千步容易发散,需要预热把参数带进可训练区间,做法见学习率预热;算力账常用FLOPS 衡量,一次训练的总运算量与参数量、token 数大致成正比。

它不适合的场合

样本很少的任务,它不如专门设计的小模型:参数多、归纳偏置弱,几百条数据训不出稳定结果。

严格符号推理是弱项。模型算的是向量相似度,多位数乘法、精确计数、长链条逻辑容易断,交给外部计算工具更实际。

硬实时和超长流式也不占优。每生成一个 token 都要过全部层,延迟压不下去;序列长到几十万 token,平方复杂度把成本推到不可接受。

可解释性常被高估。注意力权重看着像「模型在看哪里」,但它只是某一层的中间量,多层多头叠加后,权重高不等于因果重要。评能力还是得靠任务测试,可参照多步任务评测。

Transformer 速查

  • 进来是词向量序列,出去是同长度的上下文表示
  • 每个位置用 Q 查所有位置的 K,softmax 加权取 V
  • 并行只在训练,推理逐 token,靠 KV 缓存省重算
  • 多头管多种关系,堆叠管多层抽象
  • 代价是平方级计算与随上下文增长的显存

它改变 AI 的地方,是把顺序从结构里拿掉,换成可学习的相关性:训练吃得下更多数据,同一套模块跨过文本、代码和图像。天花板也来自这里,相关性要两两计算,上下文越长,账越贵。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]