职贝云数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