跳到主内容

什么是前馈网络?Transformer 里那层做什么

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

提到 Transformer——当今 AI 大语言模型的骨架,注意力总是主角,但每一层里还有另一半结构:前馈网络(FFN)。注意力负责让不同位置之间交换信息,前馈网络对每个位置单独做一次深加工。它不显眼,却占着每层参数量的大头。这篇...

提到 Transformer——当今 AI 大语言模型的骨架,注意力总是主角,但每一层里还有另一半结构:前馈网络(FFN)。注意力负责让不同位置之间交换信息,前馈网络对每个位置单独做一次深加工。它不显眼,却占着每层参数量的大头。这篇把它的机制、为什么要先升维再降维、去掉它会怎样,一次讲清。

机制:逐 token 的两层变换

前馈网络由两个线性层夹一个非线性激活组成,逐 token 独立作用:把当前位置的表示先投影到一个更高的维度——放大倍数常见是四倍左右,具体各模型可调——经过一次非线性激活,再投影回原来的维度。关键在「逐位置」:这一步各 token 之间互不通信,每个位置只是拿着注意力阶段已经融合好的信息,各自完成一次变换。所以在一个标准层里,先有注意力的「交流」,再有前馈的「消化」,顺序不能颠倒。

先升维再降维的意义在于运算余地。中间那个更宽的空间,让信息摊到更多维度上做非线性组合,再收回来;如果直接在原维度上做同样的变换,能表达的模式会受限得多。激活函数早期常用 ReLU,现在主流模型多用 SwiGLU 这类带门控的变体——门控版本会多一个矩阵,但基本思路不变:升维、非线性、降维,具体以各模型公开的架构说明为准。

为什么不能去掉它

注意力和前馈网络解决两类不同的问题。注意力把别处的信息取过来:当前这个词要参照句子里哪些词,把相关信息融合进自己的表示。前馈网络把取来的信息加工一遍:对这些信息做组合、判断和转换。只有注意力,模型擅长「搬运」但不擅长「加工」,层数堆上去能力也上不来;去掉前馈层,模型对每个位置的处理能力会明显下降,深度也就失去了意义。

有一种理解方式:可以把升维矩阵看作一组模式检测器,降维矩阵把检测结果组合输出,每个神经元对应一种它学到的模式。按这个视角,前馈网络是模型知识存储的主要载体——注意力决定「去哪取」,前馈决定「取来的东西怎么用、变成什么」。

参数大头在这里

容易被忽略的事实:在大模型里,前馈网络的参数量通常占每层的大头,明显高于注意力部分,因为升维和降维的两个大矩阵尺寸不小。这带来两个推论。其一,模型的参数量门槛很大程度上由前馈层决定,看懂 7B 和 70B 的差别,有一大部分要在前馈层里找;其二,模型压缩和加速的研究经常把重点放在这里,因为动它省得最多——但也要谨慎,它是加工能力的来源,砍多了伤理解。

会议类比,和它的边界

把一层 Transformer 想成一次会议:注意力是互相交流,前馈网络是各自回去消化。只交流不消化,讨论停在表面;只消化不交流,又得不到别人的信息,两者配合一层才算完整。类比到这里就要停:真实的 Transformer 里这种交替要重复几十层,逐层处理的内容从字面特征逐渐变成更抽象的语义,会议类比解释不了这个纵向的深度变化。

两个部件对照

维度注意力前馈网络
职责在位置之间搬运信息对每个位置单独加工
通信方式token 之间互相看token 之间互不通信
参数占比相对较小每层的大头
类比会上交流回去消化
常见优化方向稀疏化、限制关注范围量化、专家化(MoE)

前馈网络速查

  • 前馈网络 = 逐 token 独立的两层变换
  • 先升维(常见约四倍,可调)→ 非线性 → 降维
  • 与注意力互补:一个搬运,一个加工
  • 每层参数大头在前馈,是知识存储的主要载体
  • 去掉它,模型的加工能力明显下降

三个常被问到的问题

  • 前馈网络和全连接层是什么关系?:它就是全连接层的一种用法,由两个全连接层夹一个激活函数组成。「前馈」强调信息只往前单向流动、没有循环,这是它区别于循环网络结构的地方。
  • 为什么叫「前馈」?:来自神经网络的老术语,指信号只沿一个方向传递、不往回走。循环网络有反馈连接,前馈结构没有。Transformer 整体都是前馈式的,这个词只是沿用了模块名。
  • MoE 里的专家也是前馈网络吗?:是。混合专家模型把单个前馈网络换成多个「专家」,每个 token 只激活其中一两个,总参数变大但单次计算量基本不变,思路还是逐位置加工。

相关几篇接着看:模型规模差异的来源,参数量 7B 与 70B拆得很细;下载的权重文件里装的就是这些矩阵,权重文件里是什么写得直白;想在本地跑得更省显存,看量化的基本原理;开源权重模型讲了这些结构熟悉的模型能免费用到什么程度。

反馈页面信息

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

也可以发邮件至 [email protected]