Advertisement

DeepSeek-V3-技术文档详细介绍

阅读量:

模型基本信息

模型类型 :DeepSeek - V3是一种基于专家体系的混合架构语言模型。该语言模型通过动态整合不同领域专家的知识与能力,在生成与推理之间实现了良好的平衡与协同工作模式。这种架构通过动态整合不同专家的输出来优化整体性能。

模型容量方面

技术架构与创新

采用的架构 *

多头潜在注意力机制(MLA)使得模型能够同时关注输入的不同方面,并能捕获更为丰富且复杂的语义信息与上下文关系,并提升整体理解能力和生成效果。

DeepSeekMoE架构:基于MoE架构进行优化以降低计算开销并提升性能水平。该系统整合多组专家模块以应对不同类型的任务或数据模式,并通过分析输入特征自适应地将任务分配至相应的专家模块。这不仅显著提升了模型的整体能力,而且有效降低了整体计算开销。

创新策略 *

一种无需辅助损失函数的负载平衡策略:传统的负载平衡方法通常会借助辅助损失函数来实现各子模型之间的负载均衡。然而,DeepSeek - V3则开创性地提出了一种完全不依赖于辅助损失函数的负载分配方案。该方案能够有效地均衡计算资源分配,并通过避免传统方法中依赖于辅助损失函数可能带来的负面影响而显著提升模型训练过程的质量与可靠性;并且在推理阶段能够显著提升结果预测的准确性。

多token预测训练目标 :与传统的每次仅预测单个token的方式相比,在DeepSeek - V3中实现了多token预测训练目标的设计。这种设计使得模型能够同时处理多个tokens,在提高训练信号密度的同时也增强了对长距离上下文依赖关系的理解能力。这不仅有助于生成更加流畅且合乎逻辑的文字内容,并且还可以利用推测性解码技术来加快推理速度。

训练过程

预训练:在规模达到1480亿级别且丰富的多样化高质量token样本上进行预训练。这一过程被定义为语言模型学习语言基础知识和通用模式的关键环节。通过系统地分析海量文本数据,模型能够深刻理解和掌握语言的语法结构、语义含义以及逻辑关系等基础要素,并以此为基础为其后续的微调和其他任务打下坚实基础。

后续阶段:经过预训练过程后,我们依次进行了监督微调(Supervised Fine-tuning)和强化学习环节(Reinforcement Learning)。通过监督微调这一环节,在特定任务或领域内能够显著增强模型的性能能力;而强化学习则有助于模型更好地与人类偏好目标实现精准契合,在实际应用中展现出更高的性能水平,并有效提升了模型的泛化能力;此外,在处理新数据和未见过的任务方面也展现出了更强的能力。

训练成本与效率:DeepSeek - V3能够以278.8万H1600 GPU小时的时间实现整个训练过程,在同类大型语言模型中显著降低了整体资源投入成本。该系统创新性地采用了一种基于FP16和BF16混合精度的训练架构,在如此庞大的模型规模下展示了FP16与BF16联合使用的优势。该架构通过多维度优化策略以及硬件性能提升措施的有效结合,在跨节点MoE分布式计算中成功克服了通信瓶颈问题,在保证计算效能的同时实现了通信开销几乎为零的状态。

性能表现

综合评估结果表明,在多项基准测试中进行比较分析后发现

模型可用性

模型检查点可从GitHub上的该链接获取

1 Introduction

近年来,在人工智能领域中发展迅速的大语言模型(LLMs)已展现出接近通用人工智能(AGI)的能力,并取得了显著进展

为增强开源模型的能力


1.1 DeepSeek-V3的核心创新与设计

架构设计

DeepSeek-V3的架构设计基于以下两个核心组件:

多头潜在注意力(MLA):作为一种高性能机制,在DeepSeek-V2系统中经过实验验证后显示出了显著的优势,并使得模型推理速度得到明显提高。

DeepSeek MoE 体系结构:该体系通过改进 MoE(混合专家)模型的训练流程,在保证高效性的同时实现了资源的最优配置。其中 MoE 模型通过在每个字符位置上合理配置可调参数数量,在降低整体计算负担的同时有效提升了系统性能表现。

此外,DeepSeek-V3还引入了两项创新策略:

无辅助损失的负载均衡策略:在莫队网络模型架构(MoE)中(即莫特网队列网络架构),负载均衡问题被视为核心挑战。传统的方法通常会引入额外的辅助消耗成本,并可能对系统性能产生负面影响。通过其创新设计的核心技术——不带额外辅助消耗的成本优化方案(基于DeepSeek-V3架构),该团队成功降低了由于负载均衡带来的性能下降风险。

这种训练目标不仅提高了模型在基准测试中的性能,并且能够用于加快推理速度的同时进一步提升了模型的工作效率

高效训练策略

为了实现高效训练,DeepSeek-V3采用了以下策略:

FP8混合精度训练:该格式是一种低精度数据格式,在降低内存占用的同时提升了计算效率。DeepSeek-V3首次在超大规模模型中验证了该格式在大规模模型训练中的适用性和有效性,并由于支持该格式的计算和存储功能而显著减少了GPU内存占用。

优化后的训练架构:DeepSeek-V3系统采用了DualPipe算法方案,在降低数据传输瓶颈的同时实现了计算与通信过程的有效并行。该系统还通过构建了一个高效且可靠的跨节点通信核心模块,在充分释放InfiniBand与NVLink带宽资源的基础上显著提升了整体性能。

内存优化方案:经过精心设计的DeepSeek-V3能够在无需采用高成本的张量并行计算的情况下完成训练任务,并进一步降低了系统的硬件成本。

预训练与后训练

预训练

DeepSeek-V3基于14.8万亿规模的高质量、多样化数据集进行过全面评估后发现其预训练过程异常稳定

预训练阶段中最大的上下文窗口大小从32,000 tokens增长至128,000 tokens,并显著增强了模型在处理长文本方面的性能

预训练的经济成本极低,仅需266.4万H800 GPU小时,显著低于其他类似规模的模型。

后训练

涵盖监督微调(SFT)和强化学习(RL)阶段,在这一过程中进一步提升其性能水平,并使最终输出结果与其预期保持高度一致。

从DeepSeek-R1系列版本中提取了核心推理能力,并通过知识蒸馏技术将长思维链(CoT)模型的推理功能成功整合到DeepSeek-V3中。这显著增强了该系统的推理性能。


1.2 性能评估

DeepSeek-V3在多个基准测试中表现出色,尤其是在代码和数学任务上:

知识类任务

基于MMLU、MMLU-Pro以及GPQA等教育基准测试的评估框架下, DeepSeek-V3显著超越了所有开源模型, 在性能上与GPT-4o及Claude-Sonnet-3.5等闭源模型具有可比性。

基于DeepSeek-V3的模型,在SimpleQA及中国的Simple QA测试中进行了评估,并取得了显著成绩。该模型特别强于其他模型在中文事实知识领域。

代码、数学与推理任务

在数学相关基准测试任务中

在标准化的编程竞赛评估平台上进行测试(如LiveCodeBench),DeepSeek-V3系统展现出卓越的技术实力,在代码生成任务中取得了优异成绩,并进一步强化了其在代码生成技术领域的领先地位


1.3 训练成本总结

DeepSeek-V3的训练成本非常经济:

预训练阶段 :266.4万H800 GPU小时。

上下文长度扩展 :11.9万H800 GPU小时。

后训练阶段 :0.5万H800 GPU小时。

总训练成本 :278.8万H800 GPU小时,折合557.6万美元(假设每GPU小时2美元)。

此成本明显低于同类规模的其他模型,并且表明DeepSeek-V3在训练效率方面表现出色


1.4 未来方向与局限性

尽管DeepSeek-V3取得了显著进展,但仍存在一些局限性:

系统的稳定性表现如何? 然而系统的稳定性表现仍然良好。 不过,在更大规模的应用场景下需要采取相应的优化措施以更好地适应复杂性需求。

尽管多token预测训练目标能够促进推理速度的加快,在实际应用场景中为了更好地满足需求和提高系统性能,在保持现有技术优势的基础上进一步优化算法和模型结构成为必要的举措。

系统效能分析:尽管DeepSeek-V3在多个领域展现出色表现但其在特定领域中仍处于劣势地位展望未来需着重提升系统架构效率并完善训练方法

DeepSeek-V3采用了创新性的架构设计、结合高效训练策略以及实施经济成本控制措施,在开源大语言模型中实现了显著性能提升。经过多方面的评测验证(Benchmark testing),该系统展现了卓越的能力特征,在代码处理能力和数学推理能力方面表现尤为突出。展望未来(Looking ahead),该研究团队计划进一步优化模型性能,并努力缩小与封闭源模型之间的差距;同时将探索更多潜在的应用领域。

2 Architecture

我们首先阐述了DeepSeek - V3的核心架构及其关键技术特征。该系统采用多头潜在注意力机制(MLA),能够有效提升推理效率的同时保证计算效率。基于此,在构建过程中并采用DeepSeekMoE模型(Dai等人, 2024)来进行经济高效的训练工作。随后提出了多标记预测(MTP)作为训练目标,并通过该目标的设计与应用,在多个评估基准上显著提升了模型的整体性能水平。对于未在此处详细说明的其他技术细节,则参考了DeepSeek - V2的相关设定方案(DeepSeek - AI, 2024c)。

2.1 Basic Architecture 基础架构

模型基础框架:DeepSeek-V3的主要架构依赖于Vaswani等人在2017年提出的Transformer-based architecture。该架构已成为众多现代语言模型的核心组件,并为其提供了强大的通用架构基础。

采用的技术架构 *

MLA 和 DeepSeek MoE:旨在通过多头潜在注意力机制(MLA)以及大规模混合专家网络(DeepSeek MoE),实现高效的推理与训练过程。这些架构基于 DeepSeek-V2 的成功应用得到了广泛验证,并能够有效平衡模型性能与计算效率。

无辅助损失的负载均衡策略:相较于DeepSeek-V2,在DeepSeek-V3中采用了不借助额外损失机制的负载均衡策略。这种设计旨在以减少模型在保证良好负载均衡时对性能所产生的负面影响,并使模型在训练期间各组件之间的负载更加平衡。通过这一改进,不仅提升了整体训练过程中的稳定性与效率,并且有效避免了由于负载不均衡而导致的性能下降现象。

架构图示:图2直观地呈现了DeepSeek-V3的基本架构,在后续章节中将对MLA和DeepSeekMoE的相关细节进行简要介绍,并帮助读者更好地理解模型的构造以及工作原理。

Multi-Head Latent Attention

DeepSeek - V3模型中的多头潜在注意力(MLA)架构的具体实现涵盖了三个主要组成部分:键值对(KV)与查询(Q)的处理流程以及最终注意力输出的计算机制。以下将分步骤阐述其各组成部分的工作原理及其相互作用关系

1 符号定义

d:嵌入维度,即每个词元(token)被转换为向量后的维度大小。

n_h: 注意力头的个数。多头注意力机制使得模型能够同时聚焦于输入序列中的各个位置,并且在不同的表示子空间中进行并行处理。

d_h:每个注意力头的维度。

h_t ∈ R^d:在给定注意力层中,第t个词元的注意力输入。

2 键值(KV)的低秩联合压缩

MLA的核心体现是对注意力的键(keys)与值(values)进行低秩联合压缩以降低推理过程中的键值(KV)缓存的具体方法

在生成过程中仅需缓存c_{KV}^tk_R^t这些参数极大降低了KV缓存所需空间同时其性能与标准多头注意力机制相当

3 查询(Q)的低秩压缩

在减少训练过程中的激活内存的过程中,在对注意力机制进行低秩分解处理的基础上展开。

4. 最终注意力输出的计算

综合来看,DeepSeek - V3的MLA架构通过将键值和查询进行低秩压缩处理,在降低了计算复杂度和存储需求的同时,显著提升了模型推理速度与训练效能。

DeepSeek-MoE采用无辅助损失的负载均衡策略

1. DeepSeekMoE的基本架构

与传统MoE对比

2. 无辅助损失的负载均衡

传统方法问题:在传统的MoE架构中,在专家网络负载出现不均衡的情况下会引起路由崩溃并导致计算效率下降的问题。为了缓解这一问题,在研究领域内通常会引入辅助损失函数来进行调节。然而这种额外的损失可能会对模型性能产生负面影响。

创新策略 *

加入偏置项 :在每个专家网络中加入一个偏置项b_i,并将其附加到亲和度得分s_{i,t}的基础上来确定Top-K路由路径。这些附加的偏置值仅用于确定路由路径,在计算门控值时仍然依赖于原始的亲和度得分计算结果。

实时调节 :在训练过程中持续监测专家网络的负载情况。当发现专家网络出现过载现象时,则降低偏差量;如果检测到负载不足,则提升偏差量。其中γ值代表了偏差更新速率这一超参数。借助动态调节机制,在训练过程中能够维持专家网络负载平衡并提升性能水平。

无辅助损失的负载均衡策略的核心概念

无辅助损失的负载均衡策略是一种旨在解决深度学习中混合专家系统(MoE)运行效率不佳问题的方法。该策略未采用任何额外的辅助损失函数来实现负载平衡,并通过直接修改各专家接收输入的概率来平衡各专家的工作量。

核心机制

动态调整接收概率

基于每个专家的历史利用率数据, 系统会根据当前系统运行情况动态计算其接受新任务的机会率. 当某个专家的历史利用率过高时, 系统会相应减少该 expert 接受新任务的机会率, 从而为那些当前资源较为空闲的 expert 提供更多的分配机会; 相反, 当某个 expert 的历史利用率偏低时, 系统则会相应增加该 expert 接受新 作业的任务机会率.

无需辅助损失函数

传统的做法可能采用了额外的辅助损失函数作为惩罚机制来平衡负载分布。与此不同,在没有采用辅助损失的情况下,在实现负载均衡时会直接根据专家实际运行情况的概率进行调整,并避免了因引入复杂化的辅助损失函数可能导致的模型训练难度提升以及潜在收敛性问题。

动态偏置调整

在训练阶段中,该系统持续监测每一个专家的工作负载情况,包括处理的数据量以及使用的计算资源等具体指标。基于这些实时反馈信息,系统将根据需要对各个专家的参数进行调整,以确保整体负载能够得到合理的分配。当某位专家的工作负担过重时,系统会相应降低该专家的激活概率;反之,如果发现某位专家的工作负担不足,则会增加其激活机会,使其更容易参与到任务处理中来。

举例说明

该模型包含四位专家;这些专家分别负责处理情感分析、实体识别、语义角色标注以及文本分类等不同类型的自然语言理解任务;每位专家都致力于推动其领域内的技术发展。

场景 : 训练初期阶段中,在因数据分布特点导致的情况下,在线模型推理阶段中专家A与专家B分别承担了较高的计算负载;相比之下,在线模型推理阶段中专家C与专家D则承担了较低的计算负载。

专家A :处理情感分析任务,负载较高。

专家B :处理实体识别任务,负载较高。

专家C :处理语义角色标注任务,负载较低。

专家D :处理文本分类任务,负载较低。

动态调整过程

监控负载

对各个专家的运行状态进行实时跟踪分析后发现,在当前时段内 expert A 和 B 显示出现异常高负载情况;相比之下,在同一时间段内 expert C 和 D 的运行较为平稳。

调整偏置项

该系统通过减少专家A和专家B偏置项的大小,并降低其接受新任务的可能性;同时通过优化专家C和专家D的偏置设置来提升其接受新任务的可能性。

重新分配任务

在后续的任务分配阶段中, 系统将基于更新后的偏差参数进行任务重新配置. 举例而言, 原本应由专家A负责的工作可能会转移至专家C或D, 这样将有助于提高资源利用效率的最大化.

优势

性能提升

不依赖辅助损失函数的负载均衡策略规避了传统辅助损失函数可能导致的梯度干扰,在减少模型性能下降幅度的同时,并将模型的最大潜在能力进一步提高。

负载均衡

系统能够根据需要动态调节偏置项参数,从而保证每个专家的工作负载趋于均衡,并防止部分专家出现超负荷运转或闲置的问题

简化训练过程

摒弃辅助损失函数,减少了模型训练的复杂性,避免了潜在的收敛问题。

应用场景

无辅助损失的负载均衡策略被广泛应用到大-scale pre-training and inference tasks中,在特别是DeepSeek-V3模型中展现出显著优势。

大样本规模预训练任务:在14.8T标注的大样本规模预 train 任务中, DeepSeek-V3 基于 H800 架构下的 GPU 小时计算资源仅需 2,664,000 H800 GPU 小时即可完成训练任务,并大幅降低了计算成本。

推理阶段 :通过动态调整负载分配,提升了推理速度和效率。

基于无辅助损失机制的设计优化了负载均衡策略,在动态调整专家偏置项的过程中实现了系统各节点之间的负载自动平衡。相比于传统辅助损失函数的方法,在提升模型性能和简化训练流程方面均表现优异,并且特别适合应用于大规模预训练及推理场景。

3. 互补的序列级辅助损失

虽然采用辅助损失策略能实现整体负载均衡,但需防止单个序列内部出现极端不均衡的情况,因此提出了序列级平衡损失机制

互补的序列级辅助损失的核心概念

协同的序列级别辅助损失是一种旨在优化混合专家(MoE)模型中负载均衡的技术。其主要作用在于解决这样一个问题:尽管整体负载均衡可以通过不依赖于辅助损失策略的方式实现,在单个序列内部可能会出现严重的不均衡情况。这种极端不均衡的情况可能导致某些专家在特定序列中被高度利用,而其他专家几乎未参与相关任务。

核心机制

序列级负载均衡

协同的序列级别辅助损失通过在单个序列粒度上设计一个新的损失函数项,在促进每个序列内的专家负载均衡方面起到了关键作用。

该损失函数的设计目标是在单个序列中实现每个专家获得均衡的token分配,并防止个别专家在处理过程中占据过多资源或任务量。

平衡因子(𝛼)

平衡因子是一个重要参数,在DeepSeek-V3体系中被设计为调节序列级辅助损失的作用系数大小。该值通常设定为很小数值(即极小值),旨在最小化其对模型整体性能的影响程度

损失函数的形式

该损失函数通常基于各个专家在整个序列期间内所呈现的平均概率值及其实际被选中的频率来计算。

优势

细粒度的负载均衡

通过互补的序列级辅助损失能够有效地防止单个序列内的极端失衡问题,并使各个序列中的专家负载更加均衡。

对模型性能的影响最小化

通过调整平衡因子至其最小数值,在一定程度上降低了该损失函数对模型整体性能的影响。

提升模型稳定性

在训练阶段中采用精细粒度的负载均衡策略能够有效提高模型的稳定性与收敛速度

