🏣【论文精读】DeepSeek-v1
2025-5-7
| 2025-5-22
字数 1137阅读时长 3 分钟
type
status
password
date
slug
summary
category
URL
tags
icon

摘要

开源大语言模型(LLMs)的发展速度令人瞩目。然而,之前文献中描述的扩展定律各不相同。我们深入研究了扩展定律,并提出了独特的发现,这些发现有助于在两个常用的开源配置(7B和67B)中实现大规模模型的扩展。根据扩展定律的指导,我们推出了DeepSeekLLM,这是一个致力于从长期视角推动开源语言模型发展的项目。
在预训练阶段,我们开发了一个包含2万亿个token的数据集,并且该数据集仍在不断扩大。进一步地,我们在DeepSeek LLM Base模型上进行了有监督微调(SFT)和直接偏好优化(DPO),从而创建了DeepSeek Chat 模型。我们的评估结果显示,DeepSeek LLM67B在一系列基准测试中超越了LLaMA-2 70B,尤其是在代码、数学和推理领域表现尤为突出。此外,开放式的评估表明,我们的DeepSeek LLM 67B Chat 与GPT-3.5相比表现出更卓越的性能。

1、预训练

1.1、预训练数据

1.1.1、数据来源

  • 数据来源:DeepSeek项目组开发收集
  • 数据预处理:包括deduplication、filtering、remixing
    • Deduplication:在大范围内去除重复数据
      • Dumps Used
        1
        2
        6
        12
        16
        22
        41
        91
        Deduplication rate(%)
        22.2
        46.7
        55.7
        69.9
        75.7
        76.3
        81.6
        89.8
    • Filtering:筛选高质量数据。DeepSeek项目组制定了文档质量评估标准(标准细节未知)
    • Remixing:增加代表性不是领域的内容占比,以解决数据不平衡问题

1.2、分词

采用Byte-level Byte-Pair Encoding分词。防止来自不同字符类别的标记合并,此外,我们还将数字分割为单独的数字位。最终词汇表大小为102,400。

1.2.1、BBPE原理

首先将文本按照UTF-8进行编码,每个字符在UTF-8的表示中占据1-4个byte。 在byte序列上再使用BPE算法,进行byte level的相邻合并。
notion image

1.3、模型架构

notion image

1.4、超参数设置

  • 初始值的标准差为0.006
  • 采用AdamW优化器,
  • 采用多步学习率调度器,模型的学习率在经过2000个预热步骤后达到最大值,然后在处理 80%训练进程后降至最大值的 31.6%。在处理 90%的进程后,它进一步降低到最大值的 10%。
  • 梯度裁剪设置为1.0

1.5、高效训练

使用HAI-LLM、ZeRO-1技术进行并行化训练。最大程度地减少额外的等待开销,提供GPU利用率。

2、扩展定律

随着计算预算,模型参数和数据量的增加,模型性能会得到改进。因此在增加计算预算时,如何优化模型和数据规模之间的分配也是扩展定律研究的一个关键目标。
  • 模型参数M:FLOPs/token(不包括嵌入层)。
  • 计算预算 C
  • 数据量 D
💡
不同数据集得出的扩展定律存在显著差异。这表明数据集的选择极大地影响了扩展行为,表明在跨数据集推广扩展定律时应谨慎行事。

2.1、超参数影响

经实验证明,在改变计算预算时,大多数参数的最佳值在训练过程中没有变化。如AdamW优化器中的;学习率调度器。
但是Batch Size、Learning rate对模型性能的影响最为显著。最佳Batch Size 随着计算预算 C 的增加而逐渐增大,而最佳Learning rate则逐渐减小
对批量大小和学习率进行了网格搜索,最佳批处理大小 B 随着计算预算 C 的增加而逐渐增大,而最佳学习率 η 则逐渐减小。最优超参数范围较大
对批量大小和学习率进行了网格搜索,最佳批处理大小 B 随着计算预算 C 的增加而逐渐增大,而最佳学习率 η 则逐渐减小。最优超参数范围较大

2.2、最佳配比

选择了 8 个不同的计算预算,范围从 1e17 到 3e20,并为每个预算设计了大约 10 种不同的模型/数据规模分配方案。通过实验得到模型规模,参数规模的最佳配置如下
随着数据质量的提高,模型扩展指数 逐渐增加,而数据扩展指数 逐渐减少。这表明增加的计算预算应该更多地分配给模型而不是数据。

3、对齐

3.1、数据集

  • 数据集: 150 万个英文和中文指令数据实例
  • helpful data:包含 120 万个实例,其中通用语言任务占 31.2%,数学问题占 46.6%,编码练习占 22.2%。
  • safety data:由 30 万个实例组成,涵盖各种敏感主题。

3.2、监督微调

  • 7B模型:学习率1e-5 4个epoch
  • 67B模型:学习率5e-6 2个epoch
在微调过程中评估了聊天模型的重复率。即生成响应无法终止而无限重复一段文本的比例。我们发现,随着数学SFT数据的数量增加,重复率有上升趋势。

3.3、DPO

在 DPO 训练的偏好数据构建方面考虑了帮助性和无害性。对于帮助性数据,我们收集了多语言提示,涵盖创意写作、问答、指令遵循等类别。然后,我们使用我们的 DeepSeek Chat 模型生成响应作为响应候选者。类似的操作也适用于无害性偏好数据构建。 我们对DPO训练了一个周期,学习率为5e-6,批量大小为512,并使用了学习率预热和余弦学习率调度器。

4、评估

  • NLP
  • LLM
  • 【论文精读】GLM【论文精读】DeepSeek-V2
    Loading...