首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >零基础认识大语言模型(LLM)工作原理(6.从 SwiGLU 到 MoE —— FFN 才是大模型真正的算力核心)

零基础认识大语言模型(LLM)工作原理(6.从 SwiGLU 到 MoE —— FFN 才是大模型真正的算力核心)

作者头像
GuZhenYin
发布2026-07-08 09:47:43
发布2026-07-08 09:47:43
10
举报
文章被收录于专栏:GuZhenYinGuZhenYin

第六章 从 SwiGLU 到 MoE —— FFN 才是大模型真正的算力核心


本章导读

这篇我们还是继续讲FFN.因为,这个模块一直在更新和升级

本章建议与上一章联合食用,效果更佳.

在前面章节我们已经建立了一个基础认知:

  • Attention:负责“找关系”
  • FFN:负责“做计算 / 做语义加工”

但在现代大模型(LLaMA / Qwen / DeepSeek / GPT 系列)中,有一很重要的现实情况:

Transformer 绝大部分参数和算力,都消耗在 FFN 上,而不是 Attention。

这一章我们会回答三个关键问题:


本章核心问题

  1. 为什么 FFN(尤其是SwiGLU)是算力大头?
  2. SwiGLU 到底解决了什么“工程问题”?
  3. MoE(Mixture of Experts)为什么是 FFN 的终极形态?

6.1 Attention 不是算力核心

很多新手(包括我自己)会直觉认为:

Attention = 核心 (因为名字确实有点唬人,注意力~)

但真实情况是,在最近几年的 Transformer 中:

模块

参数占比

计算占比

Attention

20%~40%

中等

FFN / SwiGLU

60%~80%

最大


为什么会这样?

上一章我们也简略讲过.

因为Attention 主要做“信息路由”

FFN 才做“高维非线性计算”


用我们熟知的系统可以简单总结一下:

Attention 是“通信系统”,FFN 是“计算系统”。


6.2 从 FFN 到 SwiGLU:为什么要改结构?

我们回顾经典 FFN:

代码语言:javascript
复制
x → Linear(升维) → GELU(激活函数) → Linear(降维) → y

会有些什么问题?


问题1:信息是“无筛选加工”

所有输入:

  • 一视同仁
  • 同一个非线性函数处理
  • 没有“选择机制”

问题2:表达效率不够

模型想表达复杂函数,则需要:

  • 更大维度
  • 更多层数

问题3:冗余计算严重

很多信息其实是:

不重要 / 噪声 / 局部相关

但依然要被完整计算。


6.3 SwiGLU:第一次“结构性升级”

SwiGLU 的本质变化是:

从“单路径变换” → “双路径门控系统”


SwiGLU 结构:

代码语言:javascript
复制
x
 ├── W1 → 内容分支
 └── W2 → 门控分支 → SiLU
                ↓
         逐元素相乘
                ↓
             W3 输出

看起来是不是有点复杂了?

我们只要记住,关键思想只有一句:

不是模型中所有信息都值得被激活


我们用个例子跟初级的FFN对比一下

旧 FFN:

一个老师对所有学生统一讲课


SwiGLU:

一个老师 + 一个助教:

  • 老师负责讲内容
  • 助教负责“哪些内容该重点讲”

所以产生了一个核心结果:

模型开始具备:

信息筛选能力(Feature Selection)


6.4 SwiGLU 带来的三个关键变化


① 表达能力提升

同样参数量情况下:

能表示更复杂函数


② 训练更稳定

原因:

  • 梯度更平滑
  • 信息流更可控

③ 更符合语言稀疏性

我们现实的语言

本身也不是所有 token 都重要

而且是信息分布极不均匀的

所以SwiGLU 正好匹配了这种结构


6.5 升级对FFN的理解

到这里我们就要升级一下对FFN的理解了:

FFN 不再只是“变换层”,而是“特征选择 + 特征重组系统”


6.6 MoE(混合专家模型):FFN 的终极形态

我们理解了上面的内容.

现在进入真正的工业级结构:

MoE(Mixture of Experts)混合专家模型


MoE 是什么?

我们还是先用一句话简单概括一下:

把 FFN 拆成多个“专家网络”,只激活部分专家计算


大致结构长这样:

代码语言:javascript
复制
          输入
            ↓
        Router(路由器)
       /      |       \
   Expert1  Expert2  Expert3 ...
       \      |       /
          输出融合

6.7 MoE 的核心思想

我们还是做个简单的类比,来对比一下和传统FFN的区别


传统 FFN:

一个“万能专家”

什么都要学:

  • 语法
  • 代码
  • 数学
  • 知识

MoE:

一群“专科医生”

例如:

  • Expert A:语言
  • Expert B:代码
  • Expert C:数学
  • Expert D:推理

Router(路由) 做什么?

Router 会判断:

