DeepSeek核心算法分析:如何打造比肩ChatGPT的国产大模子 ...

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

注:此文章内容均节选自充电了么首创人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】

  
DeepSeek大模子技术系列一

DeepSeek核心算法分析:如何打造比肩ChatGPT的国产大模子

DeepSeek核心算法分析:如何打造比肩ChatGPT的国产大模子DeepSeek-AI
摘要
我们推出 DeepSeek-V3,这是一款强大的混合专家(MoE)语言模子,总参数达 6710 亿,每个 token 激活 370 亿参数。为实现高效推理和经济高效的训练,DeepSeek-V3 采用多头潜伏注意力(MLA)和 DeepSeekMoE 架构,这些架构在 DeepSeek-V2 中已得到充分验证。别的,DeepSeek-V3 首创了无辅助损失的负载均衡计谋,并设置了多 token 推测训练目标,以提拔性能。我们在 14.8 万亿多样且高质量的 token 上对 DeepSeek-V3 进行预训练,随后通过监督微调(Supervised Fine-Tuning)和强化学习(Reinforcement Learning)阶段充分发挥其本领。综合评估显示,DeepSeek-V3 性能优于其他开源模子,与领先的闭源模子相当。尽管性能杰出,但 DeepSeek-V3 的完整训练仅需 278.8 万个 H800 GPU 小时,训练过程也非常稳定,在整个训练过程中未出现任何不可规复的损失峰值,也无需进行回滚利用。模子检查点可在https://github.com/deepseek-ai/DeepSeek-V3获取。
目录
1.引言 - 4
2.架构 - 6
2.1 根本架构 - 6
2.1.1 多头潜伏注意力 - 7
2.1.2 采用无辅助损失负载均衡的 DeepSeekMoE - 8
2.2 多 token 推测 - 10
1.基础设施 - 11
3.1 计算集群 - 11
3.2 训练框架 - 12
3.2.1 DualPipe 与计算通讯重叠 - 12
3.2.2 跨节点全对全通讯的高效实现 - 13
3.2.3 极低的内存占用与最小开销 - 14
3.3 FP8 训练 - 14
3.3.1 混合精度框架 - 15
3.3.2 量化与乘法的精度提拔 - 16
3.3.3 低精度存储与通讯 - 18
3.4 推理与部署 - 18
3.4.1 预填充 - 19
3.4.2 解码 - 19
3.5 硬件设计发起 - 20
3.5.1 通讯硬件 - 20
3.5.2 计算硬件 - 20
2.预训练 - 22
4.1 数据构建 - 22
4.2 超参数 - 22
4.3 长上下文扩展 - 23
4.4 评估 - 24
4.4.1 评估基准 - 24
4.4.2 评估效果 - 25
4.5 讨论 - 26
4.5.1 多 token 推测的消融研究 - 26
4.5.2 无辅助损失平衡计谋的消融研究 - 27
4.5.3 批量负载平衡与序列负载平衡 - 27
3.后训练 - 28
5.1 监督微调 - 28
5.2 强化学习 - 28
5.2.1 嘉奖模子 - 29
5.2.2 组相对计谋优化 - 30
5.3 评估 - 30
5.3.1 评估设置 - 30
5.3.2 标准评估 - 32
5.3.3 开放评估 - 33
5.3.4 DeepSeek-V3 作为生成式嘉奖模子 - 33
5.4 讨论 - 34
5.4.1 从 DeepSeek-R1 蒸馏知识 - 34
5.4.2 自嘉奖 - 34
5.4.3 多 token 推测评估 - 35
4.结论、局限性与未来方向 - 35
A. 贡献与致谢 - 45
B. 低精度训练的消融研究 - 47
B.1 FP8 与 BF16 训练对比 - 47
B.2 关于块量化的讨论 - 47
C. 基于 160 亿参数有辅助损失和无辅助损失模子的专家专业化模式 - 48

  • 引言
    近年来,大语言模子(LLMs)迅速迭代发展(Anthropic, 2024; Google, 2024; OpenAI, 2024a),与通用人工智能(AGI)的差距徐徐缩小。除了闭源模子,包括 DeepSeek 系列(DeepSeek-AI, 2024a,b,c; Guo 等人,2024)、LLaMA 系列(AI@Meta, 2024a,b; Touvron 等人,2023a,b)、Qwen 系列(Qwen, 2023, 2024a,b)和 Mistral 系列(Jiang 等人,2023; Mistral, 2024)在内的开源模子也在不断进步,努力缩小与闭源模子的差距。为进一步拓睁开源模子的本领边界,我们扩大模子规模,推出了具有 6710 亿参数的大型混合专家(MoE)模子 DeepSeek-V3,每个 token 激活 370 亿参数。
