前馈网络是 Transformer 中存储大部分知识的地方。注意力获得了所有的关注,但 FFN 层包含了模型的大多数参数(通常占总参数的 2/3),是事实关联、语言模式和学习计算主要存储的地方。理解这一点有助于解释知识编辑和模型剪枝等现象。
标准 FFN:FFN(x) = W2 · activation(W1 · x + b1) + b2,其中 W1 从模型维度投影到更大的中间维度(通常为 4 倍),激活函数引入非线性,W2 投影回模型维度。每个位置(token)独立通过该网络——FFN 看不到其他 token,只有注意力层才能。
现代 LLM(LLaMA、Mistral 等)使用 SwiGLU 替代标准 FFN:SwiGLU(x) = (W1 · x · SiLU) ⊗ (W3 · x)。这增加了第三个权重矩阵(W3)和一个门控机制,让网络控制哪些信息通过。尽管增加了额外参数,在同等计算量下表现更好,因此中间维度会相应调小以补偿。这是一个稍微复杂的组件改进整个系统的案例。
研究表明 FFN 层的功能类似键值存储:第一个线性层(W1)检测输入中的模式(键),第二个线性层(W2)将这些模式映射到输出更新(值)。"埃菲尔铁塔在"会激活 W1 中的特定神经元,通过 W2 促进 token"巴黎"的生成。这种键值解释说明了为什么 FFN 层存储事实知识,以及为什么知识编辑技术可以通过更新特定的 FFN 权重来修改特定事实。