2 V3/R1的架构提升
2.1 多头潜注意力 (MLA)
2.1.1 从KV Cache(KV缓存)说起
当使用传统 Transformer 在推断(Inference)过程中计算并生成 Token(词元)时,模型需要读入所有过去 Token 的上下文,以决定接下来输出什么Token。最直观的方法就是简单的再次进行一次包括所有过去 Token 的前向传播(计算)。

KV Cache(来源:互联网)
传统的基于 Transformer 的模型在推理过程中会计算每个键值 (KV) 对,但事实上这种方法效率并不高,因为大部分过去的 Token 已经在上一次计算中处理过了,重复计算会产生大量的浪费。
目前常用的方法是缓存所有过去 Token 的相关内部状态,主要是注意力机制中的键(Key)和值(Value)向量。这也是键值缓存(简称 KV 缓存)名称的由来。

不同注意力机制的对比(来源:DeepSeek V2)
目前开源大模型中的主流方法是分组查询注意力(Grouped-Query Attention)机制。在这种机制中,为每对键和值头分配多个查询头,将查询头有效的分组在一起。在 Llama 3.3 70B 和 Mistral Large 2 等模型中,仅分组查询注意力机制就将 KV 缓存大小减少了大约一个数量级。
2.1.2 MLA的原理与优势
DeepSeek使用的Multi-Head Latent Attention技术可大大节省KV缓存,从而显著降低了计算成本。
MLA的本质是对KV的有损压缩,提高存储信息密度的同时尽可能保留关键细节。该方法首次在 DeepSeek-V2 中引入,与分组查询和多查询注意力等方法相比,MLA是目前开源模型里显著减小 KV 缓存大小的最佳方法。
MLA的方法是将KV矩阵转换为低秩形式:将原矩阵表示为两个较小矩阵(相当于潜向量)的乘积,在推断过程中,仅缓存潜向量,而不缓存完整的键KV。这规避了分组查询注意力和多查询注意力的查询的信息损失,从而在降低KV缓存的前提下获得更好的性能。

矩阵的低秩近似(来源:互联网)
另外为了与MLA技术的低秩KV压缩兼容,DeepSeek也将编码方式RoPE 进行了改进,使V2/V3/R1获得了长上下文的外延能力。

MLA方法有效降低KV Cache和训练成本(来源:DeepSeek)
2.1.4 MLA是颠覆性创新吗?
我们认为MLA是个非常有趣且先进的创新,这一工作建立在对注意力机制深度理解的之上,并且需要进行大胆谨慎的验证。限于算力条件和个人ROI,能够独立完成这一创新的团队并不多。能做出MLA这样的工作,确实是达到国际一线架构水平了。换一个角度看,MLA也是建立在DeepSeek团队的量化金融基因之上,不禁让我们联想到优秀的量化码农对每个矩阵计算的FPGA底层优化。

