职贝云数AI新零售门户

标题: 大模型-DeepSeek V3 [打印本页]

作者: ty19    时间: 2025-8-25 16:46
标题: 大模型-DeepSeek V3
《DeepSeek-V3 Technical Report》

DeepSeek-V3=DeepSeek-V2+auxiliary-loss-free方法处理路由失衡成绩+多预测词输入训练+14.8万亿训练语料(DeepSeek公司本人构建的高质量数据集),碾压一切开源言语大模型(包括本人的上个版本)

1 auxiliary-loss-free

为处理MoE专家路由失衡成绩(训练数据总是分配给几个固定的专家,其它专家得不到充分的训练),在原MoE计算方法的基础上

(, 下载次数: 0)

提出auxiliary-loss-free

(, 下载次数: 0)

(训练过程中根据专家训练语料的分配状况,动态调整专家分配权重,总是分配给某个专家时,减小其bi,继而减少了分配权重g,反之增大)

为了进一步处理路由失衡成绩,还提出了训练输入序列平衡损失函数

(, 下载次数: 0)
2 多预测词输入训练(Multi-Token Prediction)

为了提升模型的功能,提出了Multi-Token Prediction训练策略,如下图所示

(, 下载次数: 0)

(这个训练指的是在语料集上预训练的过程,要区别于对话数据集监督微调训练。言语大模型先在大规模语料上停止预训练,使模型获得一定的基础言语表达才能【就是训练上图中的Embedding Layer和Transformer Block权重】,训练过程是这样的,比如一句训练语料是“我明天早上吃的是油条和豆浆”,将“我明天早上吃的是油”作为输入,输入到模型中,让模型预测接上去的词语“条”。对话数据集监督微调的输入是一句残缺的话,让模型预测下一句话,如何分割一句话的末尾和结束是数据集本身的预先商定,比如用<beg>表示一句话末尾,<eos>表示结束,那么模型输入是“<beg>输入的一句话”,模型输入是“预测的下一句话”,检测到模型输入了<eos>,就计算损失,梯度回传更新模型参数)

经过引入的MTP Module能一次预测训练语料中的多个词语,扩展词语预测范围,MTP Module和主模型共用Embedding Layer和Output Head,在训练语料上停止滑窗,分别输入到不同的MTP Module,和前一个模型输入的隐形态h作为输入,输入到当前MTP Module中,计算输入的MTP损失函数,累加损失停止梯度回传更新。


(, 下载次数: 0)


MTP的损失函数定义为


(, 下载次数: 0)


(第i个地位预测出现的词语概率和真实的词语停止交叉熵计算,最后一切MTP Module损失停止加权求和)

我们提出的MTP只在训练阶段运用来提高模型的功能,在主模型推理的过程中是不引入这些额外的MTP Module的

(由于MTP Moudle和主模型共用Embedding layer和Output head,对比ResNet的残差衔接思想,MTP Moudle在模型结构层面上实践是加深了主模型中间层的深度)
3 训练工程优化

我们在一个包含2048块H800的集群上训练了DeepSeek-V3,集群中每个节点包含8块H800,节点内不同的GPU经过NVLink和NVSwitch(都是英伟达自带的)停止通讯,不同节点之间经过InfiniBand停止通讯。

我们本人写了一个大模型并发训练框架:HAI-LLM,为了提升训练效率,做了以下工程优化:

① 堆叠并发训练中的计算和通讯过程,构成流水


(, 下载次数: 0)


② 重写英伟达NVSwitch和InfiniBand的路由逻辑、通讯逻辑

③ 可提早计算的网路层停止提早计算,送到CPU内存,减少GPU内存占用

④ 多精度混合训练








欢迎光临 职贝云数AI新零售门户 (https://www.taojin168.com/cloud/) Powered by Discuz! X3.5