互补协同辅助损失机制是一种用于优化MoE模型负载均衡性的策略,并且特别适用于防止单个序列内部出现严重的失衡状态。通过引入一个精细粒度的损失函数,在不影响模型性能的前提下促进资源分配更加均匀。

4. 节点受限路由

机制:为了降低训练通信成本而应用受限路由机制,在此方案下保证每个词元最多会被发送至M个节点中的一个,并且节点会基于其上专家网络中前K_r / M个最高亲和度得分之和来决定连接目标。

成果:在此特定条件下,MoE训练框架能够实现计算与通信的极大程度上重合,并显著提升了训练效率

5. 无词元丢弃

训练阶段:科学的负载均衡策略通过合理分配计算资源,在DeepSeek - V3的训练过程中实现了良好的负载均衡状态。该系统能够有效避免丢弃任何词元,并充分运用全部训练数据资源来显著提升模型性能水平。

推理阶段:采用特定部署策略实现推理过程中的负载均衡,在推理过程中不丢弃任何词元从而保证推理结果的完整性和准确性。

2.2 Multi-Token Prediction

1. MTP的设计灵感与目标

灵感来源

目标优势 :第一是通过增强训练信号的密度来提高数据利用率;第二是促使模型能够更早地预判表示形式,并提高预测准确性。

在实现方式上存在差异:不同于Gloeckle等人的方法,在这里我们采用了独立输出头并行预测D个额外词元;相反,在本文中我们采用了顺序预测的方式,并且在每个预测深度都保持了完整的因果关系

2. MTP模块

3. MTP训练目标

4. MTP在推理中的应用

常规推理:MTP策略的主要目的是为了提高主模型的性能,在执行常规推理任务时可以直接去除MTP模块,并让主模型能够独立、顺利地完成推理工作。这不仅确保了整个推理过程的简洁高效性,并且有效地降低了由于额外引入MTP模块所带来的计算负担。

提升推理效率:同样能够借助MTP模块实现推测解码功能;借助MTP模块能够预判多个后续词素;从而降低生成环节所需的计算步骤数量;最终有助于提升模型在生成任务中的运行速度。

3 Infrastructures

3.1 Compute Clusters

DeepSeek - V3在一个拥有2048块NVIDIA H800 GPU的集群架构上进行了训练工作。每个H800集群节点配置有8块高性能GPU,在节点内部各台GPU通过NVLink和NVSwitch技术实现了高效的互联与数据交换。而不同集群节点之间则采用InfiniBand互连技术来保障大规模并行计算所需的高带宽低延迟通信性能。

3.2 Training Framework

DeepSeek - V3 的训练过程主要依托于 HAI - LLM 框架的支持实现。该训练方案由我们的工程师团队独立开发设计,并以其高效的轻量化计算能力著称。从技术细节来看,DeepSeek - V3 采用了 16 路管道并行计算(PP)机制(齐等人的研究成果之一),同时结合了跨 8 个计算节点的 64 路专家并行(EP)架构(列皮欣等学者的最新研究),并在数据处理层面实现了 ZeRO-1 数据并行(DP)优化(拉杰班达里等人提出的方法)。

为提升 DeepSeek - V3 的高效训练目标而采取措施,在项目中实施了一系列精细的技术优化措施。首先,在现有技术基础上进行改进的基础上开发了一种名为 DualPipe 的算法来实现高效管道并行,在这一关键环节上克服了跨节点专家并行带来的通信开销大这一挑战。其次,在项目中基于 InfiniBand 和 NVLink 技术开发了一种高效的跨节点全连接通信内核,并在此过程中实现了对流数据传输带宽的有效利用的同时降低了不必要的资源浪费。最后,在整个系统运行过程中通过精确控制内存资源分配来优化训练过程中的内存占用。

DualPipe and Computation-Communication Overlap

采用跨节点的专家并行技术(cross-node expert parallelism)进行DeepSeek-V3的训练。这种设计能够支持将多个计算节点上的专家组件(Experts)分布于不同位置,并通过这种方式促进大规模模型训练。然而这种方法也带来了通信开销的问题:每个计算节点之间的数据传输增加了额外的时间和资源消耗。

通信消耗:在分布式系统架构中,各个子系统间的专家模块间需进行频繁的数据交互(如全对全数据交换)。这一过程带来了明显的通讯消耗。

The compute-to-communication (C2C) ratio of the system is inefficient, with the communication overhead dominating approximately 1:1 compared to computation. This indicates that while computation is being utilized, significant resources are being wasted on communication, leading to overall inefficiency.

为解决这一问题, DeepSeek-V3 采用了先进的流水线并行架构——DualPipe.


DualPipe 算法的核心思想

DualPipe 的主要目标是通过优化流水线的并行性来降低数据传输的开销,并提升计算与通信重叠的效率。其关键涉及包括:采用并行计算技术以加速处理速度;设计高效的流水线架构以减少资源浪费;构建多层异构网络结构以适应不同工作负载;以及开发动态负载均衡算法框架以实现资源的最佳利用;同时提供一套基于上述技术实现的具体应用方案以最大化系统性能。

重叠计算与通信

在现有的流水线并行架构中,在计算处理与数据传输之间存在分离现象,在这种情况下会导致流水线气泡(pipeline bubbles)出现的现象,在此期间会造成算力资源出现短暂闲置的情况

其核心技术通过将计算与通信重叠,在实现通信操作的同时(即以并行方式执行),最大限度地利用计算资源的时间。

块(Chunk)的划分

每个前向(forward)和反向(backward)传播的块被划分为四个主要部分:

注意力机制(Attention) :用于处理输入序列的自注意力模块。

全对全分发(All-to-All Dispatch) :将数据分发到不同的专家模块。

MLP(多层感知器) :用于进一步处理数据的前馈网络。

全对全合并(All-to-All Combine) :将不同专家模块的输出合并。

在反向传播的过程中,注意力机制与MLP被进一步分解为两个部分:分别是输入方向上的逆过程与权重方向上的逆过程;这种分解方式与ZeroBubble(一种优化方法)相似地应用于优化计算。

流水线并行通信(PP Communication)

该系统还增加了流水线并行通信组件以实现不同节点间的同步数据传输


DualPipe 的优化策略

双向流水线调度(Bidirectional Pipeline Scheduling)

DualPipe 基于双层流水线机制,在输入端实现微任务批次的同时接收机制(micro-task batch input mechanism)。这种设计使得大部分数据传输操作能够充分地被计算过程所遮蔽(data transmission operations are effectively concealed within the computational process)。具体而言,在计算资源丰富的条件下(due to abundant computational resources),大部分数据传输操作能够充分地被计算过程所遮蔽(these majority data transmission operations could be sufficiently hidden within the computational process),从而有效地减少流水线运行中的空闲时间(this effectively reduces the pipeline stalling phenomenon)

动态调整 GPU 资源分配

DualPipe通过人工分配比例向GPU流处理器(SMs)分别向通信链路和计算任务分配比例以实现高效重叠这一特性,在执行过程中实现了动态优化配置使得全对全通信以及流水线并行通信能够得以完全隐藏。

扩展性优势

当模型规模再升级时, 只要维持固定的计算和通信比例,DualPipe 依然能够采用微粒级专家模块, 并成功地将总的计算和通信开销降低到极低甚至接近零的程度. 这表明即使模型规模继续扩大, 计算开销也会得到显著控制.


与现有方法的对比

减少流水线气泡

该技术显著降低了流水线气泡的发生率。相较于ZB1P和1F1B等其他方法而言,则显示出更高的性能水平。

虽然 DualPipe 方法必须存储两份模型参数以实现其功能, 但通过采用大量专家进行并行处理的策略进行训练, 其内存占用并不会出现明显提升.

灵活性

DualPipe 仅要求流水线阶段可被微批次整除(即微批次可被2整除),而无需满足微批次可被流水线阶段整除的条件。这使得 DualPipe 在实际应用中展现出更高的适应性

当微批次的数量逐步提升时,在DualPipe架构中,并行工作单元的动态内存区域数量不会发生变化。然而,这一特点显著地增强了该架构的扩展能力。

DualPipe 是一种先进的流水线并行计算方案,专为DeepSeek-V3 的大规模分布式训练而设计。该算法通过减少数据传输频率,优化处理 pipeline调度,并根据负载自动优化资源分配,大幅降低了通信延迟,从而显著提升了训练效率。与现有技术相比,DualPipe 不仅降低了管道内阻塞现象,还实现了内存占用水平较低的同时具备适应性强且操作灵活的特点,使其在处理大规模模型训练任务时展现出卓越性能

Efficient Implementation of Cross-Node All-to-All Communication

1 通信内核的定制化

为了保证 DualPipe 的高性能运行状态, DeepSeek-V3 团队开发了一种跨节点全对全(all-to-all)通信核心组件.该核心组件的主要职责是高效地完成数据分发与整合,并通过减少使用的 GPU 流处理器(SM)数量来降低系统的通信负载.在以下方面进行了优化:

协同设计

基于 MoE 门控算法的协同设计策略:通信内核与混合专家(MoE)模型之间通过优化了数据分配机制。其中,门控算法负责将每个输入数据(token)分配到相应的专家模块中,而通信内核则负责快速且有效地将数据传输至目标节点。

基于网络拓扑协同构建

网络拓扑优化

跨节点数据传输(InfiniBand):集群中的GPU节点通过基于InfiniBand协议的网络实现互联。该技术支持高达50 Gbps的数据传输速率。

在节点内部的GPU之间采用NVLink技术进行通信:该技术具备卓越的传输性能,在单点对点连接模式下可达到160 GB/s的速度水平,并较传统IB总线快了约3.2倍。

优化策略:充分运用这两种网络的带宽能力,在DeepSeek-V3系统中规定每个token最多不超过4个节点进行分配部署, 这一措施能够有效缓解IB数据传输的压力。


2 通信流程的优化

DeepSeek-V3 通过以下步骤优化了 token 的分发和合并过程:

分发过程

IB 传输 :每个 token 首先被 IB 网络从源设备节点传输到目标设备节点上对应位置的 GPU 上。

借助NVLink技术实现数据传输:Upon reaching the target node, the system will seamlessly forward the data to a dedicated GPU within the specialized module.

NVLink 接收 :目标 GPU 接收 token 并处理。

合并过程

NVLink 发送 :处理后的 token 通过 NVLink 发送回目标节点的 GPU。

NVLink 到 IB 的数据传输与累积 :经由 NVLink 传输至 IB 网络的同时进行数据累积操作。

IB 接收和累加 :最终结果通过 IB 网络接收并完成累加。


3 动态调整与资源利用

为了进一步优化通信效率,DeepSeek-V3 采用了以下技术:

Warp Specialization(Warp 专业化)

Warp :GPU 中的一个 warp 是一组同时执行相同指令的线程集合。

Warp Specialization :该技术采用将 20 块 SM 分割为 10 组通信渠道的方式,并对每个渠道进行功能分配以实现高效的数据传输与处理能力。具体而言,在这一架构下各通信渠道都被指定执行特定类型的任务:包括IB数据传输和NVLink数据转发等具体功能。

实时优化配置 :依据当前的工作负载状况进行动态调整优化分配给每个通信任务的 warp 核心数,以最大限度地提高资源利用率。

PTX 指令与通信块大小优化

PTX 指令 :采用专门设计的 PTX(Parallel Thread Execution)指令来提升通信内核的多线程执行效率。

数据块规模改进:由系统自动调节数据块规模,以降低对L2缓存的占用,并减少对其它计算任务的影响。


4 性能优势

通过上述优化,DeepSeek-V3 实现了以下性能优势:

高效利用带宽 :仅需 20 个 SM 即可充分利用 IB 和 NVLink 的带宽。

降低通信负担:通过被优化的分发策略和改进后的数据传输机制,在减少数据交换频率的同时显著降低了整体的通信开销。

扩展性 :尽管当前采用的是8个专家模块,在现有架构下该策略能够支持最多13个专家模块(每个节点平均支持约3.2个专家模块,则总共有约12.8≈13个专家模块),而不影响通信开销。

Extremely Memory Saving with Minimal Overhead

为了降低内存占用需求,在训练过程中采用了三种核心技术方案。这些核心技术方案通过优化计算资源利用和数据存储管理策略,在提升系统整体性能方面发挥了关键作用。下面将分别对这些核心技术方案进行深入解析与分析:

1 RMSNorm 和 MLA 上投影的重新计算

该模型在正向传递过程中执行一系列操作如归一化和线性变换,并将结果作为激活值记录下来。当进行反向传递时,在正向过程中记录下来的这些激活值会被用来计算梯度。然而,在训练大规模模型时,在正向过程中生成并保存的所有中间结果会导致显存消耗过高。

技术细节

Root Mean Square Layer Normalization(RMSNorm) 是一种规范化方法,在机器学习模型中被用来维持训练稳定性。

基于多头潜在注意力机制的上位投影操作**(MLA Up-Projection)**:由多头潜在注意力机制所支持的数据映射操作,在提升模型表示能力的同时实现对高维空间信息的捕捉能力。

DeepSeek-V3旨在减少内存占用,在反向传播阶段动态计算相关操作的输出结果;详细而言,在前向传播期间不会存储这些操作的激活值。

在前向传播时,不保存 RMSNorm 和 MLA 上投影的输出激活值。

在反向传播时,重新计算这些操作的输出,以便计算梯度。

优势

显著减少内存占用 :由于不需要存储激活值,显存占用大幅减少。

微小的运算消耗:重复运算会产生一定程度的成本,并与内存优化比较而言是可以接受的情况。


2 在 CPU 中使用指数移动平均(EMA)

在训练过程中,常见采用指数移动平均(EMA)来抑制模型参数变化带来的噪声影响。这些EMA参数能够帮助我们预判模型在学习率衰减后的情况,并且由于它们更接近于模型的最终状态而具有这样的特性。

技术细节

EMA 参数尽量存储在 CPU 内存中以尽量减少浪费 GPU 显存资源

非阻塞式更新 :EMA 参数在每个训练步骤完成后执行非阻塞式更新操作, 从而确保这些参数的更新不会干扰到主要的训练过程.

优势

节省显存 :EMA 参数存储在 CPU 内存中,不会占用 GPU 的显存。

无额外时间开销 :异步更新机制确保 EMA 的维护不会影响训练速度。

在训练过程中 ,在每一轮迭代后使用EMA参数可预判模型在学习率衰减后的表现,并从而优化其训练策略。


3 多Token预测(MTP)的共享嵌入层和输出头

在DualPipe策略中,模型按照并行处理的流水线阶段进行分配,每一级负责特定的计算任务。然而,这种划分可能会导致某些特定的层结构(如嵌入层和输出头)出现冗余存储,从而导致内存占用上升。

技术细节

DeepSeek-V3 模型架构中采用了一个独特的设计:即通过将模型中最浅的一层即为嵌入层与最深的一层则是输出头的方式,在同一流水线并行等级上实现了两者的协同工作。

物理实现机制:通过这种配置方式,多Token预测(MTP)模块与主模型能够实现嵌入层与输出头的权重参数共享。这表明这些权重参数在内存中仅占用一份空间,并非分别独立存储。

优势

提高内存效率 :通过共享参数,减少了内存占用。

减少通信消耗:共享机制通过降低各流水线间参数传输需求来实现训练效率的进一步提升。


总结

DeepSeek-V3 通过以下三种技术显著减少了训练过程中的内存占用:

重新计算 RMSNorm 和 MLA 上投影 :避免存储激活值,减少显存占用。

在 CPU 中异步更新 EMA 参数 :节省显存并保持训练效率。

共享嵌入层和输出头 :通过物理共享机制减少内存占用。

这些优化策略不仅提升了内存利用率,还保证了训练过程的高效性与稳定性,在某种程度上使大规模模型训练变得更加容易实施。

3.3 FP8 Training

DeepSeek-V3 在训练过程中主要采用了一种具有创新性的低精度训练框架,并特别强调基于FP8数据格式实施混合精度训练的方法。以下是对上述内容的详细说明:


1 背景:低精度训练的潜力与挑战

采用 FP8 或 BF16 等较低精度格式而非传统的 FP32 在大规模模型训练中展现出显著优势。这种策略不仅减少了内存占用量、降低了通信开销,并且提高了计算效率。然而,在实际应用中仍需注意平衡这些性能优势与潜在的问题。

低精度计算中的异常值问题:在深度学习模型中使用低精度数据时,可能会导致激活值、权重参数以及梯度信号中出现超出精度限制的数值(outliers)。这些数值可能偏离正常范围,在反向传播过程中可能导致训练过程中的不稳定现象,并最终影响模型训练的效果和准确性。

数值表示能力受限 :采用低精度格式(如 FP8)的设备在处理大规模模型时会遇到挑战。

研究现状:尽管在推理阶段的量化技术已经取得长足进步,在针对大规模语言模型的预训练阶段对其进一步优化仍显不足。


2 DeepSeek-V3 的低精度训练框架

为了解决前述问题,DeepSeek-V3 开发出了一种基于 FP8 格式的细粒度混合精度训练体系。该体系的主要组成部分包括

细粒度量化策略

旨在通过细化 FP8 格式的动态范围并降低其对异常值的敏感性, DeepSeek-V3 采用了两种细化的量化策略.

瓦片分组(Tile-wise Grouping)

将数据划分为大小为 1×𝑁𝑐 的瓦片(tile),每个瓦片内的元素作为一个量化组。

这种分组方式具有较强的适应能力,并能应对不同的数据分布情况;它还能有效地减弱离群值对计算准确性的影响。

块分组(Block-wise Grouping)

将数据划分为大小为 𝑁𝑐×𝑁𝑐 的块,每个块内的元素作为一个量化组。

这种分组方式在处理矩阵运算时更为高效,适合大规模模型的训练。

反量化开销的缓解

在低精度训练过程中,量化与反量化是必经环节。反量化的环节可能会导致增加的计算负担。

DeepSeek-V3 通过提升计算精度层级的累加过程(accumulation process),有效降低了反向量化产生的开销。该过程对于支撑准确执行FP8通用矩阵乘法(GEMM)运算至关重要。

内存和通信优化

中间结果存储与传播:采用 FP8 格式对中间结果进行存储与传播操作后,在性能上显著降低了内存占用以及通信消耗。

优化器状态信息的存储 :采用BF16格式来存储低精度的优化器状态信息,并提升了内存占用效率


4 实验验证

DeepSeek-V3 在与类似 DeepSeek-V2-Lite 和 DeepSeek-V2 的两个模型规模进行评估中验证了所提出的 FP8 混合精度框架,并经过大量(约10^12)tokens的数据训练。实验结果表明该框架具有显著的效果。

