用于对照当前变化。
Transformer Block 结构
理解 Q、K、V 还不够,因为真实模型不是只做一次注意力就结束。一个 Transformer Block 会把 LayerNorm、Self-Attention、Residual Add、FFN 再串起来,让每个 token 既能吸收上下文,又不会把原始信息轻易冲掉。
看清整条流水线
追踪单个 token 的变化
理解残差和 FFN 的意义
把一个 Block 当成一条可追踪流水线
点击下方任一阶段,再切换要追踪的 token。页面会展示该阶段的整句矩阵,以及当前 token 在这一步前后是怎么变化的。这里使用的是教学版 Pre-Norm 结构,用来帮助建立稳定直觉。
当前这一步对整句表示做了什么。
先记一个整体图像: Attention 负责“跨 token 聚合上下文”,FFN 负责“在每个 token 内部再加工特征”,Residual 负责保留原信号并稳定训练,LayerNorm 负责让数值尺度更容易被后续层处理。
每个组件到底承担什么职责
LayerNorm
不是增加新知识,而是把每个 token 的内部数值范围整理一下。这样后面的注意力和 FFN 更容易在稳定尺度上继续计算。
Self-Attention
让当前 token 去看整句其他 token,把和自己最相关的上下文信息拉回来,形成上下文化表示。
Residual Add
不是多余重复,而是把“原始信号”和“新学到的变化量”保留在同一条通路上,避免深层网络越叠越难学。
FFN
虽然它不跨 token 交流,但会在每个 token 内部做更深的非线性变换,补足 Attention 只负责“看别人”的限制。
如果少了某一部分,会发生什么
没有 Residual
每层都只能依赖新算出来的结果,原信息很容易被不断覆盖,网络越深越难稳定训练。
没有 LayerNorm
数值尺度更容易漂移,导致训练过程更敏感,深层堆叠时尤其明显。
只有 Attention 没有 FFN
模型会很擅长“在 token 之间搬运信息”,但不擅长在每个 token 内部继续提炼更复杂特征。
只有 FFN 没有 Attention
每个 token 只能在自己体内打转,看不到句子里其他位置,自然也很难理解长距离关系。
一句话总结: 一个 Transformer Block 不是“注意力加个壳”,而是把跨 token 聚合、逐 token 变换、数值稳定和原信号保留四件事组合在了一起。