作者:嫖姚
原文:https://zhuanlan.zhihu.com/p/20751924531
一、DeepSeek[1]核心理论创新
1.MLA[2]大模型架构创新
自GPT采用Transformer架构取得成功以来,经典Transformer架构一直是很多大模型的标配。但这不意味着Transformer是完美无缺的。DeepSeek在Transformer架构的基础上也做了很多创新,主要为:多头潜在注意力即MLA 。
MLA用于高效推理,源自DeepSeek V2的原创,其显著降低了推理显存的消耗。MLA主要通过改造注意力算子压缩KV 缓存大小,将每个查询KV量减少93.3%,实现了在同样容量下存储更多KV缓存,极大提升了推理效率。
个人认为,MLA之后,应该还会有QMLA(量化MLA)或者CMLA(压缩MLA),甚至是超越现有Attention模式的技术出现,而用了很多年的Transformer也将经历大的变革。真正的颠覆创新可能,正摆在DeepSeek和国内其他大模型团队的面前。
2.GRPO[3]对齐技术创新
DeepSeek-R1[4]的核心算法是 Group Relative Policy Optimization(GRPO)。其目标是优化策略模型,使其在特定任务中表现最佳。与传统策略优化方法不同,GRPO 不依赖与策略模型同规模的评价模型,而是通过组内评分的方法估计基线,简化了计算过程。具体来说,对于每个问题,GRPO 从旧策略 πθoldπθold 中对一组输出 {o1,o2,⋯ ,oG}{o1,o2,⋯,oG} 进行采样,然后通过最大化以下目标来优化策略模型 :
奖励建模:对于每个输出,根据预设的奖励机制计算其对应的奖励,奖励综合考虑准确性奖励、格式奖励和语言一致性奖励等。为了训练DeepSeek-R1-Zero[5],采用基于规则的奖励系统,主要包括两种类型的奖励:
准确性奖励
准确性奖励旨在衡量模型给出的响应是否准确无误。以数学问题为例,当问题存在明确的答案时,模型需要按照特定格式(如在特定的框内)给出最终答案,这样就能依据既定规则对答案的正确性进行有效验证。再比如在解决 LeetCode 问题时,可借助编译器,依据预先设定好的测试用例来生成反馈,以此判断模型给出的解题方案是否正确,进而确定模型应获得的准确性奖励分值。
格式奖励
为了规范模型输出,除了运用准确性奖励模型,我们还引入了格式奖励模型。此模型主要作用是促使模型把思考过程置于特定的 < 标签之中。通过这种方式,使得模型输出的结构更加清晰、规范,方便后续对模型输出内容的分析与处理,同时也能引导模型以更有条理的方式展示其推理过程 。
3.MoE[6]混合专家模型优化
为了让1991年就提出的MoE架构更好的融入大模型体系,克服传统MoE模型的训练难题。DeepSeek采用了细粒度专家+通才专家的思路,不再使用少数大专家的结构,而是使用大量极小的专家结构。这个思路的本质在于将知识空间进行离散细化,以更好的逼近连续的多维知识空间,是一个非常好的方法。
无辅助损耗负载均衡策略可在不依赖辅助损失函数的情况下平衡分配计算/训练负载,更好的提高训练稳定性。
传统的规避路由崩溃的方法是强制“平衡路由”,即通过训练策略让每个专家在足够大的训练批次中被激活的次数大致相等。这一策略也就是“辅助损失”。但这种强制性的辅助损失会由于训练数据的结构不均衡特征,导致同领域的专家能力分散到不同的专家模块之中,极度损害MoE模型的性能。理想的 MoE 应该有一些经常访问高频通用信息,并具备其他访问较少的专业领域专家。如果强制平衡路由,将失去实现此类路由设置的能力,并且必须在不同的专家之间冗余地复制信息。
DeekSeek采用了“增加共享专家+无辅助损耗负载平衡”的方法解决这一问题。
DeepSeek将专家分两类:共享专家和路由专家。共享专家始终会被路由,训练中重点确保路由专家的路由均衡。
无辅助损耗负载均衡(Auxiliary-Loss-Free Load Balancing)方法是将特定于专家的偏