MLA之外的KV Cache优化方法(来源:武汉大学)
我们认为,MLA之后,应该还会有QMLA(量化MLA)或者CMLA(压缩MLA),甚至是超越现有Attention模式的技术出现,而用了很多年的Transformer也将经历大的变革。真正的颠覆创新可能,正摆在DeepSeek和国内其他大模型团队的面前。
2.2 MoE架构与辅助无损负载均衡
2.2.1 MoE与Dense模型的混战
目前的主流的大模型架构可以分为Dense(稠密)架构和MoE架构。
Dense模型在深度学习中通常指的是一种全部神经元都参与计算的网络结构。这种结构使得模型能够充分利用数据特征,并且训练过程中参数共享,减少了计算量和过拟合的风险。
一般来说,Dense模型可以视为仅有一个专家的MoE模型。在大模型领域,Dense模型和MoE各有各的应用场景和优势,MoE还无法代替Dense模型的行业应用。
| Dense模型 | MoE模型 | |
|---|---|---|
| 优势 | 在专业领域计算参数量更少,更节省计算资源 | 在通用计算领域激活的参数少,更节省计算资源 |
| 劣势 | 在通用领域需要激活更多的参数,计算资源消耗大 | 在专业领域无需多位专家,容易产生大量参数冗余,浪费资源 |
相比Dense模型,MoE主要增加了专家路由,通过门控(开或关)的方法,负责将数据流引向不同的专家模块。专家路由事实上引入了一个不连续的门控函数(对梯度计算不友好),这导致梯度下降优化方法在 MoE 训练中表现不佳,甚至出现“路由崩溃”,即模型容易陷入始终为每个 Token 激活相同的少数专家的窘境,而不是将计算合理的传播到所有的可用专家。这也是MoE模型训练的难点。
2.2.2 无辅助损耗负载均衡
传统的规避路由崩溃的方法是强制“平衡路由”,即通过训练策略让每个专家在足够大的训练批次中被激活的次数大致相等。这一策略也就是“辅助损失”。但这种强制性的辅助损失会由于训练数据的结构不均衡特征,导致同领域的专家能力分散到不同的专家模块之中,极度损害MoE模型的性能。理想的 MoE 应该有一些经常访问高频通用信息,并具备其他访问较少的专业领域专家。如果强制平衡路由,将失去实现此类路由设置的能力,并且必须在不同的专家之间冗余地复制信息。
DeekSeek采用了“增加共享专家+无辅助损耗负载平衡”的方法解决这一问题。
DeepSeek将专家分为两类:共享专家和路由专家。共享专家始终会被路由,在训练中重点确保路由专家的路由均衡。

DeepSeekMoE与传统的多路由和细粒度专家MoE对比(来源:DeepSeek)
无辅助损耗负载均衡(Auxiliary-Loss-Free Load Balancing)方法是将特定于专家的偏差项添加到路由机制和专家亲和力中。偏差项不会通过梯度下降进行更新,而是在整个训练过程中持续监控并进行调整以确保负载平衡。如果训练中某个专家没有获得合理的命中次数,可以在每个梯度步骤中微调偏差项增加命中概率。
通过动态调整,DeepSeek-V3 在训练过程中获得了比有辅助损失均衡模型更好的性能。
从模型架构分析看,我们认为这种分配策略可能还不是理论最优的,但该方法已经比强制辅助损失有了显著的改进。
2.2.3 MoE会是大模型的终局吗?
MoE架构自1991年提出后,就一直在与Dense架构共生发展。
DeepSeek R1的推出确实大大推动了开源MoE大模型的发展,并为MoE的落地应用提供了更多可能。但是我们也应看到,MoE模型与应用领域高度和TOC(Total Owning Cost,总拥有成本)密切相关,很多场景MoE未必比Dense模型好。

不同的MoE架构(来源:香港科技大学)
另外,MoE模型也有不同的细分架构类型。不是所有的MoE的参数量都远大于计算带宽要求。
MoE架构的本质是模型参数分布式存储,MoE减少计算量的代价可能是不同专家模型的参数重复和总参数量增加,这往往也意味着更大更贵的HBM成本。外界传言的MoE模型可以更小,其实是指的MoE模型蒸馏的Dense模型可以兼顾参数量和推理(Reasoning)性能。
不同应用场景对Dense和MoE模型的需求
| To B计算场景 | To C云计算场景 | To C边缘/端侧计算场景 | |
|---|---|---|---|
| 特点 | 专业领域应用多,对RAG高度依赖,不需要多专家 | 通用领域多,对检索和训练数据更新时间敏感,需要多专家 | 通用领域多,可不需要高性能/精度回答,不需要多专家 |
| 主力架构 | 行业大模型,主要是Dense架构 | 通用基础模型,主要是MoE或MoA架构 | 限于成本,主要是Dense架构 |
| 占有率 | 较高 | 较低 | 目前较低 |
按照上表的分析,基于成本考虑,目前只有To C云计算场景(类似OpenAI的网页版服务)才会真正用上MoE这种多专家的模型架构。