跳到主内容
快讯直播
AI智模界
AI 词典

Transformer 里最不起眼的那层,拿走了大部分参数

一句话定义:前馈网络(Feed-Forward Network,FFN)是 Transformer 每一层里紧跟在注意力后面的那个小模块——两个全连接层夹一个激活函数,对每个位置上的向量单独做一次非线性变换。它也常被叫做 MLP(Multi-Layer Perceptron,多层感知机),在 Transformer 的语境里两者基本指同一件事。

它长什么样

FFN 的结构简单到有点朴素:

x → 线性层(升维)→ 激活函数 → 线性层(降维)→ 输出

典型做法是先把维度放大若干倍(比如放大 4 倍),经过 ReLU、GELU 之类的激活函数,再压回原来的维度。这样做的理由是:高维空间里更容易把纠缠在一起的特征"摊开",非线性才有发挥空间。

打个比方

把 Transformer 的一层想成一个编辑部。

注意力(Attention)是"记者",负责到处打听消息——每个词看看句子里其他词,把相关的信息汇总过来。它干的是信息搬运:谁是主语,谁指代谁,谁修饰谁。

FFN 是"编辑",负责消化——记者带回来的素材它一个人埋头处理,不跟别的词交流,逐字逐词地把信息重新加工一遍。每个位置都是独立处理的,词与词之间在 FFN 里没有任何往来,这也是它和注意力的根本分工。

和注意力的区别

注意力(Attention)前馈网络(FFN)
跨位置交流有,每个词看所有词没有,各位置独立处理
主要作用信息路由、汇聚上下文特征变换、存储知识
参数占比约占每层三分之一到一半往往占每层一半以上

一个值得记住的事实:在大模型里,FFN 通常是参数量最大的部分。比如常见的"放大 4 倍再压回来",两个矩阵加起来,参数量就是注意力投影矩阵的好几倍。说"模型的大部分参数都堆在 FFN 里"并不夸张。

它为什么重要

近年一些可解释性研究发现,FFN 有点像模型内部的一个键值记忆库:第一层线性层负责"匹配模式",激活函数做筛选,第二层负责"取出对应的内容"。很多人认为事实性知识主要就存在这里——模型知道"法国的首都是巴黎",这份记忆大概率就藏在某几层的 FFN 权重里。这也解释了为什么剪掉一部分 FFN 神经元,模型会变差但不会立刻崩溃,而剪掉注意力往往伤得更重。

业界一些高效架构(如混合专家 MoE)的思路,也正是把 FFN 拆成多个专家、每次只激活少数几个,因为 FFN 才是参数量的大头,省它才省得动。

对从业者的实际意义

微调时,LoRA 之类的低秩适配通常优先插在注意力的投影矩阵上;但如果你要注入的是新知识、新事实,光调注意力往往不够,FFN 那两层才是更该动的地方。做推理优化时也要意识到,FFN 的矩阵乘法是算力消耗的主力之一,别只盯着注意力。

一句话收尾:注意力决定"信息怎么流动",FFN 决定"信息怎么被加工和记住"。前者出风头,后者扛参数。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。