您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[Memorycompute]:DeepSeek V3/R1架构的深度分析与深度思考 - 发现报告

DeepSeek V3/R1架构的深度分析与深度思考

信息技术2025-02-15陈巍Memorycompute故***
AI智能总结
查看更多
DeepSeek V3/R1架构的深度分析与深度思考

陈巍 2025.02 报告人简介 陈巍博士 领域:大模型+AI芯片 •陈巍博士,大模型+AI芯片专家,高级职称,中存算董事长。国际计算机学会(ACM)、中国计算机学会(CCF)专业会员,多个国际人工智能期刊审稿人。 •主要研究方向为大模型架构、稀疏量化压缩与部署加速,存算一体与3D Chiplet处理器,相关技术成果已被广泛应用于知名IDC和互联网企业。 •曾任领域知名人工智能(自然语言处理)企业首席科学家,中国科学院副主任(2012),多个国家科技重大专项课题负责人。中国与美国发明专利软件著作权约70+项(约50+项发明专利已授权)。著有《Sora大模型技术精要—原理、关键技术、模型架构与未来趋势》《GPT-4大模型硬核解读》《DeepSeek是否有国运级的创新?2万字解读与硬核分析DeepSeek V3/R1的架构》等。 大语言模型的本质 •知识,是指人类在实践中认识(计算)客观世界的成果•大语言模型本质上是“对知识的压缩(存)+对输入的反馈(算)” 模型能力=模型大小x压缩倍数x反馈能力系数or模型能力=(模型大小x压缩倍数+向量数据库大小) x反馈能力系数 •Knowledge is computing power(知识就是算力)•视频大模型的性能与其“知识”体量密切相关 本人2024年12月的公开预测: •视频大模型参数量未来会达到主流文本大模型的1-3个数量级•3年内日常生活算力需求至少提升1个数量级(提前实现?)•拥有数据最多的企业将是具身智能机器人企业 1 Scaling law与Moore's law的范式共生 2 DeepSeek的架构提升与既要又要3 V3/R1训练架构与软硬件协同进化4 V3/R1训练流程与RL变幻莫测的潜力5从DeepSeek到算力竞赛的深度思考 回顾Scaling Laws Scaling Laws,也称为缩放定律或规模定律,是描述模型性能如何随着模型规模(如参数数量)、训练数据集大小以及用于训练的计算资源增加而提升的一组经验法则 模型大小与性能的关系数据量与性能的关系计算量与性能的关系性能的可预测性模型结构的影响 Moore’s law与模型算法的进步 集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。换言之,处理器的性能大约每两年翻一倍,同时价格下降为之前的一半 每年算法进步的速度为4倍,意味着每过一年,实现相同能力所需的计算资源减少4倍 事实上等效于(Moore’s law)^2 MoE与Amdahl’s Law(DeepSeek是否受到芯片大小核思路影响?) MoE(Mixture of Experts)是组合多个专家模型提升深度学习模型性能和效率的架构。其核心思想是通过引入多个专家模型(Experts),每个输入数据只选择和激活其中的一部分专家模型进行处理,从而减少计算量,提高训练和推理速度。MoE的概念在1991年就已提出,训练不容易收敛是MoE在大模型领域应用的主要障碍。 计算负载是固定不变的。为此在一定的计算负载下,为达到实时性可利用增加处理器数来提高计算速度/性能 S为speedup,代表全局加速倍速(原来总时间/加速后总时间),a为并行计算所占比例(可以并行计算代码量/总代码量),n为并行节点处理个数,可以理解为处理器的核心数 DeepSeek的进步(对开源社区的关键贡献) 以往的每次成本降低并未冲击英伟达市值英伟达市值大降是否与DeepSeek直接关联? Dario Amodei:Shifting theparadigm(转变范式)Amdahl’s Law在DeepSeek R1之前这一范式转移已经发生开源领域则是第一次 1 Scaling law与Moore's law的范式共生2 DeepSeek的架构提升与既要又要3 V3/R1训练架构与软硬件协同进化4 V3/R1训练流程与RL变幻莫测的潜力5从DeepSeek到算力竞赛的深度思考 既要又要与唯快不破 更高性能的模型 更好训练的模型 DeepSeek-V3/R1 DeepSeek-V3/R1 DeepSeek-V3是一个混合专家(MoE)语言模型,具有6710亿(671B)参数,其中每个Token(词元)的计算约激活370亿(37B)参数。这个模型参数量与GPT-4大致在同一数量级DeepSeek-R1的模型架构来自于V3,甚至可以说R1是具有推理(Reasoning)能力的V3 R1模型族 广义上的DeepSeek-R1不是一个单一的模型,还包括了R1的初始阶段模型DeepSeek-R1-Zero,以及几个基于R1蒸馏的较小的大模型 主要架构特点 采用了多头潜注意力(MLA,对传统多头注意力机制的改进)DeepSeekMoE架构(对传统MoE架构的改进)无辅助损失的负载平衡策略等创新技术 MLA:从KV Cache(KV缓存)说起 Why KV Cache 当使用传统Transformer在推断(Inference)过程中计算并生成Token(词元)时,模型需要读入所有过去Token的上下文,以决定接下来输出什么Token 目前常用的方法是缓存所有过去Token的相关内部状态,主要是注意力机制中的键(Key)和值(Value)向量。这也是键值缓存(简称KV缓存,也就是常说的KV Cache)名称的由来 不同注意力机制对比 GQA 目前开源大模型中的主流方法是分组查询注意力(Grouped-Query Attention)机制。在这种机制中,为每对键和值头分配多个查询头,将查询头有效的分组在一起。在Llama 3.3 70B和Mistral Large 2等模型中,仅分组查询注意力机制就将KV缓存大小减少了大约一个数量级 Multi-Head Latent Attention 低秩形式 MLA的本质 MLA的方法是将KV矩阵转换为低秩形式,将原矩阵表示为两个较小矩阵(相当于潜向量)的乘积,在推断过程中,仅缓存潜向量,而不缓存完整的键KV。这规避了分组查询注意力和多查询注意力的查询的信息损失,从而在降低KV缓存的前提下获得更好的性能 是对KV的有损压缩,提高存储信息密度的同时尽可能保留关键细节。该技术首次在DeepSeek-V2中引入,与分组查询和多查询注意力等方法相比,MLA是目前开源模型里显著减小KV缓存大小的最佳方法 其他KV Cache优化方法 Linear-Time Sequence Models and Mixed Architecture •线性时间序列模型,例如Mamba、RWKV,也叫KV Cache Free方法•线性时间序列模型和Transformer结合的方法,例如Griffin Quantization Token Dropping •主要分为prefill期间丢弃令牌和在prefill后丢弃令牌 Prompt Compression •通过摘要功能,直接压缩Prompt•通过将长提示转换为短提示同时保持其自然语言格式,比如LLMLingua,相当于是一种翻译方法 Mixture of Experts MoE(Mixture of Experts)是组合多个专家模型提升深度学习模型性能和效率的架构。其核心思想是通过引入多个专家模型(Experts),每个输入数据只选择和激活其中的一部分专家模型进行处理,从而减少计算量,提高训练和推理速度 无辅助损耗负载均衡(也许还有更好的方法) 相比Dense模型,MoE主要增加了专家路由,通过门控(仅有开或关)的方法,负责将数据流引向不同的专家模块。专家路由事实上引入了一个不连续的门控函数(对梯度计算不友好),这导致梯度下降优化方法在MoE训练中表现不佳,甚至出现“路由崩溃”,即模型容易陷入始终为每个Token激活相同的少数专家的窘境,而不是将计算合理的传播到所有的可用专家 无 辅 助 损 耗 负 载 均 衡 (Auxiliary-Loss-Free LoadBalancing)方法是将特定于专家的偏差项添加到路由机制和专家亲和力中。偏差项不会通过梯度下降进行更新,而是在整个训练过程中持续监控并进行调整以确保负载平衡。如果训练中某个专家没有获得合理的命中次数,可以在每个梯度步骤中精调偏差项增加命中概率 MoE VS Dense MoE架构的本质是模型参数分布式存储,MoE减少计算量的代价可能是不同专家模型的参数重复和总参数量增加,这往往也意味着更大更贵的HBM成本。外界传言的MoE模型可以更小,其实是指的MoE模型蒸馏的Dense模型可以兼顾参数量和推理(Reasoning)性能 MoE模型与应用领域高度和TOC(Total Owning Cost,总拥有成本)密切相关,很多场景MoE未必比Dense模型好 1 Scaling law与Moore's law的范式共生2 DeepSeek的架构提升与既要又要3 V3/R1训练架构与软硬件协同进化4 V3/R1训练流程与RL变幻莫测的潜力5从DeepSeek到算力竞赛的深度思考 V3/R1训练架构的独特优势(快!) 1)FP8混合精度训练框架 引入了FP8混合精度训练框架,并首次在超大规模大模型训练上验证了这一框架的有效性。通过对FP8低比特计算和存储的支持,实现了训练的加速和GPU内存使用的减少 2)DualPipe算法 设计了DualPipe算法来实现更高效的流水线并行,并通过计算-通信重叠隐藏了大模型训练过程中的大部分通信开销 3)跨节点All-to-All通信内核 开 发 了 高 效 的 跨 节 点All-to-All通 信 内 核 , 以 充 分 利 用InfiniBand(IB)和NVLink带宽;对显存使用进行了优化,无需使用昂贵的张量并行即可训练DeepSeek-V3 软件层面的并行优化 针对软件并行策略的硬件优化 为了配合HAI-LLM训练框架(软件),DeepSeek(曾经)采用两层Fat-Tree拓扑+ InfiniBand(IB)作为集群架构(硬件)。(作者注:DeepSeek目前在用的集群架构应该比这个更先进) 减少互连层次减少通信软件栈深度减少故障率降低成本 这一集群架构的核心思路是减少互连层次,降低训练的综合成本。相对DGX-A100的标准万卡集群三层Fat-Tree的1320个交换机,DeepSeek的同规模集群仅仅需要122台交换机,至少节省了40%的互连成本 HFReduce与HFReduce with NVLink HFReduce 针对所采用的硬件架构特点,DeekSeek开发了HFReduce(针对不使用NVLink的方案),以执行高效的allreduce操作。HFReduce会首先执行节点内reduce,然后通过CPU执行节点间allreduce,最后将reduced数据传输到GPU。这样的优化需要DeepSeek团队对硬件互连有非常深刻的理解 HFReduce with NVLink DeepSeek团 队 也 开 发 了 基 于NVLink的HFReduce withNVLink,在将梯度传递给CPU之前,先在NVLink互连的GPU之间执reduce减作;当CPU返回结果时,会将数据切分并分别返回给NVLink连接的配对GPU,再通过NVLink执行allgather。 FP8训练框架体系(省) FP8训练的问题 通常的大模型训练会采用BF16(16位浮点)或FP32/TF32(32位浮点)精度作为数据计算和存储的格式,来确保较高的训练精度。相比之下,FP8占用的数据位宽仅为FP32的1/4,可以有力的提升计算速度,降低对存储的消耗。当然,FP8也存在精度不高,容易导致训练失败的潜在问题。 FP8的训练框架体系 DeepSeek-V3主要使用FP8(8位浮点数)来提高计算速度并减少训练期间的显存使用量。为了让FP8更好的完成训练