低精度训练的稳定性表现:与BF16基准相比,在使用FP8混合精度进行训练时所得模型的相对损失误差始终保持在0.25%以内。该相对损失误差值始终未超出预期范围(即约为可接受范围内的最大偏差),从而验证了FP8混合精度方法不仅能够实现有效的规模模型预训练目标,并且其稳定性和可靠性表现优异。

DeepSeek-V3通过细粒度量化策略、优化反量化开销以及减少内存与通信开销等手段,在FP8数据格式的基础上实现了高效的混合精度训练方案。该框架不仅大幅降低了内存及计算资源的要求,在保证与高精度训练相当稳定性与准确性的同时还开创性地为大规模语言模型的高效训练提供了新思路,并为低精度训练技术的发展贡献了重要参考

Mixed Precision Framework

DeepSeek-V3 采用了专门针对低精度训练优化的混合精度方案,在FP8训练模式中表现出色。该方案通过以不同计算阶段为单位地灵活应用FP8与其他更高精度格式(如BF16或FP32),实现了更高的训练效率并保持了数值稳定性。以下是对这段内容的详细解释:


1 背景:低精度训练的优势与挑战

采用低精度格式(如 FP16)能够明显降低内存占用的同时减少通信开销,并提升计算效率。尽管如此,在利用低精度格式时可能会面临数值不稳定的问题。因此,在实际应用中实现数值稳定性的平衡成为关键挑战


2 DeepSeek-V3 的混合精度框架

该系统构建了一个融合低精度与高精度的操作体系,并通过整合FP8和BF16或FP32等运算机制,在实现训练效率的同时保证了数值稳定性的平衡。以下将详细阐述这一创新性设计的核心要素:

核心计算内核的低精度化

通用矩阵乘法(GEMM)操作 :在深度学习领域中,通用矩阵乘法(GEMM)被视为计算密集型操作的关键环节,在这一过程中涵盖了线性层前向传播(Fprop)、激活函数反向传播(Dgrad)以及权重参数反向传播(Wgrad)。

FP8 GEMM 的优势

提升运算效率:通过将这些 GEMM 操作从 BF16 转换为 FP8 ,理论上运算速度可提升约两倍;这一优化效果主要得益于 FP8 运算的复杂度显著降低。

节省内存资源:FP8 的存储需求较小,并支持将激活值以 FP8 格式存储,从而有效减少内存消耗

高精度操作的保留

然而 FP8 在某些特定场景下仍存在局限性

嵌入系统(Embedding System) 主要承担将输入数据转换至高维平面的任务,并对其计算精度有较高的需求。

输出头(Output Head) :负责生成最终的模型输出,对精度敏感。

MoE 门控模块(MoE Gating Modules) 是一种负责处理输入数据如何在不同专家模块之间进行分配的控制结构,在这一过程中可能会受到计算精度的影响而导致资源分配不均的情况出现。

归一化过程(Normalization Operators):其中常见的包括LayerNorm和RMSNorm等技术。它们因其对数值精度要求较高而被广泛采用,在实践中能够有效防止数值不稳定现象的发生。

注意力操作(Attention Operators) :例如多头注意力机制对于精确度有较高的要求,在确保计算的准确性方面必须采用高精度的方法。

尽管这些高精度操作会产生一定的内存消耗,在分布式训练系统的多级异步并行机制下实施分片处理后能够最大限度地减少其负面影响。

主权重和优化器状态的高精度存储

为了进一步保证数值稳定性,DeepSeek-V3 将以下内容以更高精度存储:

主权重(Master Weights) :模型的主参数。

权重梯度(Weight Gradients) :用于更新模型参数的梯度。

优化器状态(Optimizer States) :如 Adam 优化器中的动量和方差。

这些精密组件虽然会占用较多内存资源,在分布式训练过程中通过分片策略处理数据分布特性,则能够显著降低单个GPU的工作负载压力。


3 框架的优势

通过这种混合精度设计,DeepSeek-V3 实现了以下优势:

明显增强训练效率 :经过将大部分计算密集型操作采用 FP8 优化方案后,在保证模型性能的同时使计算时间和内存占用均得以大幅降低。

确保数值稳定:在关键操作中保留高精度计算以防止由低精度运算引发的问题

充分优化内存使用:通过引入数据分割策略,在高精度组件中将内存消耗分散至多个GPU上,并降低了每个GPU的负载。

该混合精度框架通过综合运用 FP16 和其他更高精度格式,在提升训练效率的同时实现了数值稳定性的保障。这一设计理念不仅充分挖掘了低精度计算的优势,并通过保留关键操作的高精度来规避数值问题。借助高效的分片技术和内存管理方法,在支持大规模模型训练的同时实现了低精度训练的可能性。

Improved Precision from Quantization and Multiplication

DeepSeek-V3 应用多种策略于低精度训练(尤其是 FP8 训练)中,在追求效率的同时注重准确性与稳定性之间的平衡。为了实现这一目标,在量化方法以及矩阵乘法(GEMM)操作上的优化工作上进行了深入探索与实践。以下是对这些策略的具体说明:


1 细粒度量化(Fine-Grained Quantization)

在进行低精度训练时,在使用FP8格式可能会遇到动态范围受限的问题。这是因为该格式受限于较少的指数位数,在处理数值时容易出现溢出(overflow)和下溢(underflow)现象。传统的量化策略通常会将输入张量的最大绝对值与FP8的最大可表示数值进行对比,并以此为基础对齐输入分布;然而这种方法可能导致模型在处理异常激活值时表现不稳定,并最终影响到整体的量化效果。

为了解决这一问题,DeepSeek-V3 提出了细粒度量化方法,具体策略如下:

激活值的量化

分组方式:激活值以 1×128 tile 单位进行分组与缩放操作,在此过程中每个 token 的每个通道块分别完成量化处理。

优势 :采用细粒度分组策略,在应对离群值时展现出更强的能力;各子群组之间具有各自独立的缩放因子。

权重的量化

分组方式:权重按照 **128×128 块划分(block)**作为单位进行分组与缩放;每个输入通道群与每个输出通道群独立地完成量化处理。

优势 :这种块状分组方式适合矩阵乘法操作,能够有效减少量化误差。

GEMM 操作中的每组缩放因子

在 GEMM 操作的内维度上增加了 每组缩放因子 ,然而标准 FP8 GEMM 未直接支持这一设计。

基于高精度 FP32 累计策略的基础上开发出了一种精细级量化方法,并将其成功实现了与NVIDIA新一代GPU(Blackwell系列)所采用的小量级缩放格式相一致

与硬件的适配性

DeepSeek-V3 的微粒度量化策略与其最新的架构发展方向保持一致,并为未来硬件优化工作提供了重要参考。


2 提高累加精度(Increasing Accumulation Precision)

这类低精度 GEMM 操作通常会因有限的动态范围而导致下溢现象;其计算精确度高度依赖于采用 FP32 精度下的高精度累加。然而,在 NVIDIA H800 GPU 上使用的 FP8 GEMM 累计操作仅能保持约 14 位有效数字;这明显低于 FP32 精度的要求。当处理矩阵的内维数 K 较大时(例如在大规模模型训练中常见的情形是较大的批量大小以及较宽广的矩阵维度),上述问题的影响将更为显著。

问题示例

在一个初步测试中,在设置K值为4096的情况下,在执行有限精度累加运算时(或When performing finite precision accumulation with K set to 4096),观察到的最大相对误差约为2%,这一结果严重制约了训练过程的准确性。

解决方案:提升到 CUDA Cores

DeepSeek-V3 为了提高计算精度,在处理部分累加操作时采用了方案将这些操作从 Tensor Cores 迁移到 CUDA Cores。

具体过程

利用 Tensor Cores 进行矩阵乘法累积运算时,在计算过程中使用的中间结果以有限宽度的数据参与累加过程。

每当达到间隔(𝑁𝐶)时进行累加运算,并将其所得的结果传输至CUDA Cores的FP32寄存器中

在 CUDA Cores 上执行全精度 FP32 累加,从而避免下溢问题。

优化细节

在细粒度量化中的一组缩放因子可以在 CUDA Cores 上快速相乘,在反量化过程中基本无需额外计算开销。

该设计在减少单个 warp 群组的 WGMMA 指令发布频率的同时, 通过协同作用使得两个 warp 群组能够并行执行提升操作和 MMA 操作, 并实现了操作并行以提升 Tensor Core 的使用效率。

实验证明了该配置(相当于4个WGMMA)是能够显著提升精度水平且不会带来明显的性能消耗的最短累加间隔。


4 尾数优于指数(Mantissa over Exponents)

现有的混合 FP8 格式(例如 E4M3 格式与 E5M2 格式)分别用于前向传播过程以及反向传播过程中的不同数据表示方式。然而,在 DeepSeek-V3 模型架构中,默认采用统一的 E4M3 格式 ,以确保更高的数值精度表现。

优势

细粒度量化策略(采用瓦片分组与块状分组)基于小块元素间的高效共享机制,在实现动态范围受限影响方面表现出显著效果

这种新型方法不仅允许在所有操作中采用统一的E4M3格式,并且还使实现过程更加便捷地提升了准确性。


5 在线量化(Online Quantization)

现有的延迟量化方法通过计算历史最大绝对值来预测当前的数值值;然而这种方法可能会影响缩放精度。DeepSeek-V3 采用了在线量化策略:

具体策略

对于每个 1×128 激活瓦片或 128×128 权重块,直接在线计算最大绝对值。

以这一最大绝对值为基础,在线确定缩放因子,并将激活值及其权重转换成 FP8 格式。

优势

在线量化确保了每次迭代的缩放比例更加准确,从而提高了量化精度。

简化了量化框架,避免了维护历史最大值的复杂性。


DeepSeek-V3 通过以下策略显著提高了低精度训练的准确性和稳定性:

通过将数据集划分为小部分并应用调整系数来应对异常值以提升量化的准确性

提高累加精度 :通过将部分累加操作提升到 CUDA Cores,避免下溢问题。

统一的 E4M3 格式 :在所有张量中使用统一格式,简化实现并提高精度。

在线量化 :动态计算缩放因子,确保每次迭代的量化精度。

这些策略不但提升了低精度训练的效能,并且同时遵循着当前 GPU 架构的发展趋势;此外,它们为大-scale模型训练提供了重要参考。

Low-Precision Storage and Communication

DeepSeek-V3 在进行低精度训练时,在压缩激活值的同时也会对优化器状态进行相应的缩减处理以降低内存占用及通信开销水平。其核心优化策略主要包含三个维度:一是改进型优化器状态管理机制;二是采用高效的数据格式化方法来表示激活层参数;三是设计并行高效的通信机制以减少数据传输负担。


1 低精度优化器状态(Low-Precision Optimizer States)

在深度学习中,训练模型中的参数更新机制(如 AdamW)主要计算梯度的一阶动量(平均值)和二阶动量(方差)。这些指标通常以 32 位浮点数形式存储,并且可能导致较大的内存空间消耗。

优化策略

选择 BF16 格式

遵循 FP32 格式的重点参数:

遵循 FP32 格式的重点参数:

优势

降低内存占用量:BF16格式所占内存容量仅为FP32的一半,并显著减少了优化器状态所需的内存容量。

保持数值稳定性 :通过保留关键变量的高精度,确保训练过程的稳定性。


2 低精度激活值(Low-Precision Activation)

激活值是模型前向传播和反向传播过程中的关键中间变量,在实际应用中往往需要占用较大的内存资源。DeepSeek-V3 通过引入低精度表示技术(例如 FP8 格式),不仅能够有效减少存储空间的需求,还使得整体的内存占用得到了显著的降低。

Wgrad 操作中的激活值缓存

FP8 缓存 :因为 Wgrad 操作采用 FP8 格式运行,在这种情况下,则理所当然地决定将激活值以 FP8 格式缓存起来,并将其用于 Linear 层的反向传播过程。

优势 :FP8 格式显著减少了激活值的内存占用。

特殊考虑的激活值

注意力层后的线性输入

sensitive degree: these activation values not only play a role in backward propagation for linear layers, but also contribute to attention mechanisms in the same way, significantly impacting the model's performance.

定制格式

量化策略:在反向传播过程中,这些激活值从1×128的量化瓷砖被转换为128×1的瓷砖。为了防止引入额外的量化误差,在设计缩放因子时全部采用二进制整数次幂的形式。

MoE 中的 SwiGLU 输入

内存管理策略:通过这一策略能够额外地降低内存占用。该系统采用了缓存机制来存储SwiGLU算子的输入数据,并在此处进行过时重置以确保反向传播过程中的准确性。

量化策略:这些激活值遵循 FP16 量化格式存储,并采用位级量化技术,在减少内存占用的同时保持计算精度。


3 低精度通信(Low-Precision Communication)

随着现代计算能力的不断提升,在大规模分布式训练场景中,
通信带宽已成为影响MoE模型训练效率的重要制约因素。
DeepSeek-V3 通过高效地将通信数据转换为低精度格式的形式,
成功降低了整体资源消耗,
实现了训练效率的显著提升。

MoE 上投影和下投影的激活值

激活值经过量化处理:在进入MoE投影前,激活值经过FP8量化后进行传输过程。该方法与MoE投影中采用的FP8前向传播方案保持兼容性。

量化机制 :与注意力层后的线性输入相仿,在这一过程中涉及的缩放因子被设定为2 的整数次幂以防止引入额外的量化误差。

激活梯度 :对于 MoE 下投影之前的激活梯度而言,在 DeepSeek-V3 中也采用了与之相似的量化方法。

采用 BF16 格式 :为了确保训练过程中的关键环节达到较高精度,在关键部分仍需保留BF16格式。其中前向与反向传播的整合组件继续采用BF16格式进行处理。

优势

降低通信负担 :通过将通信数据转换为 FP8 格式,大幅降低了通信带宽的需求。

提升训练准确度:通过在关键区域采用高精度格式(如BF16),我们能够保证数值计算的稳定性。

DeepSeek-V3 通过以下策略显著减少了内存占用和通信开销:

低精度的优化状态 通过采用BF16格式实现对优化器状态的跟踪 同时确保关键变量保持高精度

低精度的激活值:用于存储将激活值以FP8格式表示,并对敏感的激活值应用特殊的量化处理方式。

低精度通信:采用 FP8 格式对通信数据进行量化处理,从而有效降低传输开销,并在此处特别强调在重点部位维持高精度特性。

这些方法不仅提升了内存占用率与通信效率,并且通过对数据进行微粒化量化处理以及自适应优化机制确保了模型训练过程中的数值稳定性和可靠性。

3.4. Inference and Deployment

该系统采用 DeepSeek-V3 在 H800 集群中的部署方案,在各节点内部的 GPU 采用 NVLink 技术实现互联,并在整个集群中各 GPU 之间则通过 InfiniBand(IB)技术实现全面互联以确保数据传输效率。为满足在线服务需同时满足 SLO 目标及高吞吐量要求的需求,本系统采用了以下部署策略:将预填充与解码阶段分别进行优化配置。

Prefilling

DeepSeek-V3 在大规模 GPU 环境下的部署方案主要聚焦于优化预填充环节的并行机制。该方法旨在通过提升预填充阶段的处理能力与负载平衡来实现系统的高吞吐量与稳定性。


1 预填充阶段的部署单元

预填充阶段属于模型推理过程的一个组成部分,在这一阶段主要负责接收输入数据并为其后续解码(decoding)阶段提供必要的准备。为了实现高效的大规模数据处理能力,DeepSeek-V3 采用了如下设计模块:

最小部署单元 :由 4 个节点 组成,每个节点包含 8 个 GPU ,总共 32 个 GPU

并行策略

4 路张量并行(TP4) :将模型的某些部分(如注意力机制)在 4 个 GPU 上并行计算。

序列并行(SP) :结合张量并行,进一步优化计算效率。

采用 8 路数据并行技术(DP8):将数据划分为 8 个部分,并在各自独立的 GPU 上进行处理,从而显著提升计算吞吐量

优势

小粒度的张量并行(TP4) :较小的并行粒度(4 个 GPU)减少了跨 GPU 通信的开销。

大规模数据并行(DP8) :通过数据并行,可以处理更大的数据批量,提高吞吐量。


2 MoE 部分的优化

MoE(混合专家模型)模块是DeepSeek-V3的重要组成部分,在复杂计算任务处理方面发挥着关键作用。为了进一步提升其性能水平,本系统采用了包括优化专家选择机制等一系列优化策略

32个GPU并行部署(EP32):通过将MoE模块的专家分布在32个独立的GPU上,并确保每个专家能够处理足够大的数据批次,在保证模型性能的同时显著提升计算效率。

通信策略

跨节点通信 :使用 InfiniBand(IB)在不同节点之间传输数据。

节点内通信 :使用 NVLink 在同一节点内的 GPU 之间快速转发数据。

优化细节

对于 单通道密集 MLP 模型 来说:为降低张量并行之间的通信成本,在该模型中主要依赖于单通道路径设计。


3 负载均衡策略

MoE 模型中各个专家之间的负载分配可能出现不均的情况,在这种情况下个别 GPU 可能会承受过重的计算负担。为了达到平衡各节点的任务分配目标 DeepSeek-V3 采用了一系列优化策略

冗余专家(Redundant Experts)

提取关键组件:通过计算在线部署期间的负载数据 ,识别出具有较高负载水平的关键组件。

冗余部署 :将这些高负载专家模块进行复制,并在多个 GPU 上冗余部署。

定期调整 :根据实时负载数据,每隔一段时间(如 10 分钟)调整冗余专家的部署。

部署细节

32 个冗余专家 :在预填充阶段,总共部署了 32 个冗余专家。

每个 GPU 的专家数量 :除了原本的 8 个专家外,每个 GPU 额外部署 1 个冗余专家。

优势

负载均衡 :通过冗余部署,确保每个 GPU 的负载大致相同,避免某些 GPU 过载。

降低通信负担:当进行专家部署调整时,应尽量避免引入跨节点全面通信开销。


4 提高吞吐量的策略

为了进一步提升预填充阶段的传输速率并避免通信开销的显现,DeepSeek-V3 采用了以下一系列技术手段:

双微批次处理 :同时处理两个计算工作量相似的微批次(micro-batches)。

并行计算中的重叠技术和通信优化:通过将一个微批次中的注意力和混合运算单元(MoE)计算与另一个微批次的分发及合并操作进行重叠,并降低了整体系统的通信开销。

优势

隐藏通信开销 :通过重叠计算和通信,减少了通信对整体性能的影响。

提高吞吐量 :同时处理多个微批次,显著提高了系统的吞吐量。


5 动态冗余策略

为了更进一步优化专家模块的部署方案,DeepSeek-V3 正致力于采用一种基于动态冗余的部署策略:

每个 GPU 配置额外的专家 :例如,在每次推理过程中仅激活9个。

动态路由机制:在每一层的全连接操作开始之前进行整体最优的即时计算。

优势

灵活性 :动态调整专家的激活数量,适应不同的负载需求。

运算量低:在预填充阶段所需的运算较为繁重的情况下,在评估路由方案时所付出的运算成本基本可忽略。


DeepSeek-V3 通过以下策略显著提高了预填充阶段的效率:

小粒度的张量并行和大规模数据并行 :优化了计算效率和吞吐量。

MoE 部分的专家并行和通信优化 :确保了高效的数据处理和通信。

冗余专家策略 :通过复制高负载专家并冗余部署,实现了负载均衡。

双微批次处理 :通过重叠计算和通信,隐藏了通信开销。

动态冗余策略 :灵活调整专家的激活数量,适应不同的负载需求。

这些策略不但提升了系统的吞吐量,并且保障了负载均衡与通信性能的优化,在支撑大规模模型的高效部署方面发挥了关键作用

Decoding

DeepSeek-V3 在解码(decoding)环节中的部署方案及其优化方法不仅实现了通过并行策略、负载均衡以及计算优化来提升处理效率与吞吐量的目的,并且对这些技术的具体实现进行了详细阐述。


1 解码阶段的专家处理策略

共享专家作为路由专家

在解码过程中, DeepSeek-V3 将共享专家视为一个优先选择的重载专家, 这表明其对高负载任务的处理策略。

每个 token 在路由过程中会遵循 9位专家 的选择机制 ,其中一部分是普通的8位专家而另一部分则为专门的共享型专家

共享专家被视为"重载专家",必然会被选中,在解码过程中持续发挥作用。

部署单元

最小部署单元 :由 40 个节点 组成,每个节点包含 8 个 GPU ,总共 320 个 GPU

并行策略

注意力部分 :采用 4 路张量并行(TP4)结合序列并行(SP),并辅以 80 路数据并行(DP80)。

MoE 部分 :使用 320 路专家并行(EP320),每个 GPU 托管一个专家。

冗余专家和共享专家 :64 个 GPU 负责托管冗余专家和共享专家。

通信策略

全对全通信(All-to-All Communication):在数据分发(dispatch)和数据聚合(combine)阶段,通过InfiniBand(IB)执行基于直连的双向数据传输操作以显著降低数据传输时延

IBGDA 技术 :利用 NVIDIA 的 IBGDA 技术进一步减少延迟并提高通信效率。


2 负载均衡策略

冗余专家的动态调整

定时更新:该机制与预填充阶段具有相似性,在解码过程中会定时(如每隔10分钟)更新冗余专家集合以保证系统的高效运行。

无需对专家进行重新排列操作:因为每个GPU仅负责管理一个专家,在处理过程中无需像预填充阶段那样对专家进行重新排列。

动态冗余策略

研究动态冗余机制 :正在研究一种基于动态冗余的策略,在赋予每个GPU能够管理的专家数量较多(例如最多支持16位专家)的同时,在每次推理过程中仅激活其中的9位专家。

优化挑战:这种策略需要更加深入地优化计算全局最优路由方案的算法,并将该方案整合到分发内核中以降低整体计算负担。


3 提高吞吐量的策略

双微批次处理

并行处理两个微批次:为提升数据传输效率并降低全局同步通信带来的额外开销,在解码阶段将采用异步机制以处理两个计算负担相近的任务。

重叠计算与通信

在当前处理中, 将注意力机制与后续处理中的发送过程、MoE以及整合过程重叠

在解码环节中相比填充前的阶段而言,在解码环节中注意力机制耗费更多计算资源的情况下,则可见借助重叠操作能够更为有效地区分通信开销。

内存访问优化

小批量大小:在解码阶段中,每个专家处理的批量大小相对有限(一般不会超过某个特定数值),这主要受限于内存访问而非计算能力。

降低内存访问开销:由于混合运算单元(MoE)部分仅需加载一个专家参数以实现计算需求,其相应的内存访问开销较小。因此,在采用较少流处理器(SM)的情况下也不会显著影响整体性能。

配置资源:为减小对其计算速度的影响,在分发、MoE及合并操作中仅为此类操作提供少量SM以实现资源优化。


DeepSeek-V3 在解码阶段通过以下策略显著提高了效率和吞吐量:

共享专家充当路由专家:保证每个 token 在路由过程中持续选择共享 expert。

大规模并行策略 :采用 TP4、SP 和 DP80 优化注意力部分,使用 EP320 优化 MoE 部分。

低延迟通信 :通过 IB 的点对点传输和 IBGDA 技术减少通信延迟。

动态负载均衡 :定期调整冗余专家集合,优化负载均衡。

双微批次处理 :通过重叠计算和通信,隐藏通信开销并提高吞吐量。

内存访问优化 :减少 MoE 部分的内存访问开销,优化资源分配。

这些策略不仅优化了解码环节的性能,并且提升了整体系统的处理能力。同时能够支持大规模部署环境下的高强度数据处理以及极低的系统响应时间。

3.5 Suggestions on Hardware Design

针对我们实现了all-all通信和FP8训练方案的人工智能硬件供应商,在芯片设计方面提出了改进建议

Communication Hardware

在面对实现计算与通信重叠这一技术难题时,DeepSeek-V3 遇到了诸多挑战,并对未来AI硬件设计就提出了若干改进建议以期提升系统性能。


1 计算与通信重叠的背景

在大规模分布式训练中,在影响系统性能的主要挑战之一的是通信延迟。为了提高系统的整体效率,《DeepSeek-V3》采用了通过结合计算与_communication_技术来实现两者的同步进行。《DeepSeek-V3》通过在执行__compute__任务的同时完成相关__communication__操作的方式实现了两者的高效结合。从而有效地隐藏了因网络延迟所带来的性能瓶颈,并且显著降低了对带宽资源的需求。与传统的串行__compute__及随后的__communication__方式不同,《DeepSeek-V3》采用了前馈式架构来优化资源利用率,并且提升了系统的吞吐量相较于传统方法有明显提升。

2 当前实现的局限性

然而,在计算与通信重叠的情况下带来了显著提升了性能的情况下

依赖昂贵的流处理器(SM)

硬件资源消耗情况

低效运行

SM 的主要通信任务

SM 在全对全通信中主要执行以下任务:

IB 和 NVLink 之间的数据转发

收集单个 GPU 产生的 IB 传输流量,并经由 NVLink 将其高效地转发至同一节点内的所有 GPU。

这种任务需要在不同网络域之间高效地传输数据。

RDMA 缓冲区与输入/输出缓冲区之间的数据传输

RDMA缓存区被分配为专用的GPU内存区域,并负责快速的数据传输

SM 负责在这些缓冲区和实际的输入/输出缓冲区之间传输数据。

全对全合并的规约操作

在全对全通信协议规定的合并阶段中,在线性模型管理单元负责执行数据规约操作(reduce),整合多个数据片段以形成统一的结果。

细粒度内存布局管理

当在跨 IB 和 NVLink 域向多个专家发送分块数据时,在线存储设备(SM)负责处理内存布局结构,并保证分块数据的正确传输。

3 对未来硬件设计的建议

该研究团队建议针对当前实现中的限制进行改进。

开发专用的通信协处理器

未来的硬件应从计算单元(SM)中剥离并移除数据传输功能,并转而利用协处理器(如图形处理器或网络专用处理设备)来执行该功能。

借鉴 NVIDIA SHARP 的架构 :可以遵循 NVIDIA SHARP(一种网络协处理器,在加速通信任务方面表现出色)的架构设计思路,在此基础上开发专门针对通信领域的硬件模块。

统一 IB 和 NVLink 网络

降低编程复杂度:通过计算单元视角将InfiniBand(IB)与NVLink网络进行统一规划,在同一个网络区域中实现程序逻辑的一致性和完整性,并使计算单元借助基本操作(如数据读取、写入以及多线程广播和缩减运算)完成高效的通信任务。

标准化接口:采用该标准化接口后,计算单元能够更加高效地发起通信请求,并且不需要关注底层网络的具体实现方案。

DeepSeek-V3 利用计算与通信的重叠明显提升了分布式训练效率;当前实现主要基于高性能专用加速器(SM),这导致资源消耗较高且计算吞吐量受限。为了进一步优化性能,建议未来的硬件设计应着重考虑以下几点:首先,在算法层面引入更多通用算子加速;其次,在系统架构上进行数据通路优化;最后,在应用层提升多模态融合能力

开发专用的通信协处理器 ,将通信任务从 SM 中卸载出来。

统一 IB 和 NVLink 网络 ,简化编程复杂性并提高通信效率。

这些优化措施将有助于提升大规模模型训练的效率,并为未来的AI硬件设计提供重要参考。

Compute Hardware

围绕未来AI硬件(尤其是GPU)设计提出的一些方案旨在提升低精度训练(例如FP8)的效果与准确性。这些方案主要基于DeepSeek-V3在现有硬件平台上的实践经验,并不仅揭示了现有技术中的不足之处,并且提出了相应的优化策略以改善训练效果与计算效率。


1 提高Tensor Cores中FP8 GEMM的累加精度

基于NVIDIA Hopper架构的Tensor Cores设计中,在FP8 GEMM运算过程中采用定点累加方式,并通过右移操作对齐尾数乘积累加的结果

现有设计中,在符号填充右移处理后,Tensor Cores仅采用每对尾数相乘所得结果中的高位部分中的前14位,并舍弃超出范围的部分。

问题

为了从32次FP8×FP8乘法的累加中获得精确的FP32结果,至少需要34位精度。

当前的14位精度限制了累加的精度,可能导致数值不稳定或精度损失。

建议

未来的芯片设计需提升其Tensor Cores中的累积精度以实现全精度叠加运算

基于训练与推理算法所需精度进行调整以获得合适的累计宽度

优势:通过该方法,在保证计算效率的同时,使误差维持在可接受的水平内,并显著提升低精度训练过程中的稳定性。


2 支持瓦片和块量化(Tile-和Block-Wise Quantization)

现有GPU架构仅能执行基于张量级别的量化处理(如per-tensor quantization),而对其下的细粒度量化形式(如tile-based和block-wise quantization)并不具备原生的支持。

在DeepSeek-V3架构中,在达到特定间隔(N_C)时,在CUDA架构中执行以下操作:首先将部分计算结果从Tensor Cores拷贝至CUDA Cores,并对该结果进行缩放处理;然后将其累加至位于CUDA Cores中的FP32精度寄存器中。

问题

尽管融合高精度的FP32累加策略能够明显减少反量化带来的开销损失,但Tensor Cores与CUDA Cores之间频繁的数据传输依然阻碍了计算效率的提升。

建议

未来芯片设计需具备Tensor Cores处理缩放因子的能力,并支持经过分组处理后的矩阵乘法累积操作。

优势特性:这一部分运算包括累积运算与反向量化处理,并完全由Tensor Cores内部执行直至完成所有计算并输出最终结果。通过最大限度地减少数据传输频率来提高计算效率。


3 支持在线量化(Online Quantization)

背景

在线量化在DeepSeek-V3中被证明是有效的,但当前实现难以高效支持。

现有流程中包含以下步骤:首先由HBM获取128个BF16格式的激活值并完成相应的量化处理;接着将这些经过处理后的FP32数值重新发送至HBM存储区域以便后续使用;最后再进行一次数据读取并将获取到的信息应用于MMA运算过程。

问题

这种频繁的内存读写操作显著降低了效率。

建议

融合操作:未来芯片设计中应整合FP16格式转换与TMA访问功能为一个单一的操作。这有助于在数据传输过程中优化量化计算效率。

采用warp级别的转换指令能够显著提升量化过程,并通过层归一化和FP8转换实现更高的效率

近内存计算 : 用于布置计算逻辑于HBM周围。当从HBM读取数据时立即转换BF16元素至FP8格式。从而减少了大约一半的片外内存访问次数。

优势 :减少内存操作,提高量化效率,降低延迟。


4 支持转置GEMM操作(Transposed GEMM)

背景

当前架构使得将矩阵转置与GEMM操作融合变得繁琐。

在DeepSeek-V3的工作流程中,在前向传播阶段(即正向计算过程中),激活值经过量化处理后形成一个维度为1×128且采用FP8类型的矩阵块进行存储。而在反向传播阶段(即逆向计算过程中),则需执行以下操作:首先读取所需的原始矩阵数据;接着完成反量化过程;随后对结果执行转置操作;最后再对结果进行重新排列成转置后的形状,并完成最终的量化;并将这些转换后的数据以特定格式存储于HBM内存中。

问题

这种流程涉及多次内存操作,效率低下。

建议

立即完成转置操作:在执行MMA运算时必须先完成从共享内存中读取矩阵的转置。

通过FP8格式转换与TMA访问进行优化处理:该措施能够明显提升量化效率,并且能够在一定程度上降低内存操作次数。

技术优势:该系统显著提升了矩阵转置和矩阵乘法核(GEMM)操作的执行效率,并最大限度地降低了内存访问频率。通过重新组织计算顺序以提高算术强度,在保证准确性的同时实现了更快的处理速度。

针对当前AI硬件在低精度训练中的局限性

4 Pre-Training

4.1 Data Construction

DeepSeek-V3 在预训练阶段对语料库及数据处理流程进行了系统性的优化工作,并在分词器设计方面也进行了相应的优化工作;下面将从技术实现的角度对上述两项内容进行深入解析


1 预训练语料库的优化

与 DeepSeek-V2 的对比

数学与编程样本占比率优化 :通过增加相关样本比例来优化模型在数学与编程任务上的性能表现。

多语言覆盖扩展:除了英语和中文之外,DeepSeek-V3 带来了额外的支持,并使得模型能够更好地处理多种语言的数据。

数据处理流程改进:经过对数据处理流程的优化,在维持语料库多样性的基础上降低了冗余数据的数量,并显著提升了语料库的整体质量。

文档打包方法

数据完整性和一致性 :基于Ding等人的(2024)研究成果,在DeepSeek-V3中采用了系统化的文档打包策略来实现数据完整性。

未使用cross-sample attention mask:虽然文档打包方法有助于保持数据完整性,并且在实际应用中默认情况下并未启用cross-sample attention mask,并且其可能是因为为了尽量减少不必要的复杂性而被排除。

语料库规模

高质量与多样的 Token:DeepSeek-V3 的训练语料库包含 14.8 万亿个 高质量且多样化的 Token;这些 Token 经过分词器处理后确保了数据语料库的丰富性和多样性。


2 FIM 策略的引入

在DeepSeekCoder-V2的训练过程中,研究团队将其识别为Fill-in-Middle(FIM)策略,并通过分析上下文线索来正确预测中间文本;该策略能够确保即使在不削弱后续token的预测能力的情况下也能有效实现目标

FIM 策略的实现

PSM 架构 :DeepSeek-V3 基于 Prefix-Suffix-Middle(PSM)架构用于构建数据的具体构成如下:

<|fim_begin|>𝑓pre<|fim_hole|>𝑓suf<|fim_end|>𝑓middle<|eos_token|>

𝑓pre :前缀文本。

𝑓suf :后缀文本。

𝑓middle :需要预测的中间文本。

特定标记 ||||begin||||hole||||end||||eos_token 用于标识不同的部分

应用比例 :FIM 策略的应用比例为 0.1 ,与 PSM 框架一致。

优势

提升对上下文信息的理解能力是FIM策略的关键所在。这一策略不仅增强了模型对上下文信息的理解能力,并且提升了其在生成相关中间内容方面的效率。从而显著提升了该模型在自然语言处理方面的综合能力。

FIM策略的定义

FIM(Fill-in-the-Middle, 中间填充)方法是一种通过训练提升语言模型生成能力的技术。该方法通过随机在训练过程中将文本分割为三个部分:前缀、中间和后缀,并使模型基于前缀和后缀内容推导出中间的部分内容。从而提高模型在特定背景中生成连贯文本的能力。

FIM策略的实现原理

FIM策略的核心在于数据增强和结构化训练。具体实现步骤如下:

文本分割

从给定的文本中随机选取一个样本实例,并将其划分为三个组成部分:前缀(prefix)中间(middle)和后缀(suffix)

结构化输入

使用特殊的标记(如<fim-prefix><fim-suffix><fim-middle>)来连接这三部分。例如:

<fim-prefix> prefix <fim-suffix> suffix <fim-middle> middle <eos>

这种系统化的输入数据通过训练过程使模型能够系统地从前后缀中推导出中间内容。

训练过程

该模型的主要任务是基于前缀和后缀创建中间部分的内容。通过这种方式的应用,该模型不仅能够更加深入地理解和整合上下文信息,并且能有效生成更具逻辑性和连贯性的文本内容。

推理过程

在推理过程中, 模型能够基于给定前缀与后缀的信息推导出中间内容, 并展现出良好的应用效果

FIM策略的优势

增强生成能力:通过FIM训练,模型能够更深入地理解和处理上下文信息,并且能够产出更加连贯且精确的信息内容。

计算效率:FIM训练的总成本提升幅度较小,在推理过程中其所需计算资源消耗量与现有方法相当。

该方法通过训练过程中的结构化前缀、中间及后缀引入方案,在特定背景信息下指导模型生成中间内容。该方法在代码生成与文本补全任务中展现出色表现,并显著提高了模型的生成能力及其实际应用效果。


3 分词器的改进

字节级 BPE

技术方案

扩大词汇库 :分词器的词汇表规模达到 128K token ,这一改进使模型在处理语言数据时更加精准。

预分词器的优化

多语言压缩效率 :经过改进的预分词器和训练数据提升了多语言压缩效率,并使模型能够更加高效地处理多种语言。

采用复合标记结合标点和换行符的技术架构:新的预分词器通过整合标点符号与换行符功能实现了更高效的多行文本处理能力。

解决 token 边界偏差

该系统在处理未带有终端回车符的多行提示时,在组合token的过程中可能导致token界面偏移,在评估场景中尤其值得注意

解决方案:在训练阶段有意识地筛选出一定比例的配对 token,并将其引入到模型训练中以减少这类偏差的影响程度。


DeepSeek-V3 在预训练阶段通过以下优化提升了模型的性能和效率:

优化语料库:提升包含数学与编程样本的比例,并扩大多国语言的涵盖范围;采用打包策略以确保数据的完整性。

采用 FIM 策略:通过上下文线索的分析与提取,在中间文本的预测方面实现了较高的准确性;同时确保后续输入token的生成效率。

改进分词器 :基于字节级 BPE 的方法,在词汇表上增加了更多词汇,并提升了预分词器的性能。此外, 通过随机拆解 token 组合, 从而减少了 token 之间的边界偏差.

