云镜收藏

稍后阅读

清单保存在当前浏览器,方便下次回来继续阅读。

清单还是空的

在笔记卡片或正文页点击“加入稍后阅读”即可收藏。

卷2 · LLM 内功

2.9 架构前沿:MoE、长上下文与注意力变体

约 5 分钟阅读
全书目录

展开本章目录与同卷章节1. MoE:参数与算力的解耦2. 长上下文:三道子问题3. 注意力变体速览(知道名字与动机即可)4. 自测题5. 动手作业6. 延伸资源同卷章节2.1 语言模型前史:n-gram → RNN → 注意力(20 分钟走完 30 年)2.2 BPE tokenizer 原理与实现2.3 GPT 架构工程版:从 TinyGPT 到 nanoGPT2.4 预训练:数据、Scaling Law 与训练稳定性2.5 SFT 与指令微调实战2.6 参数高效微调:LoRA 与 QLoRA2.7 对齐技术:RLHF → DPO → GRPO2.8 推理优化与 vLLM:把模型变成服务2.9 架构前沿:MoE、长上下文与注意力变体2.10 小模型时代的科研机会:1B–7B 甜点区

本章目标:建立”前沿架构”的坐标系——不追求跟每个新模型,而是看懂它们都在解哪两道题:算力不够怎么装下更多参数(MoE)和上下文怎么无限长(长上下文)。学完标准:能向别人解释 DeepSeek-V3 的 671B/37B 是什么意思,以及 128k 上下文靠什么技术撑起来。

1. MoE:参数与算力的解耦

问题:dense 模型每生成一个 token 都要激活全部参数——100B 模型每 token 就是 100B 的计算。 scaling law 说参数越多越好,算力账说算不动。

MoE(Mixture of Experts)的解法:把每层的 FFN 换成 N 个”专家”FFN + 一个 router。每个 token 只被路由到 top-k(常为 8 选 1 或 16 选 2)个专家处理:

y=∑i∈TopKgi(x)⋅FFNi(x)y = \sum_{i \in \text{TopK}} g_i(x) \cdot \text{FFN}_i(x)

结果:总参数量与每 token 激活量分离——DeepSeek-V3:总参 671B,每 token 只激活 37B。训练时用大参数容量学知识,推理时只付激活量的算力钱。这就是”算力不够,参数来凑”的产业答案,2024 年后开源旗舰几乎全是 MoE(DeepSeek、Qwen3 旗舰、GLM 旗舰)。

工程代价(概念级了解):负载不均(专家冷热不均 → 加 auxiliary balance loss 强制均衡);训练时专家分布在不同卡上,all-to-all 通信成为系统瓶颈(这是 MoE 训练框架的护城河);小模型上 MoE 常不划算(路由开销占比大)——MoE 是规模的武器,不是学生的。

2. 长上下文:三道子问题

把上下文从 4k 拉到 128k+,要同时解决:

  1. 位置编码的外推:训练只见过 4k 位置,推理给 128k 位置,RoPE 直接崩。解法家族:位置插值(PI)——把位置索引除以系数塞回训练范围;NTK-aware / YaRN——更聪明的”按频率分层缩放”(高频转得慢保局部、低频动得多扩全局),微调少量长文本即可扩展数倍。只需要记住结论:现代模型的长上下文 = RoPE + YaRN 类缩放 + 少量长文本继续训练;
  2. 注意力的平方成本:prefill 和 KV cache 都随长度平方/线性暴涨。工程解法(2.3/2.8 已铺垫):FlashAttention 系列(IO 优化不降复杂度)、稀疏/滑窗注意力(局部+少量全局锚点)、KV 压缩(选择性丢弃/合并历史 token);
  3. 数据里长文档稀缺:预训练语料长文占比低,需要专门的长文本数据阶段 + “大海捞针”(needle-in-a-haystack)评测——在长文里埋一句”暗号”考检索,是长上下文的标配考卷。

RAG 与长上下文的分工(常被问):长上下文不是 RAG 的终结——检索便宜且精准,塞 128k 文档既贵又”中间失明”(模型对长上下文中部信息利用率低)。现实产品:先检索压缩、再给模型精料。

3. 注意力变体速览(知道名字与动机即可)

  • MLA(Multi-head Latent Attention,DeepSeek):把 KV 压到低秩潜空间存储,KV cache 压缩数倍——与 GQA 同一目标的不同路线;
  • 线性注意力 / RWKV / Mamba(状态空间模型):把”看全部历史”改成”维护固定大小状态”,复杂度 O(N)、KV 恒定。纯替代方案在与 Transformer 的正面比拼中互有胜负,但混合架构(少数注意力层 + 多数线性层,如 Jamba)是落地形态——“注意力的精确检索 + 线性层的廉价记忆”各取所长;
  • 滑动窗口 + 全局锚点(Gemma 等在用):多数层看局部窗口,少数层看全局——用 5% 的成本拿到 95% 的效果。

读前沿的方法论:每出一个新架构,先问三个问题——它把哪个量降下来了(参数/激活/KV/复杂度)?代价是什么(质量/工程/灵活性)?在什么规模下划算?——比记结构图有用。

4. 自测题

  1. MoE 的核心解耦是什么?671B/37B 什么意思?(总参数与每 token 激活量;总参 671B、每 token 只算 37B)
  2. 为什么 MoE 需要负载均衡 loss?(router 惰性扎堆热门专家——不均衡则大参数白养)
  3. YaRN 类缩放解决什么?(RoPE 位置超出训练范围的外推——按频率分层缩放旋转角)
  4. 长上下文三道子问题分别是什么?(外推 / 平方成本 / 长数据稀缺)
  5. “大海捞针”考什么?它测不测推理?(长文检索保真;不测多跳推理——所以还要别的考卷)
  6. RAG 为什么没被长上下文杀死?(成本、中部失明、检索精度;两者是分工不是替代)
  7. 线性注意力换来了什么、付出了什么?(O(N) 和恒定状态;牺牲全局精确检索——所以混合架构落地)

5. 动手作业

  1. 用 vLLM/transformers 对同一个 4B 模型测 1k / 8k / 32k 输入的 prefill 耗时,画曲线——亲眼看平方项;
  2. 跑一次大海捞针开源评测(很多 repo 可一键),对一个开源 4B 模型测 4k/16k/32k 的命中率曲线;
  3. 算账:Qwen3-30B-A3B(30B 总参/3B 激活)对比 Qwen3-32B dense,每 token 计算量差多少倍?这对部署意味着什么?
  4. 挑战:读 YaRN 论文 §1–2,用三句话讲清”高频少动、低频多动”为什么合理。

6. 延伸资源

  • YaRN 论文(RoPE 缩放的集大成)
  • DeepSeek-V3 技术报告 §1–2——MoE + MLA 的工业叙事
  • Mamba 论文 §1——状态空间视角,看个动机即可