DeepSeek 架构笔记:注意力、MoE 与训练目标
Published:
这篇笔记聚焦 DeepSeek 架构侧的几个关键词:MHA/GQA/MLA、RoPE、DeepSeekMoE、FIM/MTP。
1. 注意力机制演进
1.1 MHA(Multi-Head Attention)
Transformer 基座。每个 token 生成 (\mathbf{Q}, \mathbf{K}, \mathbf{V}),多头并行计算:
\[\text{Attention}(\mathbf{Q}_i,\mathbf{K}_i,\mathbf{V}_i)=\text{softmax}\left(\frac{\mathbf{Q}_i\mathbf{K}_i^T}{\sqrt{d_k}}\right)\mathbf{V}_i\]优点是表达能力强,但推理时 KV cache 成本高。
1.2 GQA(Grouped-Query Attention)
- 核心:多个 query 头共享更少的 key/value 头。
- 结果:KV cache 明显下降,推理显存压力更低。
- 代价:需在压缩效率和精度间做平衡。
1.3 MLA(Multi-head Latent Attention)
- 核心:对 KV 做低秩潜变量压缩(latent compression)。
- 思路:不是恢复完整 KV,而是让查询在压缩空间中完成主要注意力计算。
- 价值:在长上下文下显著减小缓存占用,是 DeepSeek-V2/V3 里很关键的效率点。
2. 位置编码:RoPE
- RoPE 把位置信息直接注入 Q/K 旋转变换中。
- 注意力分数天然携带相对位置信息,长序列泛化通常更好。
- 在 MLA 场景常配合解耦式 RoPE 设计,兼顾压缩与位置建模。
3. DeepSeekMoE:稀疏激活的大模型路径
3.1 专家细粒度化
- 相比“少量大专家”,采用更多、更细粒度专家分片。
- 作用:减少专家冗余,提升专业化分工能力。
3.2 共享专家(Shared Experts)
- 一部分专家始终激活,学习通用基础能力。
- 路由专家专注更细分任务,整体参数利用率更高。
3.3 负载均衡
- V2 常见做法:辅助损失(expert/device/communication balance)。
- V3 趋势:弱化或替代显式辅助损失,尽量减少“平衡约束对主任务目标的干扰”。
3.4 路由约束
- device-limited / node-limited routing 用于限制跨设备、跨节点通信开销。
- 对大规模分布式训练尤其关键。
4. 训练目标扩展:不只 Next Token
4.1 FIM(Fill-in-the-Middle)
- 用 Prefix-Suffix-Middle 形式训练中间补全能力。
- 对代码补全、修复、编辑类任务收益明显。
4.2 MTP(Multi-Token Prediction)
- 一次预测多个未来 token,而非只预测下一个。
- 好处:
- 训练信号更密集;
- 有利于推理阶段 speculative decoding 加速。
5. 一句话总结
DeepSeek 架构路线的主线是:
在尽量不牺牲能力的前提下,把推理内存和训练通信成本系统性做低,再通过 MoE 与训练目标设计把省下来的预算换成更强模型能力。