这些优化措施不仅显著地提升了模型的多语言处理能力,并且在诸如数学运算和程序编写等特定任务上也表现出更强的能力。

4.2 Hyper-Parameters

DeepSeek-V3 的模型与训练超参数配置包括了多个维度:模型架构、优化器选择、学习率策略以及并行机制等。


1 模型超参数(Model Hyper-Parameters)

Transformer 层和隐藏维度

层级:DeepSeek-V3拥有61层Transformer结构,这通过复杂的语言模式处理能力得以实现。

隐藏维度 :每层的隐藏维度为 7168 ,这决定了每层的特征表示能力。

参数初始化

可学习的参数按照 **0.006 的标准差进行随机化初始化 ,这有助于防止在训练初期出现梯度消失或爆炸的问题。

多头潜在注意力(MLA)

注意力头数量 :每个 Transformer 层包含 128 个注意力头 ,每个头的维度为 128

KV 压缩维度 :键值(KV)压缩维度 dc 为 512 ,查询压缩维度 dc′ 为 1536

分离的查询和键 :分离的查询和键的每个头的维度 dhR 为 64

MLA的核心概念

多头潜在状态(Multi-Head Latent State, MHS)是一种改进型注意力机制,在优化传统多头注意力(Multi-Head Attention, MHA)效率的同时显著降低了资源消耗,并通过提升模型性能确保了系统的稳定运行。

核心原理

低秩联合压缩

传统的多头注意力机制中假设每个子层分别生成键(Key)和值(Value),这将导致KV缓存规模随着序列长度及关注头数呈线性递增的趋势,并最终造成内存消耗极大。

MLA借助多头机制将多个头的键值投影至同一个低维潜在空间中,并大幅降低了需要缓存的KV对数目。

例如,在传统机制中运行时维护着32个注意力头来负责处理长度为2048的序列。其中每个多维矢量空间(MDS)中的每个向量维度被设定为512维,并且系统会自动分配足够的内存以存储这些向量。而在MLA优化后的情况下,在多维矢量空间中每个潜在空间维度降维至128,并且所需的内存规模缩减到4MB。

潜在表示学习

MLA将输入的数据被映射至一个低维潜在的空间中,并抽取更为抽象的语义特征的同时降低了计算复杂度

在潜在空间中进行多头注意力计算,能够更高效地捕捉复杂全局依赖。

查询压缩

MLA不仅对键和值进行压缩,还对查询(Query)实施低秩压缩,并最终降低内存占用。

解耦的键和查询

MLA通过分离键与查询来进行独立操作,并对它们进行单独的管理与优化,在数据组织上类似于将不同类别的信息单独存储以便快速查找和使用

MLA的优势

减少内存占用

MLA通过利用低秩压缩技术显著降低了KV缓存的需求量,并从而提升了模型处理长序列的能力。

例如,在DeepSeek-V2模型中,KV缓存的占用减少了93.3%,推理吞吐量提升了576%。

提高推理效率

内存占用减少使得MLA能够更快地生成输出结果,提升了模型的吞吐量。

保持性能

尽管进行了压缩和优化,MLA仍然能够保持与标准MHA相当的性能水平。

灵活性与适应性

MLA可以通过调整低秩参数灵活适应不同的任务需求。

混合专家(MoE)层

FFN 替换 :除了前三层外,所有前馈网络(FFN)被替换为 MoE 层。

MoE结构中每一个 MoE层都由一个共享专家以及256个路由专家共同构成,并且每个专家的中间隐藏层的维度都被设定为2048

激活的专家数量:每个 token 催发 8位专家 ,并且每个 token 最多会被发送至 4个节点

multi-token prediction depth is set to 1, meaning that each token will predict not only the next one but also an additional subsequent one.

MoE层的核心概念

混合式专家(Mixture of Experts, MoE)结构层是一种独特的神经网络架构设计。该结构旨在通过引入多个专家网络和一个门控网络进行协调作用,在保证高性能的同时实现模型的稀疏化激活过程,并有效率地降低计算资源消耗。

MoE层的两个关键组成部分

专家网络(Experts)

每个专家都充当着一个单独的子网络结构,在实际运算过程中,一般采用前馈神经网络架构(FFN)。在实际计算中,只有少量的专家会被激活来处理输入数据。

不同领域的专家能够聚焦于各自领域的专业知识,并深入研究相关数据特性。这有助于提升模型在这一领域内的表达能力以及整体运行效率。

门控网络(Gating Network)

门控网络负责根据输入数据的特征动态选择哪些专家参与计算。

在机器学习领域中,默认情况下,默认情况下认为门控网络是一种相对简单的前馈架构;基于softmax函数计算出每个专家( expert)对应的权重值后,则会筛选出具有最高权重值的若干专家用于实际操作

MoE层的工作机制

MoE层的工作流程可以分为以下几个步骤:

输入数据的门控计算

输入数据首先通过门控网络,计算每个专家的权重。

权重通过softmax函数归一化,确保所有权重之和为1。

选择激活的专家

门控网络根据计算得到的权重值筛选出具有最高权重值的少数专家(一般情况下仅有1至2个)进行激活。

只有被选中的专家会参与后续的计算。

专家计算

被激活的专家对输入数据进行处理,生成各自的输出。

输出整合

最终的输出是所有被激活专家的输出的加权和。

MoE层的优势

减少计算成本

基于门控注意力机制的模块化专家网络(MoE)结构通过稀疏连接模式指导下的选择性激活机制,在运行时仅采用特定连接模式选择性激活相应子网络或专家级模型进行计算操作,并大幅降低了计算资源投入规模

例如,在处理长序列数据时,MoE层可以显著减少内存占用。

提高模型性能

通过多个专家的协同工作,MoE层能够更好地处理复杂的任务。

不同领域的专家能够深入研究特定的研究领域或数据特性,并通过这种方式有效地提高模型的通用性和预测能力。

支持大规模模型训练

MoE层允许在有限的计算资源下训练更大规模的模型。

例如,DeepSeek-V3通过MoE架构在671B参数的模型中实现了高效的训练。

基于混合式专家架构的方法通过集成多个专家模块并辅以控制机制,在实现模型参数的有效稀疏化的同时成功降低了计算开销。该方法不仅在自然语言处理及多任务学习等多个领域展现出显著的优势,并且已成为现代大规模模型架构中不可或缺的技术基础。

其他模型结构

RMSNorm 层 :在压缩潜在向量后添加额外的 RMSNorm 层。

宽度瓶颈处的缩放因子:为了优化训练效率,在模型架构中引入额外的缩放因子系数有助于提升训练效率

模型规模

总参数量 :DeepSeek-V3 总参数量为 6710 亿 ,其中每个 token 激活 370 亿 参数。


2 训练超参数(Training Hyper-Parameters)

优化器配置

AdamW 优化器 :使用 AdamW 优化器,其超参数设置为:

β1=0.9

β2=0.95

权重衰减(weight_decay)= 0.1

预训练设置

最大序列长度 :在预训练期间,最大序列长度设置为 4K

预训练数据量 :在 14.8 万亿个 token 上进行预训练。

学习率调度

初始阶段 :在前 2000 步,学习率从 0 线性增加到 2.2×10−4。

恒定阶段 :在模型消耗 10 万亿 token 之前,保持学习率为 2.2×10−4。

在学习率衰减阶段中,在后续的4.3万亿 token 内部,通过余弦衰减曲线逐步将学习率降至2.2×10−5。

最后阶段 :在最后 5000 亿 token 的训练中:

前 3330 亿 token 保持学习率为 2.2×10−5。

剩余 1670 亿 token 切换到另一个恒定学习率 7.3×10−6。

梯度裁剪

梯度裁剪范数 :设置为 1.0 ,以防止梯度爆炸。

批量大小调度

批量大小调整:在训练初期的46.9万亿 tokens阶段内,批处理大小从3.072×10³逐步提升至1.536×10⁴;随后,在剩余训练过程中维持恒定。

流水线并行

模型部署 :利用流水线并行将模型的不同层部署在不同的 GPU 上。

专家部署 :对于每一层,路由专家将均匀部署在属于 8 个节点的 64 个 GPU 上。

节点限制路由

节点数量限制 :每个 token 最多被发送到 4 个节点 (即 M=4)。

无辅助损失的负载均衡

更新频率:针对前14.3万亿token段,更新频率γ定值为**γ=−∞***;其余区域设定为无数值或零数值。

平衡损失权重 :设置 α 为 0.0001 ,以避免任何单个序列内的极端不平衡。

多 token 预测(MTP)损失权重

权重λ被初始分配给前10万亿token序列中的每一个位置,并分别赋值为0.3;而对于余下的4.8万亿token序列中的每个位置,则分别被分配为0.1。


DeepSeek-V3 的模型架构和训练参数经过细致的规划与优化配置,在高效率的训练过程中展现出卓越的性能表现:

模型架构 :通过增加层数、隐藏维度和 MoE 层,提升了模型的表达能力。

采用AdamW 优化器配置方案,并配合动态学习率调整策略和梯度幅值限制技术来优化训练过程

并行策略 :利用流水线并行和节点限制路由,优化了大规模训练的效率。

负载均衡:通过零额外开销的负载均衡策略,在保证训练过程稳定性的前提下提升了效率。

这些超参数的设置不仅显著提升了模型性能,在训练过程中不仅提升了资源利用率还增强了稳定性。

4.3 Long Context Extension

1. 技术背景

DeepSeek-V3 是一种人工智能模型,可能是用于自然语言处理(NLP)任务。

它参考了 DeepSeek-V2 的技术框架来具备长上下文处理能力。即模型不仅能够理解和解析复杂的文本信息,并且能生成更长的文本序列以满足不同场景的需求。这种能力对于处理复杂文档、长篇叙事以及技术性文件等内容具有重要意义。


2. 训练方法

预训练阶段:这是模型训练的关键起点,在大规模数据集上执行无监督学习以帮助模型掌握语言的基本结构与模式。

完成预训练后, 采用了名为 YaRN 的技术(该技术于2023年提出)来扩大模型的上下文窗口。此处, 上下文窗口被定义为模型同时处理文本的能力范围, 扩展上下文窗口则能提升模型对较长文本的理解能力。


3. 扩展训练的两个阶段

第一阶段

上下文窗口扩展 :从 4K(4096 个标记)扩展到 32K(32768 个标记)。

训练步骤 :进行了 1000 步的训练。

序列长度 :设置为 32K,即模型每次处理的文本长度为 32768 个标记。

批量大小 :1920,表示每次训练时输入模型的数据量。

超参数设置

尺度(𝑠)= 40

参数(𝛼)= 1

参数(𝛽)= 32

缩放因子(√𝑡)= 0.1 × ln(𝑠) + 1

学习率 :7.3 × 10⁻⁶,与预训练阶段的最终学习率一致。

第二阶段

上下文窗口扩展 :从 32K 进一步扩展到 128K(131072 个标记)。

训练步骤 :同样进行了 1000 步的训练。

序列长度 :增加到 128K。

批次大小:被降到480个单位;由于处理更长文本时需要更高的计算资源投入,因此将每次输入的数据量减少为480个单位

其他参数 :学习率和超参数与第一阶段保持一致。


4. 技术细节

YaRN :一种用于扩展上下文窗口的方法,通过某种机制优化了模型对长文本的处理能力。

解耦的共享键(k𝑅𝑡) :这是一个具体的组件,在该模型中被解耦地共享键(k𝑅𝑡)专门用于其功能。

超参数:这些是训练过程中需要配置的关键变量 ,它们在模型性能优化中扮演着至关重要角色 。例如:

𝑠 (尺度):可能与模型的扩展能力有关。

𝛼、𝛽 :可能是用于控制训练过程的权重或比例。

√𝑡 (缩放因子):用于调整某些计算过程,具体公式为 0.1 × ln(𝑠) + 1。


5. 性能表现

在经过两个阶段的扩展训练后, DeepSeek-V3 支持处理长度达到 128K 的文本输入, 并展现出卓越的性能。

NIAH测试:该测试旨在考察模型从长文本中提取关键信息的能力。实验结果显示DeepSeek-V3在该测试中的表现尤为出色。表明其具备处理长达128千字节上下文并维持稳定性能的能力。

4.4 Evaluations

Evaluation Benchmarks

涉及该模型的性能评估方法及其基准测试数据集的具体说明。这些标准和规范将确保评价过程的一致性和可比性。


1. 模型预训练背景

DeepSeek-V3的核心模型是基于一个多语种语料库完成预训练的,在主要语言中包括英语和中文两种语言。这表明该模型在架构上支持处理这两种语言的任务。


2. 性能评估的范围

该系统旨在全面评估模型性能。研究者采用了多种基准测试指标(benchmarks),这些指标涵盖了英语、中文以及多种语言的任务。

评估依据作者内部的评估框架(其整合于HAI-LLM框架中),即评估方法具有标准化和系统化的特征。


3. 基准测试的分类

基准测试按照不同的任务类型被划分为多个不同类别的子测试集合;每个子测试集合都对应着特定的任务类型,并且根据实际需求进行了相应的优化设计;具体阐述了各类别及其对应的详细数据集

(1)多学科多项选择数据集

这些数据集旨在测试模型在跨学科技能(包括科学、数学以及人文等多个领域)的理解与选择能力。

MMLU :多学科理解数据集。

MMLU-Redux :MMLU的改进版本。

MMLU-Pro :更高级的MMLU版本。

MMMLU :可能是一个多模态或多语言版本的MMLU。

C-Eval :中文评估数据集。

CMMLU :可能是一个中文版本的MMLU。

(2)语言理解和推理数据集

这些数据集用于评估模型对语言逻辑和推理能力的理解。

HellaSwag :用于评估常识推理。

PIQA :物理推理问答。

ARC :人工智能挑战赛,涉及复杂的推理任务。

BigBench Hard (BBH) :用于评估模型在复杂任务上的表现。

(3)闭卷问答数据集

这些数据集被用来测试模型在不依赖于外部知识支持的情况下解答问题的能力

TriviaQA :包含各种趣味性问题。

NaturalQuestions :自然语言问答数据集。

(4)阅读理解数据集

这些数据集用于评估模型对长文本的理解能力。

RACE :阅读理解数据集,分为中学(Middle)和高中(High)两个子集。

DROP :需要模型进行数值推理的阅读理解数据集。

C3 :中文阅读理解数据集。

CMRC :中文机器阅读理解数据集。

(5)指代消解数据集

这些数据集用于评估模型对文本中指代词(如“他”、“它”)的理解能力。

CLUEWSC :中文指代消解数据集。

WinoGrande :大规模指代消解数据集。

(6)语言建模数据集

这些数据集用于评估模型生成自然语言的能力。

Pile :一个大规模的文本数据集。

(7)中文理解和文化数据集

这些数据集专注于评估模型对中文语言和文化的理解。

CCPM :中文文化理解数据集。

(8)数学数据集

这些数据集用于评估模型解决数学问题的能力。

GSM8K :包含8.5K数学问题的数据集。

MATH :数学问题数据集。

MGSM :可能是一个更高级的数学问题数据集。

CMath :中文数学问题数据集。

(9)代码数据集

这些数据集用于评估模型生成和理解代码的能力。

HumanEval :用于评估代码生成能力。

LiveCodeBench-Base :代码生成基准测试。

MBPP :用于评估代码生成和理解能力。

CRUXEval :代码生成和理解的基准测试。

(10)标准化考试

这些数据集用于评估模型在类似标准化考试中的表现。

AGIEval :包含英语和中文子集的综合评估数据集。


4. 评估方法

基于Perplexity的评估:该方法旨在考察模型在多项选择及推理任务中的性能。Perplexity这一指标被用来作为衡量模型预测能力的标准,在多项选择与推理任务中展现出良好的适用性与准确性。Perplexity值越小则表明模型预测效果越好;其数值大小反映了模型对数据分布的拟合程度。

基于生成的评估 :用于评估模型生成文本(如问答、代码生成等)的能力。

语言模型评估:用于衡量模型生成自然语言的质量,并采用每字节比特率(BITRATE)作为衡量标准。以确保各模型间的公平对比。

Evaluation Results

在现有研究中,对DeepSeek-V3基础模型性能进行深入探讨,并对其与现有研究中其他主要开源模型(如DeepSeek-V2,Qwen2.5以及LLaMA-3.1)之间的异同点及其影响因素进行系统评估


1. 性能比较的背景

DeepSeek-V3基础模型 :这是当前讨论的模型,作者对其性能进行了全面评估。

对比模型

DeepSeek-V2-Base :DeepSeek团队之前发布的版本。

Qwen 2.5 72B Base 是 Qwen 团队在训练过程中完成的一个阶段性的成果。该模型具有72 \times 10^9规模的参数量,并且处于当时的领先地位是一个具有重要影响力的中文开源模型。

LLaMA-3.1 405B Base :由Meta开发的4050亿参数的模型,是目前最大的开源模型。

评估方法:所有模型均采用DeepSeek团队内部开发的统一测试框架进行验证,并保证测试的一致性。


2. 评估框架的变化

作者指出,在经历了评估框架最近几个月的更新后,DeepSeek-V2-Base的表现与其先前报道的数据存在差异。这表明评估结果可能受到框架更新的影响。


3. DeepSeek-V3的整体表现

总体优势:DeepSeek-V3-Base普遍超越了DeepSeek-V2-Base和Qwen2.5 72B Base,在绝大多数基准测试中表现卓越,并且在大部分基准测试中超越了LLaMA-3.1 405B Base。

结论 :DeepSeek-V3-Base被认为是当前最强的开源模型。


4. 详细对比分析

(1)与DeepSeek-V2-Base的对比

改进原因

模型架构的改进。

模型规模和训练数据量的扩大。

数据质量的提升。

结果 :DeepSeek-V3-Base的性能显著优于DeepSeek-V2-Base,这符合预期。

(2)与Qwen2.5 72B Base的对比

参数规模 :DeepSeek-V3-Base的激活参数只有Qwen2.5 72B的一半。

性能优势

针对英语、多语种等场景进行测试分析,在代码相关和数学基准测试中发现DeepSeek-V3-Base展现出卓越的能力,并且明显超越了Qwen2.5 72B模型。

中文基准测试中的表现同样优于已知的CMMLU模型,并且DeepSeek-V3-Base也超过了Qwen2.5 72B

(3)与LLaMA-3.1 405B Base的对比

参数规模 :LLaMA-3.1 405B的激活参数是DeepSeek-V3-Base的11倍。

性能优势

在多语种、代码和数学基准测试中,DeepSeek-V3-Base表现优于LLaMA-3.1 405B。

