DeepSeek-V3 拆解:MoE 与 MLA 分别省在哪里
把计算量与缓存开销分开看,理解稀疏专家和潜在注意力的两条优化路线。
两个瓶颈,两个问题
参数越多,不代表每个 token 都要动用全部参数;上下文越长,也不只是多读几行文本。DeepSeek-V3 的技术报告给出了两类值得分开研究的设计:MoE 侧重专家计算,MLA 侧重注意力中的缓存表示。
MoE:只调用部分专家
稠密前馈层对每个 token 使用同一组参数。MoE 引入路由器,从多个专家中选择一部分参与计算。理解它时应同时记录总参数量和激活参数量,避免用单一数字比较推理成本。
稀疏激活仍然要付出路由、数据搬运与跨设备通信的成本。专家是否均衡、实际批量有多大、硬件如何部署,都影响最终延迟。
MLA:压缩的是缓存表示
生成时,模型通常复用历史位置的键和值。MLA 使用潜在表示压缩相关信息,以降低 KV 缓存的开销。它与减少激活专家解决的是不同问题,不能简单相加成一个“速度倍数”。
怎样阅读报告里的效率数字
先问实验用了什么硬件、序列长度、精度和并行策略。训练计算成本、模型部署显存、单请求延迟、服务吞吐量是不同指标。不要把其中一个指标直接当成整个产品的使用成本。
小练习
画出两条路径:一条是 token 经过路由器进入专家,另一条是历史 token 进入注意力缓存。在每条路径旁写下需要计算、存储和传输的对象,便能看出两类优化分别作用在哪里。
原始资料
DeepSeek-V3 Technical Report。本文聚焦该报告的设计,不将它推断为所有 DeepSeek 版本的固定实现。