VPN的浏览器
为提高其性能,他们构建了一个高质量的多源预训练语料库,包括8.1T的token,与DeepSeek 67B使用的语料库相比,该语料库的数据量有所增加,特别是中文数据,并且数据质量更高
且其采用与DeepSeek 67B相同的分词器,该分词器基于字节级字节对编码(BBPE)算法构建,词汇量为100K,其分词预训练语料库包含8.1T个token,其中中文token比英文标记多约12%
对于模型超参数,将Transformer层数设置为60,隐藏维度设置为5120——即 。所有可学习参数均以标准差0.006随机初始化
KV压缩维度设置为512「可以看出」,其实也远远小于 查询压缩维度设置为1536——依然远小于 对于解耦查询和键,设置每头维度为64
将除第一层外的所有前馈神经网络替换为专家混合层 每个专家混合层由2个共享专家和160个路由专家组成,每个专家的中间隐藏维度为1536
在这些路由专家中,每个token将激活6个专家 此外,低秩压缩和细粒度专家分割将影响层的输出规模
因此,在实践中,在压缩的潜在向量之后使用额外的RMS Norm层,并在宽度瓶颈处(即压缩的潜在向量和路由专家的中间隐藏状态)乘以额外的缩放因子,以确保训练的稳定性
学习率使用预热和阶梯衰减策略进行调度(DeepSeek-AI,2024) 最初,学习率在前2K步期间从0线性增加到最大值。 随后,在训练约60%的token后,学习率乘以0.316,并在训练约90%的token后再次乘以0.316 其中,最大学习率设置为2.4 × 10−4,梯度裁剪范数设置为1.0
还使用批量大小调度策略,在前225B token的训练中,批量大小从2304逐渐增加到9216,然后在剩余的训练中保持9216
利用流水线并行技术在不同设备上部署模型的不同层,对于每一层,路由的专家将均匀部署在8个设备上 ( =8) 至于设备限制路由,每个token最多会被发送到3个设备上 ( =3)。关于平衡损失,我们将 1设置为0.003, 2设置为0.05, 3设置为0.02
鉴于DeepSeek-V2激活的参数相对较少,并且部分操作符会重新计算以节省激活内存,因此可以在不需要张量并行的情况下进行训练,从而减少通信开销
在 DeepSeek-V2 的初始预训练之后,他们采用 YaRN「关于YaRN,详见此文《大模型长度扩展综述:从直接外推ALiBi、插值PI、NTK-aware插值(对此介绍最详)、YaRN到S2-Attention》的第四部分」将默认上下文窗口长度从 4K 扩展到 128K
对于 YaRN,将比例scale 设置为 40, 设置为 1, 设置为 32,并将目标最大上下文长度设置为 160K
另由于 DeepSeek-V2独特的注意力机制——MLA,与原始 YaRN 略有不同,故调整了长度缩放因子以调节注意力熵。因子计算为,旨在最小化困惑度
且另外训练了模型 1000 步VPN的浏览器,序列长度为 32K,批量大小为 576 个序列。尽管训练仅在32K的序列长度下进行,但在128K的上下文长度下评估时,该模型仍表现出强大的性能
如下图所示,“大海捞针”(NIAH)测试的结果表明,DeepSeek-V2在所有上下文窗口长度(最长至128K)上表现良好
尽管训练一个 MoE 模型会引入额外的通信开销,但通过相应的操作和通信优化,DeepSeek-V2 的训练可以达到相对较高的模型 FLOPs 利用率 (MFU)
为了高效地部署DeepSeek-V2服务,首先将其参数转换为FP8精度。此外,我们还对DeepSeek-V2进行KV缓存量化(Hooper等,2024;赵等,2023),以进一步将其KV缓存中的每个元素平均压缩到6位 得益于MLA和这些优化,实际部署的DeepSeek-V2所需的KV缓存显著少于DeepSeek 67B,因此可以服务更大的批处理大小
基于之前DeepSeek-AI,他们整理了包含 150 万实例的指令微调数据集,其中包括 120 万个有用性实例和 30 万个安全性实例
与初始版本相比,改进了数据质量,以减少幻觉反应并提高写作能力且对 DeepSeek-V2 进行了 2 个周期的微调,学习率设置为 5 × 10−6
且还对 DeepSeek-V2 Chat(SFT)进行了指令跟随评估(IFEval),使用提示级松散准确率作为指标
为了进一步释放DeepSeek-V2的潜力并使其与人类偏好对齐,进行强化学习(RL)以调整其偏好,且为了节省强化学习的训练成本,采用了上文第一部分介绍过的GRPO——详见《一文速览DeepSeekMath及GRPO:通俗理解群体相对策略优化GRPO(含DeepSeek-Coder的简介)》
在第一个推理对齐阶段,我们训练了一个奖励模型用于代码和数学推理任务,并通过的反馈优化策略模型
在第二个人类偏好对齐阶段,采用了一个多奖励框架,即 一个有帮助的奖励模型 一个安全奖励模型 一个基于规则的奖励模型获取奖励 从而一个响应的最终奖励 是 其中 1, 2, 和 3是相应的系数