在英语及中文语言基准测试任务中进行评估时,DeepSeek-V3-Base展现出不俗实力,在相关领域中的基准测试任务中

BBH(BigBench Hard)

MMLU系列(多学科理解)

DROP(阅读理解)

C-Eval(中文评估)

CMMLU(中文多学科理解)

CCPM(中文文化和语言理解)


5. 训练效率

高效架构和优化 :DeepSeek-V3采用了高效的模型架构和全面的工程优化。

计算资源消耗:基于DeepSeek提供的训练生态系统中,在利用其先进的训练架构的情况下,完成每万亿标记的数据处理任务仅用时18万小时基于H800架构的GPU计算资源。

对比 :这一训练成本远低于训练72B或405B密集模型的费用。


该研究证实了DeepSeek-V3基础模型在多项基准测试中的卓越表现。特别值得一提的是,在多语种处理、代码执行以及数学推理等任务中均展现出显著的优势。值得注意的是,在参数规模这一关键指标上略低于Qwen2.5及LLaMA-3.1等对比模型。然而通过对该模型采用其独特的高效架构与优化方案的应用,在性能指标与训练成本方面均展现出色的竞争力。这些观察结果进一步证实了该模型不仅在性能方面实现了突破性进展,在资源效率利用方面同样表现出突出的优势。

4.5 Discussion

Ablation Studies for Multi-Token Prediction

在表4中呈现了MTP策略基准实验的结果概述。具体而言,在小规模模型上我们进行了实验验证:基于1.33万亿标记训练了一只拥有157亿参数的基线MoE架构;而在大规模模型上,则基于5400亿标记训练了一只拥有2287亿参数的基线MoE架构。值得注意的是,在所有模型构建过程中我们保持了相同的训练数据以及网络架构不变:即通过叠加一个深度仅达一层的新模块到原有基础架构之上,并分别对采用MTP策略进行针对性优化后生成两组可比性分析用例集合进行测试与评估。其中特别值得强调的是:在整个推理阶段我们并未引入任何额外组件或操作——即所评估的所有对比对象均在同一基准条件下来完成推理任务:因此其计算开销具有完全一致性特征。从表中数据可以看出:该方法在多数评估基准测试指标下均能展现出显著的优势与提升效果。

Ablation Studies for the Auxiliary-Loss-Free Balancing Strategy

在机器学习与深度学习领域中,在处理大规模模型(例如混合专家架构MoE)时, 负载平衡是一个核心任务。该核心任务的核心目标是确保每个专家节点能够均衡地承担输入数据的处理任务, 并防止个别专家节点出现过载情况的同时确保其他节点保持充分的工作负载

传统的做法通常是通过引入辅助损失(auxiliary losses)来达成负载均衡的目标。然而,在实际应用中发现这种做法可能会导致额外的计算负担,并可能对模型性能造成不利影响。因此,在深入分析后提出了这一新方案——无辅助损失平衡策略 ,并通过一系列实验测试其可行性。


2. 实验设计

为了考察无辅助损失平衡策略的表现效果, 该研究团队分别在小规模和大规模基准模型上展开了实验研究

(1)基线模型

小规模基线模型

参数量:157亿(15.7B)。

训练数据量:1.33万亿(1.33T)标记。

大规模基线模型

参数量:2287亿(228.7B)。

训练数据量:5780亿(578B)标记。

这些基于传统辅助损失的方法通过负载平衡机制实现了资源分配的均衡,并采用了一系列先进的技术方案以提升系统性能

Sigmoid门控函数 :用于控制输入数据分配到各个专家的概率。

Top-K亲和力归一化:一种优化策略,在确保数据能够快速分配到最合适的人才的过程中发挥重要作用

配置超参数:调节辅助损失强度相关的超参数设置分别与DeepSeek-V2-Lite以及DeepSeek-V2的设置保持一致。


(2)实验方法

基于保持训练数据和其他架构不变的前提条件,在此背景下,研究团队对基线模型进行了系统性的优化工作:增加了模型的复杂度,并改进了算法的收敛速度。

移除所有辅助损失 :不再使用传统的辅助损失来实现负载平衡。

采用无辅助损失平衡策略:应用一种新的方法以实现负载平衡。


3. 实验结果

实验结果表明:

无辅助损失平衡策略 普遍适用于各类标准测试环境,并在实验过程中持续保持显著提升的性能水平。

表明:与现有的辅助损失方法相比而言,在负载均衡方面表现突出,并且还能够显著提高整体性能。


4. 结论

通过实验验证该方法具有显著的效果。该方法能够在独立于辅助损失的情况下实现负载均衡,并且提升了模型性能。研究表明该方法是一种有潜力的替代方案,在提升训练效率方面表现出色。


5. 更广泛的意义

减少计算开销 :去除不必要的额外运算可降低模型运算负担并提升训练效率。

提高性能水平:实验数据表明,在各项基准测试中采用无辅助损失策略的表现优于有辅助损失的情况。研究表明该策略能够有效优化模型资源分配效率,并最终实现了整体性能的有效提升。

可扩展性 :该策略在小规模及大规模模型上均有良好效果,并且能够很好地适应不同规模的模型训练。

综上所述,在分析无辅助损失平衡策略在负载均衡与模型性能优化方面的优势后发现,并为大规模模型训练提供了新的思路。

Batch-Wise Load Balance VS. Sequence-Wise Load Balance

该研究深入探讨了两种不同类型的负载均衡策略——零辅助损失平衡(auxiliary-loss-free balancing)与序列型伴随损失(sequence-wise auxiliary loss)——在模型训练过程及其特性方面的影响与差异,并借助实验结果分析展示了它们之间的性能差距。


1. 两种负载平衡策略的区别

无辅助损失平衡(auxiliary-loss-free balancing)

负载均衡 :批处理级别(batch-wise),即在统一的数据批次内实现均衡负载,并非对单个序列实例进行独立处理。

特点 :这种策略并不强制要求每个序列在域内实现平衡状态,从而带来了更高的操作自由度.

优势

序列式辅助损失(sequence-wise auxiliary loss)

负载均衡策略逐序列级(sequence-wise),即意味着在每个独立的序列中严格保证负载均衡。

特点 :这种方法对负载平衡的约束更严格,但可能限制了专家的灵活性。


2. 实验验证

为了验证这两种策略的效果,研究者进行了以下实验:

(1)专家负载分析

研究者在Pile测试集中不同领域中被研究者分别记录了两个模型的专家负载

一个基于160亿参数的序列式辅助损失模型(auxiliary-loss-based model)。

一个160亿参数的无辅助损失模型(auxiliary-loss-free model)。

结果

(2)批量级辅助损失的设计与验证

为了进一步深入探讨无辅助型策略的灵活性与其模型性能优势之间的关系, 研究者致力于设计并开发出一种批量级辅助损失(batch-wise auxiliary loss)的方法。

这种新的辅助损失策略在每个训练批次上进行负载均衡分配,而不仅仅是在每个序列上。

实验结果

在10亿参数的MoE模型实验中:

使用序列式辅助损失的验证损失为2.258。

使用无辅助损失方法的验证损失为2.253。

使用批量级辅助损失的验证损失为2.253。

在30亿参数的MoE模型实验中:

使用序列式辅助损失的模型验证损失为2.085。

使用无辅助损失方法或批量级辅助损失的模型验证损失均为2.080。

结论 :在接近相同规模下的批次级负载均衡水平上,在线批处理(BPP)算法的表现表现出了显著的竞争优势,并且其对应的训练时间表现出了良好的可扩展性特征。这表明无辅助损失策略的优势可能主要源自其批次级上的灵活性。


3. 效率挑战与解决方案

虽然大规模的负载均衡方法在性能方面表现出色,并且能够有效提升系统的处理能力与资源利用率,在高并发场景下表现尤为突出;但同时需要注意的是,在实际应用中该方法还存在一些局限性与改进空间

(1)序列或小批次内的负载不平衡

问题 :某些序列或小批次内可能仍然存在负载不平衡。

解决方案:采用大量专家级并行与数据级并行的方法, 研究者的训练框架确保了每个微批处理(micro-batch)的数量足够大, 从而有效地解决了该问题。

(2)推理阶段的领域偏移引起的负载不平衡

问题 :在推理阶段,输入数据的领域分布可能发生变化,导致负载不平衡。

解决方案 :研究团队开发了并实现了具有高效率的推理架构。该系统通过冗余专家部署(redundant expert deployments)策略来应对这一挑战,在详细说明中进一步阐述了相关技术细节


4. 总结

这段内容的核心是研究比较了无辅助损失平衡策略与序列式辅助损失策略在负载均衡及模型性能上的对比分析。实验数据显示:

不依赖辅助损失的策略通过赋予专家在不同领域之间进行更精细划分的能力,在多个子任务上帮助模型实现更好的性能表现。

该批处理级别的辅助损失具有与无辅助处理级别方法相当的性能水平,并且证明了这种灵活性的价值

虽然批量级策略在性能上具有显著优势, 但在效率方面仍存在一定的挑战, 这些问题可通过大规模并行计算和冗余专家集群部署等方法来解决

这些研究为大规模模型的训练与推理过程提供了宝贵的发现,在负载均衡与性能优化方面具有重要意义。

5 Post-Training

5.1 Supervised Fine-Tuning

构建与优化该指令微调(instruction-tuning)数据集的同时,请采用特定训练策略以提高模型性能水平


1. 指令微调数据集的构建

为了增强模型性能目标的研究者构建了一个包含150万实例的指令微调训练数据集该数据集涵盖多个研究领域每一个领域都采用了与其特定需求相适应的数据生成方法该分类体系下包含了两类主要的数据类型即推理类型的数据与非推理类型的数据


2. 推理数据(Reasoning Data)

推理数据特指那些涉及逻辑推理、数学运算或编程技巧的数据类型。例如数学难题、编程竞赛习题以及逻辑挑战等。这些数据的生成与优化过程则遵循以下步骤:首先收集相关领域中的典型问题或案例;其次设计适合该领域需求的算法框架;最后通过测试与验证确保算法的有效性与准确性。这些过程主要包括三个主要步骤:收集数据、设计算法以及进行测试与验证。

(1)数据生成方法

使用内部的 DeepSeek-R1模型 来生成推理数据

优点 :R1生成的数据具有较高的准确性。

缺点存在一些问题,例如过度思考(overthinking)、格式不佳和篇幅过长

(2)优化目标

平衡R1生成数据的高准确性和格式规范数据的清晰简洁性。

(3)训练方法

开发专家模型(Expert Model)

针对特定领域(如编程、数学或一般推理)开发专家模型。

使用 监督微调(SFT)和强化学习(RL)结合的训练流程

专家模型作为最终模型的数据生成器。

生成SFT样本

每个实例生成两种类型的SFT样本

第一种:将问题与原始回答配对,格式为 < 问题,原始回答>

第二种:加入系统提示(system prompt),格式为 < 系统提示,问题,R1回答>

系统提示 :经过精心设计,包含引导模型进行反思和验证的指令。

强化学习阶段(RL Phase)

使用高温采样(high-temperature sampling)生成回答。

即使没有系统提示,模型也能整合R1生成数据和原始数据的模式。

经过数百步RL训练后,中间模型学会融入R1模式,从而提升性能。

拒绝采样(Rejection Sampling)

在完成RL训练后,使用拒绝采样筛选高质量的SFT数据。

确保最终训练数据保留R1的优势,同时生成简洁有效的回答。


3. 非推理数据(Non-Reasoning Data)

无需复杂逻辑推理的数据被称为非推理数据。这类数据包括不涉及复杂逻辑推理的工作、如文学创作、角色扮演以及日常交流等案例。这些数据的生成与验证流程如下:

使用 DeepSeek-V2.5模型 生成回答

聘请人工标注员验证数据的准确性和正确性。


4. 监督微调(SFT)设置

为了将指令微调数据集应用于模型训练,研究者采用了以下设置:

使用SFT数据集对 DeepSeek-V3-Base 进行两个周期的微调。

学习率采用 余弦衰减调度

起始学习率为 5×10⁻⁶

逐渐降低至 1×10⁻⁶

样本打包策略

每个序列由多个样本组成。

使用 样本掩蔽策略 (sample masking),确保样本之间保持独立且互不可见。


本节的重点是探讨如何通过采用科学的数据生成策略以及科学的训练优化方法来提高模型性能水平。具体来说:

推理数据:该系统通过整合R1模型的高效性与专家级模型的最佳优化性能,在算法层面实现对问题求解过程的最佳模拟与模拟效果的最大化输出。

非推理数据 :通过人工标注验证数据的准确性。

训练方法:通过基于监督的微调方法与强化学习技术的融合,并结合样本遮蔽策略设计一种新的模型架构。该方法能够有效提升模型在高质量数据集上的表现能力。

通过这些方法的应用,在处理推理与非推理任务时均展现出显著优势,并且成功地保证了生成数据既具有多样性又达到了较高的质量标准

5.2 Reinforcement Learning

Reward Model

强化学习(Reinforcement Learning, RL)中的两种奖励模型(Reward Model, RM):一种基于规则框架的设计(Rule-Based RM),另一种则通过动态生成模式实现(Model-Based RM)。它们的主要功能是为训练过程提供反馈信息,在此基础之上帮助优化生成机制以达到更为精确或符合预期的结果输出。


1. 基于规则的奖励模型(Rule-Based RM)

这种奖励模型基于既定的规范来识别模型回答的正确性。其主要思路是通过明确的标准或规范检验回答的准确性,并在此基础上提供可靠的反馈。

应用场景

数学问题 :某些数学问题具有明确且确定的答案。例如,在计算一个基本的算术表达式时(如'2 + 2'),结果为'4'。对于这类问题来说,在遵循一定的规则下验证模型的回答准确性是一个有效的方法。

常见编程练习题(如LeetCode题目) :开发人员通常会利用编译器和测试用例来检验代码的准确性。例如,在LeetCode平台中解决算法题时,通过执行相关测试用例可以确认代码是否在所有情况下都表现良好。

实现方式

请模型按照以下规定执行任务

规则验证 :通过预定义的规则(如数学公式、测试用例)来判断回答的正确性。

优点

具有很强的可靠性:该方法具有很强的可靠性。因为该方法建立在明确的标准基础上,难以被模型操控或滥用。

效率高 :规则验证通常可以快速完成,适合于有明确答案的问题。


2. 基于模型的奖励模型(Model-Based RM)

这种奖励模型基于一个经过预先训练的模型来评估回答的质量。它可应用于那些缺乏清晰的答案方向或允许采取多种表现形式的问题。

应用场景

自由形式答案 :这些问题的答案可能没有统一的标准格式或标准答案。如开放式问答、创意写作或主观性问题。

缺乏明确真实答案的问题:例如创意写作任务通常不具有一个独特的"标准答案",通常需要综合考量作品的表现力、逻辑性和一致性来评价。

实现方式

奖励模型训练奖励模型 源自 DeepSeek-V3监督微调(SFT)检查点的微调。这表明该奖励机制本质上是由经过深度学习训练后的神经网络构建而成,并具备对输入问题与回答进行质量评估的能力。

偏好数据:为了提升奖励模型的可靠性和有效性,研究者开发了一个包含偏好数据的数据集。这些数据不仅记录了最终的评分结果,并且还记录了引发这一评分结果的思考过程(Chain-of-Thought)。例如,在评估某个回答时,在评估时不仅会给出评分结果,并且还会分析该回答为何值得肯定或为何需改进。

奖励模型接收问题与回答作为输入,并生成一个奖励评分以评估回答的质量水平。

优点

灵活性高 :能够处理没有明确答案或答案形式自由的问题。

适应性强 :可以通过训练调整奖励模型,使其适应不同类型的任务。

潜在风险

奖励操纵(Reward Hacking) 是一种现象,在该领域中因奖励模型基于数据训练的特点而存在被操纵的风险。具体而言,在这种情况下,系统可能会生成看似合理的但本质上无意义的回答以获取高分值或高奖励。为了应对这一挑战,在研究中提出了一种方法:通过引入考虑推理过程的数据来提高系统的鲁棒性


3. 总结

遵循规则生成的奖励模型 适用于针对具有明确答案的问题,在应用规则进行检验时确保回答准确性,并以其高可靠性及高效性运作

基于模型的设计:能够有效评估开放Ended问题的答案质量,并通过预先训练好的生成器对回答质量进行评分。

基于融合这两种激励机制,在强化学习框架中研究者能够为人工智能系统提供更为全面且可靠的反馈信息,并帮助其在多维度的任务中表现出色

Group Relative Policy Optimization

在强化学习(Reinforcement Learning, Reinforcement Learning)框架中所应用的一种优化方法——组相对策略优化(Group Relative Policy Optimization, Group Relative Policy Optimization)。该方案作为一种改进型的策略优化方案,在监督微调(SFT)样本资源有限的情况下可有效提升模型性能,并旨在生成更符合人类偏好、更自然化的模型。


1. 组相对策略优化(GRPO)

GRPO是一种用于提升策略模型性能的技术,在其实现过程中与现有的主流策略优化方法(如PPO)具有相似性的同时又存在明显区别。其核心理念在于通过采样一组输出并评估它们相对于其他输出的优势来进行优化,并不依赖于一个与特定问题规模相当的评论家模型来辅助决策过程。

关键特点

摒弃评论家模型

传统的策略优化技术(如PPO)一般依赖于一个"评论家模型"来评估每个动作的价值(即基线)。相比之下,GRPO通过直接分析一组输出分数(组分数)来估算基线,并无需建立或维护独立的评论家模型。

组采样与优化

对于每个问题𝑞,GRPO从旧策略模型𝜋𝜃𝑜𝑙𝑑中采样一组输出{𝑜1, 𝑜2, ..., 𝑜𝐺}。

随后在策略更新过程中需最大化一个特定的目标函数(objective function)以实现对策略模型𝜋𝜃的有效优化


2. 目标函数

GRPO的目标函数定义如下:

目标函数(Objective Function)

解释

𝑞 :输入问题。

𝐺 :采样输出的数量。

𝜋𝜃𝑜𝑙𝑑 :旧策略模型。

𝜋𝜃 :当前策略模型。

𝐴𝑖 :第𝑖个输出的优势(advantage),表示该输出相对于组内其他输出的优劣。

clip :裁剪函数,限制更新范围,避免过大的梯度更新。

𝜀 :裁剪范围的超参数。

𝛽 :控制KL散度惩罚项的权重。

𝐷𝐾𝐿(𝜋𝜃||𝜋𝑟𝑒𝑓) :KL散度,用于惩罚策略模型与参考模型𝜋𝑟𝑒𝑓之间的差异。

优势计算(Advantage Calculation)

𝑟𝑖 :第𝑖个输出的奖励。