我们以前瞻性的视角,始终寻求强大的模子性能和经济的成本。因此,在架构方面,DeepSeek-V3 仍采用多头潜伏注意力(MLA)(DeepSeek-AI, 2024c)实现高效推理,采用 DeepSeekMoE(Dai 等人,2024)进行经济高效的训练。这两种架构在 DeepSeek-V2 中已得到验证,证实它们可以或许在实现高效训练和推理的同时,保持强大的模子性能。除了根本架构,我们还实行了两种额外计谋来进一步提拔模子本领。首先,DeepSeek-V3 首创了无辅助损失的负载均衡计谋(Wang 等人,2024a),旨在最小化因鼓励负载均衡而对模子性能产生的不利影响。其次,DeepSeek-V3 采用多 token 推测训练目标,我们发现这可以提高模子在评估基准上的整体性能。
为实现高效训练,我们支持 FP8 混合精度训练,并对训练框架进行全面优化。低精度训练已成为高效训练的一种有远景的解决方案(Dettmers 等人,2022; Kalamkar 等人,2019; Narang 等人,2017; Peng 等人,2023b),其发展与硬件本领的提拔密切相关(Luo 等人,2024; Micikevicius 等人,2022; Rouhani 等人,2023a)。在本研究中,我们引入了 FP8 混合精度训练框架,并初次在超大规模模子上验证了其有效性。通过支持 FP8 计算和存储,我们实现了训练加快和 GPU 内存占用的淘汰。在训练框架方面,我们设计了 DualPipe 算法实现高效的流水线并行,该算法淘汰了流水线气泡,并通过计算 - 通讯重叠在训练过程中隐藏了大部门通讯开销。这种重叠确保了随着模子规模的进一步扩大,只要我们保持恒定的计算与通讯比率,就可以在跨节点使用细粒度专家的同时,实现近乎为零的全对全通讯开销。别的,我们还开发了高效的跨节点全对全通讯内核,以充分利用 InfiniBand(IB)和 NVLink 带宽。我们还经心优化了内存占用,使得在不使用昂贵的张量并行的情况下也能训练 DeepSeek-V3。综合这些努力,我们实现了高训练效率。
在预训练阶段,我们使用 14.8 万亿高质量且多样的 token 对 DeepSeek-V3 进行训练。预训练过程非常稳定,在整个训练过程中,我们没有碰到任何不可规复的损失峰值,也无需回滚。接下来,我们对 DeepSeek-V3 进行了两个阶段的上下文长度扩展。在第一阶段,最大上下文长度扩展到 32K,在第二阶段,进一步扩展到 128K。之后,我们对 DeepSeek-V3 的基础模子进行后训练,包括监督微调(SFT)和强化学习(RL),使其符合人类偏好并进一步释放其潜力。在后训练阶段,我们从 DeepSeekR1 系列模子中提取推理本领,同时仔细平衡模子准确性和生发展度。
训练成本 预训练 上下文扩展 后训练 总计
H800 GPU 小时数 266.4 万 11.9 万 0.5 万 278.8 万
美元成本 532.8 万美元 23.8 万美元 1 万美元 557.6 万美元
表 1 DeepSeek-V3 的训练成本(假设 H800 的租用代价为每 GPU 小时 2 美元)
我们在一系列综合基准上对 DeepSeek-V3 进行评估。尽管训练成本经济,但综合评估显示,DeepSeek-V3 基础模子已成为现在最强的开源基础模子,特别是在代码和数学范畴。其谈天版本在一系列标准和开放基准上也优于其他开源模子,性能与领先的闭源模子(如 GPT-4o 和 Claude-3.5-Sonnet)相当。
末了,我们再次夸大 DeepSeek-V3 经济的训练成本,总结在表 1 中,这是通过我们对算法、框架和硬件的优化协同设计实现的。在预训练阶段,训练 DeepSeek-V3 每万亿 token 仅需 18 万 H800 GPU 小时,即在拥有 2048 个 H800 GPU 的集群上训练 3.7 天。因此,我们的预训练阶段在不到两个月的时间内完成,耗费 266.4 万 GPU 小时。联合上下文长度扩展的 11.9 万 GPU 小时和后训练的 0.5 万 GPU 小时,DeepSeek-V3 的完整训练仅需 278.8 万 GPU 小时。假设 H800 GPU 的租用代价为每 GPU 小时 2 美元,我们的总训练成本仅为 557.6 万美元。需要注意的是,上述成本仅包括 DeepSeek-V3 的官方训练成本,不包括与架构、算法或数据的前期研究和消融实验相关的成本。
我们的主要贡献包括:
架构:创新的负载均衡计谋和训练目标
在 DeepSeek-V2 高效架构的基础上,我们首创了无辅助损失的负载均衡计谋,最小化了因鼓励负载均衡而导致的性能下降。
我们研究了多 token 推测(MTP)目标,并证实其对模子性能有益。它还可用于推测解码以加快推理。
预训练:寻求极致训练效率
我们设计了 FP8 混合精度训练框架,并初次在超大规模模子上验证了 FP8 训练的可行性和有效性。
通过算法、框架和硬件的协同设计,我们降服了跨节点 MoE 训练中的通讯瓶颈,实现了近乎完全的计算 - 通讯重叠。这显着提高了我们的训练效率,降低了训练成本,使我们可以或许在不增长额外开销的情况下进一步扩大模子规模。以仅 266.4 万 H800 GPU 小时的经济成本,我们完成了在 14.8 万亿 token 上对 DeepSeek-V3 的预训练,生成了现在最强的开源基础模子。预训练后的后续训练阶段仅需 10 万 GPU 小时。
后训练:从 DeepSeek-R1 进行知识蒸馏
我们引入了一种创新方法,将长思维链(CoT)模子(具体为 DeepSeek R1 系列模子之一)的推理本领蒸馏到标准大语言模子中,特别是 DeepSeek-V3。我们的流程奥妙地将 R1 的验证和反思模式融入 DeepSeek-V3,显着提高了其推理性能。同时,我们还控制了 DeepSeek-V3 的输出风格和长度。
核心评估效果总结
知识:(1)在 MMLU、MMLU-Pro 和 GPQA 等教育基准上,DeepSeek-V3 优于全部其他开源模子,在 MMLU 上得分为 88.5,在 MMLU-Pro 上得分为 75.9,在 GPQA 上得分为 59.1。其性能与 GPT-4o 和 Claude-Sonnet-3.5 等领先的闭源模子相当,缩小了开源和闭源模子在该范畴的差距。(2)在事实性基准上,DeepSeek-V3 在 SimpleQA 和 Chinese SimpleQA 上均展示了开源模子中的杰出性能。固然在英语事实知识(SimpleQA)方面落伍于 GPT-4o 和 Claude-Sonnet-3.5,但在中文事实知识(Chinese SimpleQA)方面凌驾了这些模子,凸显了其在中文事实知识方面的上风。
代码、数学和推理:(1)DeepSeek-V3 在全部非长 CoT 的开源和闭源模子中,在数学相关基准上取得了开始进的性能。值得注意的是,它在特定基准(如 MATH-500)上甚至凌驾了 o1-preview,展示了其强大的数学推理本领。(2)在编码相关任务中,DeepSeek-V3 在编码比赛基准(如 LiveCodeBench)中体现最佳,巩固了其在该范畴的领先职位。在工程相关任务中,固然 DeepSeek-V3 的体现略低于 Claude-Sonnet-3.5,但仍大幅领先其他模子,展示了其在各种技术基准上的竞争力。
在本文的别的部门,我们首先详细先容 DeepSeek-V3 模子架构(第 2 节)。随后,我们先容基础设施,包括计算集群、训练框架、FP8 训练支持、推理部署计谋以及对未来硬件设计的发起。接下来,我们描述预训练过程,包括训练数据的构建、超参数设置、长上下文扩展技术、相关评估以及一些讨论(第 4 节)。之后,我们讨论后训练工作,包括监督微调(SFT)、强化学习(RL)、相应的评估和讨论(第 5 节)。末了,我们总结这项工作,讨论 DeepSeek-V3 的现有局限性,并提出未来研究的潜伏方向(第 6 节)。
2. 架构
我们首先先容 DeepSeek-V3 的根本架构,其特点是采用多头潜伏注意力(MLA)(DeepSeek-AI, 2024c)实现高效推理,采用 DeepSeekMoE(Dai 等人,2024)进行经济高效的训练。然后,我们提出多 token 推测(MTP)训练目标,我们发现这可以提高模子在评估基准上的整体性能。对于未明确提及的其他细节,DeepSeek-V3 遵照 DeepSeek-V2(DeepSeek-AI, 2024c)的设置。
2.1 根本架构
DeepSeek-V3 的根本架构仍基于 Transformer(Vaswani 等人,2017)框架。为实现高效推理和经济高效的训练,DeepSeek-V3 还采用了经 DeepSeek-V2 充分验证的 MLA 和 DeepSeekMoE。与 DeepSeek-V2 差别的是,我们为 DeepSeekMoE 引入了无辅助损失的负载均衡计谋(Wang 等人,2024a),以减轻为确保负载均衡而对模子性能造成的影响。图 2 展示了 DeepSeek-V3 的根本架构,我们将在本节扼要回顾 MLA 和 DeepSeekMoE 的细节。

