Skip to content

实验 20 · DeepSeek 模型专题 — 现代前沿架构与量化直觉 ​

本实验解密一线前沿开源大模型的核心工程创新:MLA(多头潜在注意力)显存极限压缩、MoE 细粒度专家路由、SwiGLU 门控前馈网络,以及低比特量化(INT8 / FP8)的动态缩放机制。


网页即时交互实验一:SwiGLU 门控非线性激活机制 ​

现代高效大模型(如 LLaMA、DeepSeek)普遍采用 SwiGLU 替换传统 ReLU / GELU。SwiGLU 引入两条并行的线性投影,其中一条经过 Swish 激活后作为“门控信号”与另一条按元素相乘:

SwiGLU(x)=(Swish(xWgate))⊗(xWup)

滑动输入值,直观观察门控通路如何动态选择信息流动比例:

交互:SwiGLU 门控前馈层

普通 FFN 是「过一次激活」。SwiGLU 是「一路算内容,另一路算开关,然后逐元素相乘」。

Swish(xW) — 门(虚线)
xV — 内容(点线)
SwiGLU = 门 ⊙ 内容
ReLU(xV) — 老方案
ReLU FFN(d=4096):hidden = 16384,2 个矩阵,参数 134M
SwiGLU FFN:hidden = 10923(缩到 8/3 d),3 个矩阵,参数 134M
$$\text{Swish}_\beta(x)=x\cdot\sigma(\beta x),\qquad \text{SwiGLU}(x)=\text{Swish}(xW)\odot(xV),\qquad \text{FFN}(x)=\text{SwiGLU}(x)\,W_2$$

教学要点:把 β 拉到 8,Swish 几乎就是 ReLU —— 但 SwiGLU 曲线依然是平滑的、可正可负的, 因为它是两条曲线相乘。这种「乘法交互」让 FFN 能表达更复杂的特征选择, 代价是多一个矩阵(所以 LLaMA 把 hidden 从 4d 缩到 8/3·d 来保持参数量持平)。


网页即时交互实验二:对称量化与截断量化误差看板 ​

在工业级推理部署与显存优化中,权重从 FP32 / FP16 压缩至 INT8 / FP8。通过计算绝对值最大值确定缩放因子(Scale),将连续浮点数映射到离散整数区间:

交互:量化的显存 / 精度权衡

量化就是把 float 权重塞进更少的比特里。省下来的显存,代价是舍入误差。

显存占用(GB)

FP16
14.0
INT8
7.0
INT4 (朴素)
3.5
INT4 (分组 RTN)
4.4

权重重建误差 RMSE(越低越好)

FP16
0.0000
INT8
0.0130
INT4 (朴素)
0.2224
INT4 (分组 RTN)
0.0926
$$\text{scale} = \frac{\max|W_{\text{group}}|}{2^{b-1}-1},\qquad \hat{W} = \text{scale}\cdot\text{round}\!\left(\frac{W}{\text{scale}}\right)$$

教学要点(试试关掉分组量化 + 拉高离群值):单个离群值会撑大整个 tensor 的 scale, 让其余权重使用很粗的刻度。较小的 group 能隔离离群权重,但会增加 scale metadata;本图按 每 32 个权重一个 float32 scale 计入体积。这里只演示 group-wise round-to-nearest, 没有实现 GPTQ 的 Hessian 误差补偿或 AWQ 的 activation-aware 搜索;两者请以本章正文和 Python 实验为准。


网页即时交互演练三:MoE Top-2 稀疏门控路由 ​

在免安装的浏览器 WebAssembly 运行环境中,直接练习实现专家门控亲和度打分、Top-2 筛选与 Softmax 权重归一化:

🐍

实验 20 · DeepSeek MoE 动态门控与路由

Top-K 门控稀疏路由、权重归一化与专家负载分发
↗ 独立演练台
Python 3行 1, 列 117 行 · 628 字符
运行:⌘ / Ctrl + ↵
就绪 (点击运行)
点击右上角「▶ 运行」或按 ⌘/Ctrl+Enter 在浏览器端直接执行

交互实验指南 ​

  1. 观察门控抑制:在 SwiGLU 中输入负值,观察门控分支如何平滑归零,抑制异常特征激活。
  2. 量化阶梯效应:调整量化比特数,观察低比特映射下的离散阶梯形状,直观理解为什么极低比特(如 2-bit)会导致困惑度(Perplexity)剧烈恶化。

本地动手实验与单元测试 ​

在网页端建立数学与物理直觉后,回到本地运行你的 MLA 显存记账对拍与玩具级 GRPO 策略更新:

bash
cd <仓库根目录>
source .venv/bin/activate
export PYTHONPATH="$PWD/python"

# 运行 DeepSeek MLA / MoE 专题算法对拍测试
pytest python/tests/test_deepseek.py -v

下一步 ​

→ 返回第12章正文查看完整理论推导与论文链接
→ 进入实验 21:Multi-Agent 协同与工作流系统

私有学习站 · 原理从零构建 · 勿提交个人隐私或密钥