meanstd :组内奖励的均值和标准差。


3. GRPO的优势

高效性

GRPO通过基于分组采样策略以及相对优势度计算方法的应用,在构建和维护单独的评论家模型系统方面取得了显著成效,并使得整个训练过程更加高效。

灵活性

GRPO可以处理多种类型的问题,包括有明确答案和没有明确答案的任务。

稳定性

基于裁剪机制与KL散度惩罚机制的引入,在GRPO框架下能够有效抑制策略更新过程中的剧烈震荡,并增强训练稳定性


4. 多样化的提示与领域

在强化学习过程中,研究者引入了来自不同领域的提示,例如:

编程(coding)

数学(math)

写作(writing)

角色扮演(role-playing)

问答(question answering)

目的

实现人类偏好的一致性 :基于多样化的提示信息,模型能更精准地模仿人类的偏好和评价标准。

增强基准测试表现 :尤其在监督微调(SFT)数据稀缺时,该方法可使模型在基准测试中的表现明显提高。

GRPO利用分组采样与相对优势度量的方法,在无需使用commentor model的情况下实现了训练任务的优化配置策略设计。该方法不仅提升了训练效率与系统的稳定性,并且通过构建多维度提示系统与明确的研究方向指引,在多个应用场景中展现出更好的性能。此外,在监督微调数据资源受限的情形下,该系统能够更加精准地契合人类偏好需求

5.3 Evaluations

Evaluation Settings

1. 评估基准(Evaluation Benchmarks)

为了全面地评估模型的性能, 研究者采用了系列基准测试(benchmarks), 这些基准测试涉及不同类型的任务以及领域.

IFEval :由Zhou等人在2023年提出,用于评估模型的指令跟随能力。

FRAMES:基于Krishna团队于2024年提出的框架, 可应用于评估模型在特定任务中的效果如何。

LongBench v2 :由Bai等人在2024年提出,可能是一个长文本处理的基准测试。

GPQA :由Rein等人在2023年提出,用于评估模型在特定问题上的表现。

SimpleQA :由OpenAI在2024年提出,用于评估模型在简单问答任务上的表现。

C-SimpleQA :由He等人在2024年提出,可能是SimpleQA的中文版本。

SWE-Bench Verified :发布于OpenAI于2024年的一个可被视为经过验证的SE benchmark test。

Aider 1 :可能是一个与Aider相关的基准测试。

LiveCodeBench :创建于2024年,并由Jain等人开发。该基准测试用于衡量模型在生成代码方面的性能,并涵盖自该年的8月至11月的数据。

Codeforces 2 :可能是一个基于Codeforces编程竞赛的基准测试。

中国高中数学奥林匹克竞赛(CNMO 2024) :用于评估模型在数学问题上的表现。

美国数学邀请赛(AIME 2024) :由MAA(美国数学协会)在2024年组织的数学竞赛。

此类评估基准涵盖了包括语言理解、问答、编程以及数学问题解决在内的多个领域方向,并且能够有效地应对各种不同的种类的任务表现。


2. 对比基线(Compared Baselines)

为了全面评估聊天系统的性能表现, 研究人员将其与其他若干卓越的基准系统进行了系统性比较分析, 并列举了一些基准系统作为参考

DeepSeek-V2-0506DeepSeek-V2.5-0905 :DeepSeek模型的早期版本。

Qwen2.5 72B Instruct :一个720亿参数的指令化模型。

LLaMA-3.1 405B Instruct :一个4050亿参数的指令化模型。

Claude-Sonnet-3.5-1022 :可能是一个特定版本的Claude模型。

GPT-4o-0513 :可能是一个特定版本的GPT-4模型。

在对闭源模型(如GPT-4o)开展评估工作时,通常会基于其API接口来进行.针对DeepSeek-V2系列,在筛选过程中采用了具有典型意义的版本来进行比较研究.


3. 详细的评估配置(Detailed Evaluation Configurations)

研究者遵循了特定的方法对每个基准测试进行了评估配置设置。

标准基准测试(如MMLU、DROP、GPQA、SimpleQA)

使用 simple-evals框架 提供的评估提示。

对于 MMLU-Redux ,采用 Zero-Eval提示格式 (零样本设置)。

代码和数学基准测试

HumanEval-Mul 是一种涵盖八种主流编程语言的评估工具(如Python、Java等),其中支持的主要编程语言包括:Python, Java, C++, C#, JavaScript, TypeScript, PHP以及Bash。

LiveCodeBench :使用CoT(链式思考)和非CoT方法进行评估。

Codeforces :通过参赛者的百分比衡量。

SWE-Bench Verified :使用无代理框架(agentless framework)进行评估。

Aider相关基准测试 :使用“diff”格式进行评估。

数学评估

AIME和CNMO 2024 :使用温度为0.7进行评估,并在16次运行中取平均值。

MATH-500 :采用贪婪解码(greedy decoding)。

输出限制

所有模型在每个基准测试中最多输出8192个标记。

Standard Evaluation

1. 总体表现

DeepSeek-V3展现出卓越的表现,在经过多方面的评测后被认为是最具影响力的开源系统之一;其性能水平与当前主流的开源模型相当并可与之展开直接竞争;该系统充分展示了其强大的适应能力和广泛的适用性


2. 英语基准测试(English Benchmarks)

(1)MMLU(Multi-Task Language Understanding)

背景

DeepSeek-V3的表现

与LLaMA-3.1-405B、GPT-4o和Claude-Sonnet 3.5等顶尖模型表现相当。

显著优于Qwen2.5 72B。

Within the more challenging MMLU-Pro benchmarks, specifically the educational knowledge benchmark, DeepSeek-V3 followed by Claude-Sonnet 3.5.

在修正版MMLU-Redux中,DeepSeek-V3超越了其他同行。

(2)GPQA-Diamond(PhD-level Evaluation Testbed)

背景

DeepSeek-V3的表现

成绩仅次于Claude 3.5 Sonnet。

显著优于其他所有竞争对手。

(3)长文本理解基准测试(Long-Context Understanding)

DROP :需要模型在少量样本(3-shot)中理解长文本。

DeepSeek-V3在DROP上取得了91.6 F1分数,超越了其他所有模型。

LongBench v2 :一个长文本处理的基准测试。

DeepSeek-V3在该基准上表现最佳。

FRAMES :需要在10万标记的上下文中进行问答。

DeepSeek-V3仅次于GPT-4o,但显著优于其他模型。

(4)SimpleQA(事实知识基准测试)

背景 :用于评估模型在简单问答任务中的表现。

DeepSeek-V3的表现

在性能上略逊于GPT-4o及Claude-Sonnet的主要原因在于DeepSeek-V3的设计焦点更着重于中文知识。

在中文版本的C-SimpleQA中表现出色。

(5)指令遵循基准测试(Instruction-Following)

背景 :评估模型理解和遵循用户定义格式的能力。

DeepSeek-V3的表现

显著优于其前身DeepSeek-V2系列,表明其在指令遵循能力上的提升。


3. 代码和数学基准测试(Code and Math Benchmarks)

(1)编程任务(Coding)

SWE-Bench-Verified、Aider :工程任务。

DeepSeek-V3落后于Claude-Sonnet-3.5-1022,但显著优于其他开源模型。

开源的DeepSeek-V3有望推动编程相关工程任务的发展。

HumanEval、LiveCodeBench :算法任务。

DeepSeek-V3在这些基准测试中表现卓越,超越了所有基线模型。

归功于其先进的知识蒸馏技术,提升了代码生成和问题解决能力。

(2)数学任务(Math)

AIME、MATH-500、CNMO 2024 :数学基准测试。

DeepSeek-V3的绝对分数较之于Qwen2.5 72B的差距约为10个百分点,并充分表明其在数学领域具有卓越的能力

这归功于从DeepSeek-R1继承的知识蒸馏技术。


4. 中文基准测试(Chinese Benchmarks)

(1)C-SimpleQA(中文事实知识基准测试)

背景 :评估模型在中文问答任务中的表现。

DeepSeek-V3的表现

超越Qwen2.5 72B 16.4个百分点。

尽管Qwen2.5在更大的语料库(18T标记)上训练,DeepSeek-V3仍然表现出色。

(2)C-Eval、CLUEWSC(中文教育知识评估)

背景 :评估模型在中文教育知识和语言推理任务中的表现。

DeepSeek-V3的表现

与Qwen2.5 72B表现相当,表明两者都针对中文任务进行了优化。

DeepSeek-V3 在各项基准测试中均展现出色表现,在长文本理解和编程以及数学领域尤为突出;该模型不仅超越了现有开源解决方案,在特定任务上更与当前顶级闭源系统(如 GPT-4o 和 Claude-3.5-Sonnet)并驾齐驱;此外,在中文领域同样展现出色性能,并凸显了其多语言应用能力;以上结果显示 DeepSeek-V3 是一个强大且 versatile 的语言系统,并可满足多样化的应用场景需求

Open-Ended Evaluation

DeepSeek-V3模型经过评测,在其应用于开放式生成任务时,在经过Arena-Hard和AlpacaEval 2.0两项具有挑战性的基准测试后表现出色。


1. 开放式生成任务的评估

除了常规基准测试(包括问答测试、数学测验及编程练习等),研究者还实施了开放性生成任务的评估。这类任务要求模型产出自然流畅的语言文本,并通常涉及较高的创造力与语言运用能力。为了全面评估模型的能力表现,研究者采用了其他大型语言模型(LLMs)作为评判标准来进行对比分析。


2. Arena-Hard基准测试

Arena-Hard 作为衡量模型应对非平凡任务能力的标准测试框架。它使用GPT-4-Turbo-1106构建了一个对比系统来实现对一比较机制。具体而言,该框架采用了分阶段评估流程,并通过多维度性能指标来量化和分析系统的性能。 Arena-Hard 通过模拟真实工作环境中的挑战性场景来全面考察其泛化能力。

DeepSeek-V3的表现

在与基线模型GPT-4-0314的对比中,DeepSeek-V3取得了超过86%的胜率。

该系统的表现与当前顶尖模型相当,并且在处理复杂任务方面展现出显著的能力。

复杂任务 :这些任务包括编程、调试等需要逻辑和创造力的场景。

里程碑意义

DeepSeek-V3是第一个在Arena-Hard基准测试中胜率超过85%的开源模型。

这一成就明显缩小了开源模型与闭源模型两者之间的性能差距,并为其在复杂任务中表现树立了新的标杆。


3. AlpacaEval 2.0基准测试

AlpacaEval 2.0 是一个评测模型,在生成文本能力和回答基本问题的能力两个核心能力上进行了系统评估,并且基于 GPT-4-Turbo-1106 构建了评测框架

DeepSeek-V3的表现

在AlpacaEval 2.0上,DeepSeek-V3超越了闭源和开源模型,表现出色。

这表明DeepSeek-V3在写作任务和简单问答场景中具有很强的能力。

显著改进

DeepSeek-V3以20%的优势超越了其前身DeepSeek-V2.5-0905。

这一改进凸显了DeepSeek-V3在处理简单任务方面的显著提升,并体现了其实现进展的显著优势


4. 总结

该部分内容旨在突出DeepSeek-V3在开放性生成任务方面的卓越优势。该模型特别擅长处理复杂任务如编程与调试以及简单任务如写作与问答方面。其具体表现为:首先,在数学运算能力上尤为出色;其次,在逻辑推理能力强这一点上具有明显优势;最后,在生成高质量代码的能力上取得了显著增强效果。此外,在输出的代码质量高且功能完善的特性上也有着明显提升效果。

在Arena-Hard基准测试中,基线模型GPT-4-0314被DeepSeek-V3以超过86%的成功率所领先,并首次成为首个在该基准测试中成功率达到85%以上的开源AI模型。

AlpacaEval 2.0基准测试中进行比较后发现,DeepSeek-V3不仅超越了现有的闭源与开源模型,还展现了卓越的性能,相比其前身DeepSeek-V2.5-0905实现了显著的进步,成绩提升幅度达20%

实验结果表明,DeepSeek-V3不仅在复杂场景中表现优异,在基础任务上也实现了显著的进步,并充分展示了该模型在各类应用场景下的全面性能和竞争优势。

DeepSeek-V3 as a Generative Reward Model

在评估DeepSeek-V3的判断能力时,我们对比分析了包括GPT-4-zero、Claude-3.5-Llama-zero-9x16g在内的多个先进模型的表现数据。表8列出了各模型在RewardBench(Lambert等人, 2024年)中的具体表现数据。结果显示,在该基准测试中,DeepSeek-V3的性能与GPT-4-zero的最佳版本(编号为'GPT-4o')以及Claude-3.5-Llama-zero-9x16g的最佳版本具有可比性;同时其性能也超过了其他非最佳版本的表现水平。此外,在进一步分析中发现:通过集成投票机制进行多轮评估后可显著提升判断准确性。基于此结论:我们最终决定采用DeepSeek-V3并结合改进后的投票机制设计方法;这一选择有助于实现对开放式问题解答过程中的自我反馈机制开发;最终目标是显著提高对齐过程的有效性和稳定性水平

5.4 Discussion

Distillation from DeepSeek-R1

这段内容主要探讨了DeepSeek-V3在知识蒸馏(Knowledge Distillation)领域的相关研究与实证分析,并分析了蒸馏技术对其性能的作用。


1. 知识蒸馏的背景

知识蒸馏是一种迁移知识的技术。通过将大型或复杂教师model的知识迁移到较小或更简单的student model中, 从而显著提高学生的性能. 在natural language processing领域, 知识蒸馏通常用于从large-scale model向smaller model转移complex reasoning capability.


2. 实验设计

基于DeepSeek-V2.5模型的研究者进行了消融实验,并旨在考察从DeepSeek-R1模型中提取的知识对系统性能的影响。该研究详细说明了该研究的具体实施步骤。

(1)基线模型(Baseline)

该段落的改写内容如下

(2)竞争对手模型(Competitor)

训练数据:竞争对手模型采用了基于专家验证点(Expert Validation Points)生成的优化训练集。这些经过优化处理的数据不仅涵盖了更为复杂的推理环节(长CoT),更能准确反映真实工作环境下的复杂操作流程。


3. 实验结果

实验结果如表9所示,主要关注两个基准测试:

LiveCodeBench :一个代码生成和调试的基准测试。

MATH-500 :一个数学问题解决的基准测试。

(1)蒸馏数据的有效性

性能表现得到显著提升:基于蒸馏训练数据集的模型在LiveCodeBench和MATH-500基准测试中展现出卓越的表现。

结论 :蒸馏数据能够有效提升模型在复杂任务中的表现。

(2)性能与效率的权衡

实验发现蒸馏虽然提高了性能 也显著地提高了模型的平均响应时间 这意味着生成的回答可能会更加详尽和冗长 同时这可能导致计算开销的增加。

平衡机制:该研究团队特意选择了DeepSeek-V3中最优的蒸馏配置方案以实现模型准确性和计算效率的均衡


4. 研究结论与展望

(1)知识蒸馏的潜力

当前成果:基于推理模型的知识蒸馏是一种具有显著前景的技术手段,在后训练优化方面展现出独特优势。现有研究主要聚焦于数学与计算机科学相关领域,在这一过程中通过知识蒸馏技术,在数学与计算机科学领域中模型性能得到了显著提升。

未来方向 :该方法在涉及需深度逻辑处理的任务中展现出广阔的前景。例如,在探索长链式推理机制的基础上进行蒸馏技术的研究与实践可能会带来新的突破。

(2)未来研究方向

跨领域应用场景:深入探讨知识蒸馏在多个任务领域的应用(如语言理解、创意写作以及多语言任务等)。

提升蒸馏技术的效果:探讨如何在提升蒸馏技术效果的同时有效管理响应长度及运算开销, 以促进知识的有效迁移

这段内容主要关注知识蒸馏技术在复杂推理任务中的有效性表现。通过从DeepSeek-R1中提取知识内核形成DeepSeek-V3模型,在代码生成及数学问题求解能力上均展现出显著提升效果。然而这一过程不可避免地导致输出长度的增加从而影响整体效率因此需要权衡两者的平衡关系以实现最佳性能与效率的统一未来研究将进一步探索该技术在更多应用场景中的应用并寻求优化蒸馏流程以实现更好的性能与效率平衡

Self-Rewarding

探讨了强化学习(Reinforcement Learning, RL)中奖励机制所发挥的作用,并详细阐述了DeepSeek-V3系统是如何利用创新的反馈机制来优化模型性能与对齐效果


1. 奖励机制在强化学习中的作用

关键要素:在强化学习(Reinforcement Learning, RL)中,作为指导模型优化的关键因素,在强化学习中设置了奖励机制。通过最大化设定的奖励值来进行策略优化的模型能够有效地识别最佳行为模式。

适用场景

在某些可以通过外部工具验证的领域(例如编程或数学问题),容易实现奖励机制因而强化学习表现出色。

尽管在更为普遍的情境下(如涉及开放式的语言生成任务)设计一个有效的奖励机制变得极其具有挑战性


2. DeepSeek-V3的反馈机制

为了解决复杂任务中设计奖励机制的挑战, DeepSeek-V3开发了一种基于宪法式人工智能(Constitutional AI)框架的方法. 其核心理念在于通过模型自身的能力生成反馈机制.

(1)宪法式人工智能(Constitutional AI)

概念:宪法式人工智能是一种基于模型自身进行投票评估以生成反馈的机制。该方法首次由Bai及其团队于2022年提出

实现方式

DeepSeek-V3通过自身的投票机制对生成的内容进行评估。

评估结果被用作反馈信号,指导模型的优化方向。

(2)对齐效果(Alignment Effects)

明显增强 :在基于主观评估的研究中,该方法成功地优化了DeepSeek-V3的效能,并验证了系统性地理解并遵循人类的价值偏好。

优化目标:基于额外的宪法级输入(例如伦理准则和语言规范),DeepSeek-V3致力于朝着更符合人类价值观的方向进行优化。


3. LLM作为多功能处理器

核心思想

作用

非结构化信息处理:LLM具备多源异构的数据解析能力,在多样化的问题类型中提取关键特征,并将其转换为可优化的目标体系

self-enhancement:借助这种方式, LLM能够达成自我反馈机制并完成自我提升过程,从而持续优化其性能水平.


4. 探索其他奖励方法

自我奖励的局限性:尽管宪法式AI与自我奖励机制已取得显著成效,但这些机制可能无法普遍适用

未来方向:研究者专注于开发更多具有普遍性和扩展性的奖励机制,以进一步提高模型在复杂任务中的性能表现。这些创新方案可能涵盖多种多样化的设计思路以实现预期目标

外部反馈机制 :结合人类反馈或其他外部评估标准。

