
最近正好有空,打算抽时间复盘总结一下这些年零零散散学习的AI知识.
在上一章中,我们已经知道,Attention 的作用是:让模型能够在生成每个 Token 时,回看并加权所有历史信息。
这解决了一个关键问题, “上下文相关性”
但如果我们就草率的认为Attention = 智能, 那就错了。
因为仅靠 Attention,其实模型还是做不到,把得到的“信息”变成“推理能力”
所以其实在 Transformer 里有两个核心模块:
很多人看到这里会产生一个误解,Attention 是核心,FFN 是辅助?
不对,这完全弄反了.
在真实模型里:
FFN 才是参数量最大、最“像知识”的部分
而 Attention 更像“信息路由系统”。所以我们先从Attention的局限性开始讲起
我们先回到最早这句话:
小明昨天去北京出差,今天他回来了。
Attention 能很好解决:
但是我们换一个任务:
把这句话改写成正式邮件
或者:
总结这段话的核心意思
或者:
推理小明的行程逻辑
Attention 马上就会遇到一个问题,它只能“关联信息”,但不能“加工信息”。
Attention,它就像一个“资料整理员”.
它很擅长:
但却它不擅长:“加工、抽象、归纳”
所以 Transformer 需要第二个模块:FFN(前馈神经网络),那么FFN到底是什么呢?
我们直接让Attention和FFN对比一下.
模块 | 做什么 |
|---|---|
Attention | 找信息 |
FFN | 处理信息 |
他会:
他会:
Attention 输出的是:“相关信息集合”.
但 FFN 做的是:把这些信息归纳总结后重新“加工成新的表达”.
输入:
小明昨天去北京出差,今天他回来了
Attention 可能输出:小明 + 北京 + 出差 + 时间关系
FFN 则会进一步加工成:小明完成了一次北京出差行程
所以关键区别就在于:
Attention 不创造信息
FFN 才负责“生成新的表达能力”
在 Transformer 里,它长这样:
输入向量
↓
线性变换(升维)
↓
激活函数(ReLU / GELU)
↓
线性变换(降维)
↓
输出向量用一句通俗的话讲解的话,实际上 FFN = 把信息“放大 → 变形 → 压缩”的加工器
Attention 是多个 Token 之间的信息交互
FFN 则是每个 Token 自己内部的“脑内处理”
大概就是这样:
模块 | 作用范围 |
|---|---|
Attention | Token 之间交流 |
FFN | Token 自己思考 |
我们继续用小明~,
小明昨天去北京出差
Attention 做的是:
但 FFN 做的是:
“这句话整体是什么意思?”
把FFN 的工作方式比喻为人类学习方式的话
我们可以理解为
Attention---你在查资料
FFN---你在理解资料
同一条信息:
小明昨天去北京出差Attention 看到的是:
但 FFN 会则会抽象和重组整个信息:
把这些“碎片信息”组合成一个新的表达
例如:
一次商务出行事件 注意:
这一步不是纯“检索”,而是有计算:
压缩 + 抽象 + 重组
对每一个 Token 向量:
单独做一次“非线性加工”
例如:
没有意义
例如:
输入:
“小明 + 出差 + 北京”
输出:
“商务活动”
👉 FFN 的作用就是:
把“简单叠加的信息”变成“新的语义结构”
这是 FFN 最核心的设计。
把一个向量:
768维扩展成:
3072维为什么要升维?
因为升维之后才能存储更多信息.
空间变大 → 可以表达更多“组合关系”
我们可以理解为:
原来只有一块钱,升维之后, 你就有了5块钱, 你可以购买和组合购买更多的东西.
这一层只做一件事:
筛选 + 激活 + 抑制
我们可以简单理解为,通过算法将有用的信息放大,将没用的信息压缩.
再从:
3072维压回:
768维最终的结果就是已经不是原来的向量了,而是“加工后的语义”
这是一个非常关键的现代观点。
研究发现,在大模型里面FFN 参数量远远大于 Attention 参数量
这说明模型大部分“知识”不在 Attention,而在 FFN
我们可以这样理解:
Attention:查询系统(类似搜索引擎)
FFN:数据库本体(真正存知识)
你问大模型:
Redis 是什么?
模型不是去“想”,而是:
所以反而FFN 更像“隐式的知识库”
写了这么多,其实我们可以总结一下FFN的真实作用.
Attention 负责“连接信息”,FFN 负责“理解信息”,Transformer则是用多层 FFN 逐步构建抽象能力。
两层线性变换 + 非线性激活的“信息加工器”
模块 | 功能 |
|---|---|
Attention | 找关系 |
FFN | 做理解 |
对每个 Token 做“非线性语义变换”
因为它才是模型“知识和语义能力”的主要来源
也正是这个看似简单的“升维-激活-降维”三步曲,赋予了Transformer深度思考的能力,使其从简单的信息收集器变成了真正的理解者和创造者。
当然,在现代大模型中,FFN 已经发展出多种不同的实现范式,而不仅仅是传统的两层前馈结构。
SwiGLU FFN:通过门控机制(Gating)替代传统激活函数,使模型能够在特征维度上进行选择性放大与抑制,从而提升表达能力。
MoE(Mixture of Experts)结构:将传统的单一 FFN 扩展为多个“专家网络”,并通过路由机制(Router)动态选择部分专家参与计算,使模型在参数规模大幅提升的同时保持计算成本可控。
这些结构本质上并不是简单的“优化”,而是 FFN 在不同设计目标下的结构性演化。
这里篇幅有限,就不过多赘述了. 我们下一章在讲.
开始进入深水区了 白话描述逐渐困难了 哈哈哈 - - ..