DeepSeek-V3
架构概述:DeepSeek-V3 是一款通用型的大语言模型,拥有 6710 亿参数,采用大型混合专家(Mixture-of-Experts, MoE)架构。这种架构下,并非所有参数在处理每个输入时都被激活,而是每个 Token 仅激活 370 亿参数。这种设计的主要目标是实现高效的推理,同时在训练过程中提升成本效益,避免了传统大模型在处理任务时激活全部参数所带来的高能耗与高计算量问题。
训练方法
训练阶段划分:遵循传统的 SFT(有监督微调) + RL(强化学习)路线,整个训练过程分为预训练和后训练两个阶段。预训练阶段,模型在海量的无标注数据上学习通用的语言模式和知识;后训练阶段则通过 SFT 和 RL 进一步优化模型,使其更适应特定任务和场景。
混合精度 FP8 训练:采用混合精度 FP8 训练策略,大部分计算在 FP8 精度下执行,而对一些关键操作则保持 BF16 或 FP32 的原始精度。同时,使用低精度格式(FP8 或 BF16)来存储和传递激活值、梯度等数据。这样既能降低内存占用和通信开销,又能在保持模型性能的前提下,显著提高训练速度,降低训练成本。例如,在矩阵乘法等大量的常规计算中使用 FP8 精度,而在参数更新等关键步骤使用较高精度,确保训练的稳定性和准确性。
MLA (Multi - Head Latent Attention)
原理:多头潜在注意力机制(MLA)通过低秩压缩的方式来减少 KV 缓存。在 Transformer 架构中,注意力计算需要存储键值对(KV)缓存,随着序列长度增加,缓存占用内存会迅速增长。MLA 通过对 KV 缓存进行低秩近似,减少了存储所需的内存空间。
优势:在处理大规模数据时,MLA 有效降低了内存占用,进而减少了计算开销。这不仅提升了模型的推理速度,还使得模型在资源受限的环境下也能高效运行。例如,在处理长文本时,MLA 能够显著减少内存需求,使得模型可以在普通硬件上快速完成推理任务,提高了模型的实用性和适用性。
MoE (混合专家模型架构)
架构特点:MoE 是一种高效的混合专家模型架构,它使用更细粒度的专家,并隔离部分专家作为共享专家。在 MoE 架构中,不同的专家模型各自擅长不同类型的任务。
工作机制:当模型接收到输入任务时,会根据任务的特点动态激活相应的专家模型来进行处理,避免了传统模型在处理所有任务时都需要激活整个网络所带来的高计算成本问题。例如,在处理文本分类任务时,对于情感分析相关的子任务,可能会激活擅长情感分析的专家模型;对于主题分类相关子任务,激活擅长主题识别的专家模型。这种动态分配任务的方式提高了模型的效率和灵活性,使得模型能够在不同任务上都表现出色。
无辅助损失负载均衡
策略原理:在 DeepSeek-V3 中,无辅助损失负载均衡策略根据每个专家的历史利用率情况,动态调整其接收新任务的概率。具体来说,对于利用率过高的专家,降低其接收新任务的概率,从而让其他相对空闲的专家有更多机会接收任务;对于利用率较低的专家,则提高其接收新任务的概率。
作用:通过这种方式,有效避免了任务分配不均导致的计算瓶颈,使得任务能够更均匀地分配到各个专家上,充分发挥每个专家的计算能力,提高整个模型的运行效率和稳定性。例如,在模型训练或推理过程中,如果某个专家连续处理了较多任务,利用率较高,系统会自动降低其下一次接收任务的概率,引导任务流向其他利用率较低的专家,确保所有专家都能均衡地参与任务处理。
DualPipe 算法与通信优化
DualPipe 算法核心:DualPipe 算法的核心创新在于能够将计算和通信阶段重叠进行。在分布式训练中,不同节点之间的数据通信往往会占用大量时间,成为训练效率的瓶颈。DualPipe 算法通过巧妙的设计,让计算和通信在时间上部分重叠,极大减少了通信开销。
硬件与资源配合:借助使用 2048 个 NVIDIA H800 GPU 的计算集群,实现高效的跨节点通信和内存优化。通过配合高效的跨节点通信内核,精确调控用于通信和计算的 GPU 流处理器资源分配比例,实现了近乎零开销的跨节点通信。这种优化显著提高了训练效率,使得模型能够在大规模分布式环境下快速训练,充分利用集群的计算资源。例如,在数据从一个节点传输到另一个节点的同时,目标节点可以利用这段时间进行部分计算准备工作,减少等待时间,提高整体训练速度。
多标记预测 (Multi - Token Prediction, MTP)
模块设计:MTP 技术通过使用 D 个串行模块来同时预测多个连续 Token。每个模块包含一个共享的嵌入层、一个共享的输出头、一个 Transformer 块和一个投影矩阵。这种模块化设计允许模型并行处理多个 Token 的预测,有效提高了模型的计算效率。
技术优势:MTP 不仅提升了模型生成效率,还能更好地捕捉 Token 间的长程依赖关系,从而提升生成文本的连贯性和对上下文的理解能力。例如,在生成文本时,MTP 可以同时考虑多个连续 Token 之间的语义关系,避免生成内容出现逻辑跳跃或语义不连贯的问题,生成更加自然流畅、符合上下文的文本。
训练过程
预训练阶段
高质量数据训练
数据规模与多样性 :DeepSeek-V3 在预训练阶段使用了 14.8T 高质量且多样化的 token。token 作为文本处理的基本单元,其丰富程度直接影响模型的学习效果。大规模且多样化的数据为模型提供了广泛的语言模式、语义关系和知识信息。例如,这些数据可能涵盖了各种体裁的文本,如新闻报道、小说、学术论文、技术文档等,还包括不同领域的专业知识,使模型能够接触到丰富多样的语言表达和知识体系。
特定样本侧重 :数据中数学和编程样本的比例相对更高。数学和编程领域的语言具有高度的逻辑性和规范性,增加这些样本有助于模型学习严谨的逻辑推理和结构化的语言表达。例如,在数学文本中,模型可以学习到数学公式的表达、定理的证明逻辑;在编程代码中,模型能理解编程语言的语法结构、函数调用关系等。这使得模型在处理与数学、编程相关的任务时,具有更强的能力。同时,扩大多语言覆盖范围,让模型接触不同语言的文本,有助于学习不同语言的语法、语义特点,提升模型的跨语言理解和处理能力,为全球用户提供更好的服务。
数据预处理:对训练数据进行精细化清洗、过滤和标注。清洗过程去除数据中的噪声,如乱码、重复内容等;过滤则剔除不相关或低质量的数据,例如包含错误信息、恶意内容的文本;标注是为数据添加额外的信息标签,帮助模型更好地理解数据的特征和含义。通过这些预处理步骤,确保数据质量,为模型提供准确、有用的学习素材,同时保证数据的多样性,使模型能够学习到广泛的语言模式和知识,从而提高模型的泛化能力,使其能够更好地应对各种不同的实际任务,增强适应性。
上下文长度扩展 (Context Length Extension)
两阶段扩展策略 :采用两阶段上下文长度扩展方法,先将上下文长度扩展到 32K,再进一步扩展到 128K。上下文长度决定了模型在处理文本时能够考虑的前文信息范围。传统的语言模型上下文长度有限,难以处理长文本中的复杂语义关系和长距离依赖。通过逐步扩展上下文长度,模型能够在处理文本时 "看到" 更多前文信息,从而更好地理解长文本的整体含义。
长文本处理能力提升 :第一阶段扩展到 32K,模型开始能够处理相对较长的文档,例如一些长篇小说章节、复杂的学术论文片段等。它可以在更大范围内捕捉文本中的语义线索和逻辑关系,提高对长文本的理解能力。进一步扩展到 128K 后,模型对长文本的处理能力得到质的飞跃。在面对超长的技术手册、多章节的研究报告等复杂文本时,模型能够综合考虑更广泛的上下文信息,准确把握文本的核心内容、主题发展以及各部分之间的逻辑联系。
复杂任务性能优化:这一扩展策略显著提高了模型在长文本生成和理解方面的性能。在长文本生成任务中,模型可以基于更丰富的前文信息生成更加连贯、合理且富有逻辑性的后续内容。例如,在续写长篇故事时,能够更好地遵循前文的情节发展、人物设定等,生成与前文风格一致且情节连贯的内容。在长文本理解任务中,如文本摘要、问答系统等,模型可以利用更长的上下文准确提取关键信息、回答复杂问题,更好地处理复杂的语言任务。
后训练阶段
有监督微调 (SFT)
微调数据集 :使用 150 万个跨多个领域的指令微调数据集进行有监督微调。这些数据集涵盖了各种不同类型的任务和领域,例如自然语言处理中的文本分类、情感分析、机器翻译,以及特定行业的任务,如医疗文本分析、金融报告解读等。每个数据样本都包含明确的输入指令和对应的期望输出,为模型提供了丰富的学习示例。
性能优化原理:预训练模型虽然具备了广泛的语言知识,但在面对具体的实际任务时,需要进行针对性的调整。通过有监督微调,模型学习将预训练阶段学到的通用语言知识与特定任务的要求相结合。例如,在文本分类任务中,模型学习根据输入文本的特征准确判断其所属类别;在情感分析任务中,学会识别文本中蕴含的情感倾向(正面、负面或中性)。通过在这些多样化的指令微调数据集上进行训练,模型能够更好地适应各种具体任务,提高任务相关性,使得模型在实际应用中能够更准确、高效地完成用户的需求,提升整体表现。
强化学习 (RL)
奖励模型与算法:使用基于规则的奖励模型和基于模型的奖励模型,并结合广义优势估计近端策略优化算法(GRPO 算法)进行强化学习。基于规则的奖励模型根据预先设定的规则对模型的输出进行评价,例如输出的语法是否正确、内容是否符合特定格式要求等;基于模型的奖励模型则通过学习大量的优质样本,自动判断模型输出的质量,例如输出内容的逻辑性、相关性等。GRPO 算法用于更新模型的策略,使得模型能够根据奖励信号不断调整自身行为,以最大化累积奖励。
推理与性能提升:通过从 DeepSeek-R1 系列模型中提取推理能力,进一步提高模型的推理性能。在强化学习过程中,模型不断尝试不同的输出策略,根据奖励信号优化自身,从而提升推理能力和决策能力。例如,在解决复杂的逻辑推理问题或多步决策任务时,模型能够通过不断学习,找到更合理的推理路径和决策方案。同时,在优化过程中注重保持输出风格和长度的控制,确保模型生成的内容在符合任务要求的同时,也能满足用户对于输出形式的期望,例如保持与特定领域或应用场景相适应的语言风格,以及控制输出文本的长度在合理范围内。