多模态奖励 :利用图像、音频等多模态信息来生成更丰富的奖励信号。

该系统的核心在于展示DeepSeek-V3凭借独特的反馈机制框架(包含宪法式AI与自我激励设计)来实现模型性能与对齐目标的有效提升。该方法不仅在主观评测中表现优异,并为LLM实现自我优化提供了一种切实可行的技术路径。然而,在实践过程中也暴露出一定的局限性,在此基础上研究团队持续致力于探索更为通用且具扩展性的奖励方案以进一步优化模型在复杂任务中的应用效能。

Multi-Token Prediction Evaluation

这段内容涉及了DeepSeek-V3在解码速度优化方面的技术改进,并特别地,在这一领域采用了MTP(Multi-Token Prediction)技术和推测解码框架来提升性能。


1. MTP技术(多标记预测)

在传统的语言模型中,模型主要专注于逐个预测单个标记(token)。相比之下,DeepSeek-V3这一技术通过引入MTP技术实现了一次性预测两个标记的能力。这一技术的核心优势体现在其能够显著提升处理效率

降低解码过程 :通过一次推断多个标记(即多标签推断),从而降低了生成长文本所需的计算资源。

提升效率:通过这种方式实现了对模型在生成过程中冗余上下文计算的降低与优化。


2. 推测解码框架(Speculative Decoding)

为了进一步提高解码速度, DeepSeek-V3整合了推测式解码机制 。作为一项改进措施,推测式解码通过预判潜在的编码路径,从而降低了实际解码过程中的计算开销。该机制由Leviathan团队与Xia团队于2023年共同提出,并在DeepSeek-V3系统中得到了广泛应用


3. 额外预测标记的接受率

在模型进行多标签预测的过程中,一个关键焦点是额外预测出的标记是否会纳入考虑范围(即是否与真实生成目标一致)。基于DeepSeek-V3的研究结果:

接受率 :第二个标记预测的接受率在各种生成主题中介于85%到90%之间。

可靠性:这一高通过率表明, MTP技术在多种应用场景下表现出很强的稳定性,能够降低不必要的处理流程.


4. 解码速度的提升

基于MTP技术和推测解码框架的深度融合,在解码速度方面实现了显著进步

TPS(Tokens Per Second) :DeepSeek-V3系统实现了每秒1.8倍标记数(TPS)的解码速度,在性能上较传统方法具有显著的优势。

本文的重点在于描述DeepSeek-V3借助MTP技术和推测解码架构所达到的解码速率提升。具体而言:DeepSeek-V3凭借MTP技术和推测解码架构实现了解码速率的显著提升。

MTP技术 :通过一次性预测两个标记,减少了生成文本所需的解码步骤。

推测解码框架 :通过提前预测可能的解码路径,进一步减少计算量。

高接受率 :第二个标记预测的接受率在85%到90%之间,显示出较高的可靠性。

明显提高的解码速率:通过这些技术,DeepSeek-V3系统以每秒达1.8倍标记数(TPS)的速度实现了显著增强的生成效能。

明显提高的解码速率:通过这些技术, DeepSeek-V3系统以每秒达1.8倍标记数(TPS)的速度实现了显著增强的生成效能。

这些优化措施不仅显著提升了模型的生成效率,并且保证了输出质量,在实际运用中展现出更强的竞争优势

6 Conclusion, Limitations, and Future Directions

1. DeepSeek-V3模型概述

DeepSeek-V3是一个大型的MoE(Mixture of Experts)语言模型,具有以下特点:

参数规模 :总参数量为6710亿,激活参数量为370亿。

训练数据量 :在14.8万亿标记上进行训练。

架构创新

采用MLA(Mixture of Experts with Load Balancing)和DeepSeekMoE架构。

引入无辅助损失(auxiliary-loss-free)策略用于负载平衡。

设定多标记预测(multi-token prediction)训练目标以提升性能。

2. 训练成本效益

技术优势

支持FP8训练(一种低精度训练技术,可显著降低计算成本)。

通过精心的工程优化,降低了训练资源消耗。

成本效益

完整训练(包括预训练、上下文长度扩展和后训练)仅需278.8万H800 GPU小时。

这表明DeepSeek-V3在保持高性能的同时,显著降低了训练成本。

3. 性能表现

综合评估

DeepSeek-V3已成为目前最强的开源模型。

其性能与领先的闭源模型(如GPT-4o和Claude-3.5-Sonnet)相当。

推理效率

推荐的部署单元较大,适合高效推理,但可能对小型团队造成负担。

端到端生成速度比DeepSeek-V2快两倍以上,但仍有提升空间。

4. 局限性及未来展望

虽然DeepSeek-V3在性能和成本效益方面表现优异,但该模型仍存在一些缺陷,在部署效率和资源利用方面存在一定限制

部署单元较大 :推荐的部署单元对硬件要求较高,可能不适合小型团队。

推理速度仍有提升空间 :尽管速度已显著提升,但仍有进一步优化的潜力。

5. 未来研究方向

为了进一步提升DeepSeek模型的性能和效率,未来的研究方向包括:

(1)模型架构优化

目标 :进一步提高训练和推理效率,支持无限上下文长度。

该方法通过不断优化与提升模型架构设计,在这一架构局限性被突破的情况下,增强了其建模能力。

(2)训练数据优化

目标 :提升训练数据的数量和质量,推动数据规模在更多维度上的扩展。

方法 :探索新的训练信号源,整合更多类型的数据以提升模型的泛化能力。

(3)深度思考能力提升

目标 :通过扩展推理长度和深度,提升模型的智能和问题解决能力。

方法 :不断深入探索和优化模型的深度认知能力,在复杂任务中能够显著提升性能水平

(4)全面的模型评估方法

研究工作的重点在于避免在研究过程中仅针对固定基准进行优化工作,并以全面视角评估模型能力。

方法:构建涵盖多个方面的评估体系,并确保模型能够在各种不同的应用场景中展现出卓越的效果。


6. 总结

DeepSeek-V3是一款高性价比且采用开放源代码策略的语言模型,在采用了创新的技术架构的基础上实现了性能与效率的显著提升。尽管在部署过程中仍面临一定的限制因素,但这些问题有望通过硬件技术的进步逐步解决。未来的研究工作主要聚焦于优化模型架构以提高其运行效率的同时扩展训练数据集以涵盖更多应用场景,并致力于增强系统的核心推理能力进而实现更复杂的认知功能;同时还将深入探索系统可靠性和有效性的评估方法开发路径以便为AGI(通用人工智能)目标提供坚实的支撑基础

7 名词解释

MTP解释

该方法采用多标记预测(MTP:Multi-Token Prediction)模式来优化语言模型的训练与推理效率。通过让模型在训练阶段能够同时预判多个后续标记(token),而无需逐个推断其真实值,在提升语言模型性能的同时也实现了计算资源的有效利用。

1. MTP技术的核心理念

传统方法的局限性 :传统的语言模型主要采用下一标记预测机制(Next Token Prediction),即仅专注于预测序列中的下一个标记。这种方法在训练阶段可能难以捕捉远距离上下文关系,在推理阶段则会因为分步生成每个标记而导致速度较慢。

MTP的核心思想:MTP技术通过一次性预测多个后续标记的方式迫使模型学习更长的上下文依赖关系,并在此过程中实现更高程度的理解与分析能力。同时,在这一训练过程中可以显著提高样本利用率,并且在推理过程中可以通过并行预测多个标记来加速生成速度。

2. MTP技术的实现方式

训练阶段

MTP技术在训练过程中采用多条预测头(prediction heads),使得模型能够同时完成对多个后续标记的识别。

例如,在Meta的MTP实现方案中,在顶层模型设置为多支并行结构,在每个输出端则专注于推测后续标记的存在

该系统中的MTP实现则采用顺序模块依次对多个标记进行预测,并在每一次预测过程中维持完整的因果关系

推理阶段

在推理阶段中,MTP技术可借助"预测性解码"(speculative decoding)机制来提升效率.具体而言,该方法使模型能够推断出多个符号,并通过验证流程筛选出最具有代表性的符号.

DeepSeek-V3在推理过程中可采用MTP模块实现自推测算以提高推理速度

3. MTP技术的优势

训练效能的提升:通过同时预测多个标签(tags),该模型能够更加高效地利用训练数据集中的信息资源,并加快收敛速度。

在推理环节中,MTP技术可以通过多线程并行计算多个标记位置来大幅提高生成效率。如DeepSeek-V3系统所示,在应用MTP技术后其处理能力达到了1.8倍的提升。

模型性能得到显著增强:MTP技术促使该技术引导模型形成更为复杂的关联模式,从而提高其在复杂场景下的处理能力。

4. MTP技术的应用与研究进展

Meta的MTP发展 :该技术于2024年被Meta提出,在训练阶段同时预测多个标记,并显著优化了模型的训练和推理效率。

DeepSeek-V3的MTP优化方案:针对MTP技术进行创新性优化升级,在保持原有功能的基础上进一步提升了性能,在优化方面取得新的进展。具体而言,在系统架构上采用顺序模块来预判多个标记,并结合预测解码机制的基础上进行改进设计。这一创新性改进带来了显著的推理速度提升。

未来研究方向:MTP技术在性能提升方面仍有提升空间,可能需要深入研究可能的方向。

5. 总结

该系统采用多标签一次性预测的方法实现了语言模型的有效提升。
值得注意的是,在推断过程中采用并行预测方式能够加快生成速度。
具体而言,
DeepSeek-V3系统通过对该技术进行改进优化,
在此基础上带来了明显的提升效果。


举例

设想一个语言模型,在特定应用领域中能够基于当前情境推断出随后可能出现的信息。例如,在如‘今天天气良好’这样的背景下,请推断出随后可能出现的信息。


传统的单标记预测(Next Token Prediction)

在传统的语言模型中,模型每次只预测下一个标记(token)。例如:

输入今天天气很好,适合

预测 :模型首先预测下一个标记,比如“出”。

更新输入今天天气很好,适合出

继续预测 :模型再预测下一个标记,比如“门”。

更新输入今天天气很好,适合出门

这个过程是依次标注进行的 ,每次预测的结果都基于前一阶段的输出。该方法具有简便易行的特点。

效率低 :每次只能预测一个标记,推理速度较慢。

具有挑战性的长距离依赖关系难以被模型有效学习


MTP(多标记预测)技术

MTP技术的主要目的是实现模型同时完成多项标记识别任务,而不是分步处理每个标记。例如,在实际应用中,我们让模型同时识别接下来的两个标记。

训练阶段

在训练时,模型的目标是预测接下来的多个标记。例如:

输入今天天气很好,适合

目标 :模型需要预测接下来的两个标记,比如["出", "门"]

该方法迫使模型在训练阶段不得不学习更长的上下文依赖关系,在每次迭代中需要同时预测多个标签。

推理阶段

推理过程中,MTP技术基于"推测解码"(Speculative Decoding)加快速度。详细说明了以下几点:

模型能够基于当前语境"今天天气很好,适合"进行处理,并能直接推导出接下来的两个标记["出", "门"]

验证与判断:模型可通过特定的评估机制(例如接受率测定)来确定是否接纳这两个标记。若被采纳,则将它们融入生成文本中;否则,请考虑重新预测。


MTP技术的优势

(1)效率提升

假设单标记预测每一轮耗时1秒,则输出5个标记需持续5秒。
采用MTP技术,则每一轮可同时处理两个标记。完成五个标记仅需三次轮次(2+2+1),总用时约为3秒钟。
这显著提升了生成速度。

(2)性能提升

虽然该模型能够通过同时预测多个标记来学习较长的上下文关联性

(3)实际应用

假设我们要生成一个完整的句子:

传统方法 :逐个标记生成,可能需要更多步骤,且生成的句子可能不够流畅。

MTP方法 :一次性预测多个标记,生成的句子可能更连贯,同时速度更快。

推测解码框架

推测解码框架的定义

推测性解码(Speculative Decoding)是一种优化方案,旨在提升大语言模型(LLMs)的文本生成效率。其基本原理是通过利用一个小型且高效的模型结构来生成初始标记序列,并通过主模型对其进行校准和优化以提高准确性。

推测解码的工作原理

推测解码框架的工作流程可以分为以下几个步骤:

草稿生成

草稿模型基于当前输入输出一组候选标记。这些标记具有推测性的特点,在此过程中模型无法完全确定其准确性,并提供了若干候选标记供选择。

并行验证

主模型(LLM)系统性地对多组候选标记进行并行验证,并评估其概率值是否与模型训练所得的经验分布一致。若所选标记的概率值符合预期经验分布,则直接纳入生成结果;反之,则会根据分析结果提出改进建议以优化生成质量

最终输出

经修正后的标记用于结果输出传递给用户。整体流程比传统的逐一标记的解码过程快得多

推测解码的优势

推测解码框架的主要优势在于:

提高生成效率:将初始预测任务转移至草稿模型处理后, 主模型能够专注于校验或优化结果的质量. 这种安排不仅大幅降低了计算压力, 并且显著提高了整体运行效率.

保证质量:基于草稿模型的处理流程通过验证步骤确保了最终输出的质量

推测解码的实际应用

假设我们有以下输入:

输入"今天天气很好,适合"

草稿模型生成["出门", "去", "公园"]

主模型验证

接受"出门""去",因为它们的概率较高。

拒绝"公园",因为它的概率较低,主模型重新生成"散步"

最终输出为:

输出"今天天气很好,适合出门去散步"

利用该方法进行分析时,在维持生成质量的前提下,解码框架明显提升了运行效率。

总结

该框架采用更小且更快的中间模型来输出初步标记,并经主模块验证或修正后返回结果。此方法不仅提升了生成速度,并能维持高质量的输出结果,并且是一种提高大型语言模型推理效率的有效方法。

额外预测标记的接受率

在多标记预测(MTP)技术中,多余预测标签的接纳几率是指模型在面对多个标签时对后续标签(如第二个标签)进行正确分类的概率。这一指标衡量了模型在多标签任务中的准确性与可靠性。

为什么接受率重要?

评估模型的预测效果 :该指标(即接受率)显著地反映出模型在多标签分类任务中的准确度。较高的接受率预示着该模型在后续标记的准确预测方面具有更高的可靠性。

提升解码效率:在推理过程中,高接受率能够明显降低模型在推理阶段需要重新预测的频率,从而加快解码速度。

DeepSeek-V3中的接受率

基于DeepSeek-V3的评估结果显示,在不同生成主题下,“第二个标记样本”的接受率处于85%至90%之间这一较高的接受率表明该系统对第二个标记样本表现出很强的一致性

模型在多标记预测任务中表现可靠。

在推理阶段,模型能够快速生成高质量的标记,从而显著提升解码速度。

举例说明

假想一个语言模型LSTMP-Seq2seq来完成这个任务,在给定当前段落的基础上推断出下一段可能的内容;其主要功能就是基于当前段落预测后续内容;该模型旨在推断出下一段可能的内容;例如,在'今天天气晴朗'的情况下, 模型需要预测接下来的内容;

单标记预测

模型逐个预测标记,如“出门”、“去”、“公园”。

每次预测一个标记,速度较慢。

多标记预测(MTP)

模型一次性预测多个标记,如["出门", "去"]

验证阶段:模型验证这些标记是否符合上下文。

接受阶段:如果"出门""去"的接受率分别为90%和85%,则这两个标记都被接受。

实际应用

在DeepSeek-V3架构中,MTP技术通过与预测性解码机制(Speculative Decoding)的协同作用,在不增加额外计算负担的情况下实现了显着的性能提升。例如,在实际应用中可以通过该方法显著提高模型推理速度。

传统方法 :逐个标记生成,需要多次调用模型。

MTP方法 :一次性生成多个标记,减少调用次数,提升效率。

通过这种方式,在保证预测精度的同时大幅提高了推理效率

总结

额外预测标记的接受率是衡量MTP技术性能的重要指标。DeepSeek-V3通过高达85%至90%的高接受率展现了其在多标记预测任务中表现出的高度稳定性和高效的处理能力,并大幅提升了模型在解码过程中的速度以及实际应用场景下的运行效率。

解码速度的提升

编码效率的优化是指语言模型在生成文本时加快了对每个标记(token)的处理速度。换句话说,在处理输入上下文时更加高效地转换为连贯输出文本的能力得到了增强。编码效率的优化对实际应用具有重要意义,在生成任务中直接影响着模型的整体处理效率和服务体验

以下是关于“解码速度提升”的详细解释和举例说明:


解码速度的定义

在语言模型中,在编码机制中是指从已有的信息背景出发生成后续文本的过程。其计算方式通常是基于单个时间步长内处理的信息量来进行评估。当其计算能力提升时,在相同的时间段内能够完成的任务数量也随之增加。

为什么解码速度很重要?

用户交互体验:在当前技术环境下(包括但不限于聊天机器人、实时翻译系统等),更高的解码效率直接带来更高效的用户体验。

资源利用效率 :更快的解码速度可以减少计算资源的消耗,降低运行成本。

实时处理能力:对于那些需要即时生成文本的应用场景(如直播字幕、实时翻译等),解码效率的优化至关重要。

解码速度提升的具体方法

以下是几种可以提升解码速度的技术:

(1)多标记预测(MTP)

同时在一次中完成多个标记点的识别而非逐步识别每个标记点时,在生成相同长度文本时所需步骤大幅降低。采用MTP技术后,在减少预测次数的同时加快了解码速度。

(2)推测解码(Speculative Decoding)

推测解码基于一个小且快速运行的草稿模型生成初步标记,并由主模块进行验证或必要的修正。这种方法大幅降低了主模块处理标记的数量,并因此加快了整体生成速度。

(3)并行化和硬件优化

借助并行计算以及高性能硬件配置的技术手段(例如基于GPU或TPU的架构设计),模型的计算速度能够大幅提高。

举例说明

多线程处理:在生成多个标记时,并行处理各个标记的概率值而非单独处理

硬件优化 :使用高效的计算硬件(如H800 GPU)可以显著减少每次计算的时间。

解码速度提升的效果

假设某个模型的常规解码速率是每秒输出100个标记(即100 TPS),借助MTP技术和预测性解码策略的应用后,其性能得以提升至180 TPS(相当于提升了约1.8倍)。这表明:

生成相同长度的文本 :时间减少了一半。

处理更多请求 :在相同的时间内,可以处理更多的用户请求。

由于解码速度得到了显著的提升,则使得模型在生成文本方面表现得更加迅速。借助多标记预测技术(MTP)、推测性解码方法(Speculative Decoding)以及硬件优化手段,在保证输出质量的同时显著降低了生成时间。其对于提升实际应用中的用户体验及优化资源利用率具有重要意义。

全部评论 (0)

还没有任何评论哟~