🏠 总目录📚 本教程 专题 B · SwiGLU:筛选信息 ← →
📑 本页目录(点开跳转)

专题 B · SwiGLU:模型怎样筛选信息

⏱ 8 分钟 | 可选专题


🎯 一句话

普通 FFN 是“把每个 token 放大加工再压回去”;SwiGLU 在中间多加了一扇可学习的门:不是所有加工结果都同样放行。

一个 token内容支路:提取特征门控支路:决定放多少×筛过的结果
“乘起来”就是门:门值小的特征被压下去,门值大的特征更容易通过。

它真正解决什么问题

FFN 要把“当前 token 已经知道的东西”转成更有用的内部特征。普通激活函数像固定规则:超过某个范围就通过多少。SwiGLU 给模型一条额外支路,能根据当前输入动态决定“这类特征这次值不值得放大”。

这不是一个外部开关,也不是人规定“看到代码就开、看到中文就关”。门的参数和其他参数一起从数据中学出来。

为什么参数没有暴涨

SwiGLU 多了一条投影,但现代模型会把中间层宽度相应缩小。因此总参数量大致保持接近,换来更灵活的非线性加工。你只要记住:三个矩阵不代表白白多花一倍成本;尺寸已经重新平衡。

它和注意力的分工

零件 它问的问题
注意力 我该从哪些 token 那里取信息?
SwiGLU FFN 拿到后,我自己的哪些特征值得放大?

✅ 检查点

点开核对

SwiGLU 是 FFN 里面的门:一条支路产生内容,另一条支路决定放行多少。它不负责 token 之间的关系,那仍是注意力的任务。

🔗 想再深一层,去哪一套

去哪 为什么
ML 基础 07 · 从线性到神经网络 第三节那张激活函数对照表:ReLU / Leaky ReLU / GELU 与 SwiGLU 各自在解什么
专题 D · MoE:怎样扩容 同一层的另一种改法:这一页让 FFN 更会筛,那一页让 FFN 变多但每次只开几个

🛑 可以停在这里

只用 API 或做应用时,知道它是“更会筛信息的 FFN”就足够。源码里的 gate_proj / up_proj / down_proj 是同一张图的代码名字。

⚡ 走神救援

SwiGLU 就是在 FFN 里加一扇会学习的门:信息不是全盘放大,而是根据当前 token 筛选。下一专题看模型如何知道词与词隔了多远。

👉 02f-RoPE与位置感.md

打卡记录保存在你的浏览器里,首页能看到总进度