图 2 DeepSeek-V3 根本架构示意图。遵照 DeepSeek-V2,我们采用 MLA 和 DeepSeekMoE 实现高效推理和经济高效的训练
2.1.1 多头潜伏注意力
对于注意力机制,DeepSeek-V3 采用 MLA 架构。设体现嵌入维度,体现注意力头数,体现每个头的维度,体现给定注意力层中第个 token 的注意力输入。MLA 的核心是对注意力键值进行低秩联合压缩,以淘汰推理时的键值(KV)缓存:
此中是键值的压缩潜伏向量;体现 KV 压缩维度;体现下投影矩阵;、分别是键值的上投影矩阵;是用于生成携带旋转位置嵌入(RoPE)(Su 等人,2024)的解耦键的矩阵;RoPE 体现应用 RoPE 矩阵的利用;体现拼接。需要注意的是,对于 MLA,在生成过程中仅需缓存蓝色框中的向量(即和),这显着淘汰了 KV 缓存,同时保持与标准多头注意力(MHA)(Vaswani 等人,2017)相当的性能。
对于注意力查询,我们也进行低秩压缩,这可以淘汰训练期间的激活内存:
此中是查询的压缩潜伏向量;体现查询压缩维度;、$W^{U Q
、分别是查询的下投影和上投影矩阵;是用于生成携带 RoPE 的解耦查询的矩阵。
终极,注意力查询()、键()和值()相联合,产生终极的注意力输出:
此中体现输出投影矩阵。
2.1.2 采用无辅助损失负载均衡的 DeepSeekMoE
DeepSeekMoE 根本架构:对于前馈网络(FFNs),DeepSeek-V3 采用 DeepSeekMoE 架构(Dai 等人,2024)。与传统的 MoE 架构(如 GShard(Lepikhin 等人,2021))相比,DeepSeekMoE 使用更细粒度的专家,并将部门专家设置为共享专家。设体现第个 token 的 FFN 输入,我们按如下方式计算 FFN 输出:
否则
此中和分别体现共享专家和路由专家的数量;和分别体现第个共享专家和第个路由专家;体现激活的路由专家数量;是第个专家的门控值;是 token 与专家的亲和度;是第个路由专家的质心向量;体现在为第个 token 和全部路由专家计算的亲和度分数中,包罗个最高分数的聚集。与 DeepSeek-V2 略有差别,DeepSeek-V3 使用 sigmoid 函数计算亲和度分数,并对全部选定的亲和度分数进行归一化以生成门控值。
无辅助损失负载均衡:对于 MoE 模子,专家负载不均衡会导致路由瓦解(Shazeer 等人,2017),并在专家并行的场景中降低计算效率。传统解决方案通常依靠辅助损失(Fedus 等人,2021;Lepikhin 等人,2021)来避免负载不均衡。然而,过大的辅助损失会损害模子性能(Wang 等人,2024a)。为了在负载均衡和模子性能之间实现更好的平衡,我们首创了无辅助损失的负载均衡计谋(Wang 等人,2024a)来确保负载均衡。具体来说,我们为每个专家引入一个毛病项,并将其添加到相应的亲和度分数中,以确定前路由:
否则
注意,毛病项仅用于路由。与 FFN 输出相乘的门控值仍由原始亲和度分数导出。在训练过程中,我们持续监控每个训练步骤中整个批次的专家负载。在每个步骤竣事时,如果相应专家负载过高,我们将毛病项减小;如果负载过低,则将其增大,此中是一个称为毛病更新速率的超参数。通过动态调整,DeepSeek-V3 在训练过程中保持专家负载平衡,而且比仅通过辅助损失鼓励负载均衡的模子体现更好。
互补的序列级辅助损失:固然 DeepSeek-V3 主要依靠无辅助损失计谋来实现负载平衡,但为了防止单个序列内出现极端不平衡,我们还采用了互补的序列级平衡损失:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表