当前输入应该交给哪个专家处理


例如:

输入:

“写一个 Java Redis 缓存代码”

Router 会选择:

  • Java Expert
  • Redis Expert

6.8 MoE 为什么这么重要?

因为它解决了一个核心问题:

模型规模增长 vs 计算成本爆炸


传统 Transformer:

参数越多,则每次推理都要全量计算


MoE:

参数可以非常大,但是每次只激活部分参数


举例:

模型

总参数

实际激活

Dense LLM

70B

70B

MoE LLM

400B

40B~80B


所以实际上,MoE = “用参数换能力,用路由省算力”


6.9 SwiGLU vs MoE:关系是什么?

很多兄弟其实可能会混淆.

我们直接简单定义一下.


SwiGLU:

单个 FFN 内部的“门控结构优化”


MoE:

把 FFN 整体拆成多个“专家”


本质关系:

MoE = SwiGLU 的“系统级扩展”


6.10 记住非常重要的工业结论

现代大模型结构基本是:

代码语言:javascript
复制
Attention
   ↓
SwiGLU FFN 或 MoE FFN
   ↓
Attention
   ↓
SwiGLU FFN 或 MoE FFN

并且:

  • FFN 占参数 60%~80%
  • Attention 占 20%~40%

所以工业界结论是:

Transformer 的本质是“FFN 驱动的系统”,Attention 是辅助结构。


6.11 为什么 FFN 才是“知识载体”?

这也是比较关键的一点


Attention:

  • 不存知识
  • 只做“信息关联”

FFN / MoE:

  • 存语义模式
  • 存统计知识
  • 存任务映射

举个例:

问:

Redis 是什么?

真正起作用的是:

FFN 中已经学习到的“参数化知识结构”


所以我们结合上面一系列的讲解,应该就能明白 模型的“知识”,主要压缩在 FFN 权重里


6.12 总结本章

如果只记一句话:

SwiGLU 让 FFN 具备“选择能力”,MoE 让 FFN 具备“分工能力”,而现代大模型的真正智能核心,其实是 FFN 系统。


本章总结

我们完成了三个认知关键升级:


① FFN 从“变换层”升级为“选择系统”

SwiGLU 引入门控机制


② FFN 从“单体结构”升级为“专家系统”

MoE 引入路由机制


③ Transformer 的真实结构认知

Attention 负责连接 FFN 负责计算与知识表达 MoE 负责规模扩展


下一章预告

下一章我们将引入一个神奇的问题:

为什么“预测下一个 Token”可以产生智能?

我们会把前面所有内容统一归纳起来解释:

  • 为什么简单目标能涌现复杂能力
  • 为什么模型会“突然变聪明”
  • 为什么代码 / 数学 / 逻辑都能统一建模
  • 为什么 LLM 本质是“通用函数逼近器”
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第六章 从 SwiGLU 到 MoE —— FFN 才是大模型真正的算力核心
    • 本章导读
    • 本章核心问题
  • 6.1 Attention 不是算力核心
    • 为什么会这样?
    • 用我们熟知的系统可以简单总结一下:
  • 6.2 从 FFN 到 SwiGLU:为什么要改结构?
    • 问题1:信息是“无筛选加工”
    • 问题2:表达效率不够
    • 问题3:冗余计算严重
  • 6.3 SwiGLU:第一次“结构性升级”
    • SwiGLU 结构:
      • 看起来是不是有点复杂了?
      • 我们只要记住,关键思想只有一句:
    • 我们用个例子跟初级的FFN对比一下
      • 旧 FFN:
      • SwiGLU:
    • 所以产生了一个核心结果:
  • 6.4 SwiGLU 带来的三个关键变化
    • ① 表达能力提升
    • ② 训练更稳定
    • ③ 更符合语言稀疏性
  • 6.5 升级对FFN的理解
  • 6.6 MoE(混合专家模型):FFN 的终极形态
    • MoE 是什么?
    • 大致结构长这样:
  • 6.7 MoE 的核心思想
    • 传统 FFN:
    • MoE:
    • Router(路由) 做什么?
  • 6.8 MoE 为什么这么重要?
    • 传统 Transformer:
    • MoE:
    • 举例:
  • 6.9 SwiGLU vs MoE:关系是什么?
    • SwiGLU:
    • MoE:
    • 本质关系:
  • 6.10 记住非常重要的工业结论
    • 并且:
  • 6.11 为什么 FFN 才是“知识载体”?
    • Attention:
    • FFN / MoE:
    • 举个例:
  • 6.12 总结本章
  • 本章总结
    • ① FFN 从“变换层”升级为“选择系统”
    • ② FFN 从“单体结构”升级为“专家系统”
    • ③ Transformer 的真实结构认知
  • 下一章预告
  • 为什么“预测下一个 Token”可以产生智能?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档