新课【大模型项目开发线下强化班】文末开秒!DeepSeek LLM 的预训练与对齐细节解析

aixo 2024-09-12 01:18:47
大模型 2024-09-12 01:18:47

新课【大模型项目开发线下强化班】文末开秒!!!

LLM的预训练与对齐

1.1 架构设计、预训练、并行训练等细节

24年1.5日,量化巨头幻方旗下的杭州深度求索公司提出 LLM,其对应的论文为《 LLM: Open- with 》

此外, LLM 7B 是一个30层的网络,而 LLM 67B 有95层,更多参数如下表所示

llm全称_llm是什么的缩写_LLM

以下是其他的一些细节

基于库(团队,2019)实现了字节级字节对编码(BBPE)算法

LLM 以0.006的标准差初始化,并使用 AdamW 优化器进行训练,具有以下超参数:1 = 0.9, 2 = 0.95, 和 = 0.1

在预训练期间,采用了多步学习率调度器(multi-step rate ),而不是典型的余弦调度器 原因在于当在保持模型大小不变的情况下调整训练规模时,多步学习率调度器允许重用第一阶段的训练,从而为持续训练提供了独特的便利,因此,选择了多步学习率调度器作为默认设置

llm是什么的缩写_llm全称_LLM

具体来说,模型的学习率在2000个预热步骤后达到最大值,然后在处理80%的训练数据后下降到最大值的31.6%。在处理90%的数据后,它进一步减少到最大值的10%

此外,在模型的加速上

使用一个名为 HAI-LLM的高效轻量级训练框架来训练和评估大型语言模型 数据并行、张量并行、序列并行和1F1B流水线并行被集成到这个框架中,就像在中所做的那样 (如果还不太熟悉并行训练相关的原理,可以参见此文:大模型并行训练指南:通俗理解-之模型并行与数据并行)

且还利用了flash 来提高硬件利用率,以及利用ZeRO-1将优化器状态划分到数据并行等级中 还努力重叠计算和通信以最小化额外的等待开销,包括最后一个微批次的反向过程和ZeRO-1中的-操作,以及序列并行中的GEMM计算和all-/-

一些层/操作被融合以加速训练,包括、GEMM和Adam更新 为了提高模型训练的稳定性,在 bf16 精度下训练模型,但在 fp32 精度下累积梯度 为了减少 GPU 内存消耗,执行就地交叉熵操作,即:在交叉熵 CUDA 内核中即时将 bf16 转换为fp32 精度(而不是事先在 HBM 中转换),计算相应的 bf16 梯度,并用其梯度覆盖

且模型权重和优化器状态每 5 分钟异步保存一次,这意味着在偶尔的硬件或网络故障的最坏情况下,最多会丢失 5 分钟的训练数据。这些临时模型检查点会定期清理,以避免消耗过多的存储空间

且还支持从不同的 3D 并行配置恢复训练,以应对计算集群负载的动态变化。 至于评估,在生成任务中采用 vLLM (Kwon et al., 2023),在非生成任务中采用连续批处理,以避免手动调整批处理大小并减少 token 填充

1.2 对齐:监督微调与DPO

在数据集上,收集了大约 150 万条英文和中文的指令数据实例,涵盖了广泛的有用性和无害性主题。其中

有用数据包含 120 万个实例,其中 31.2% 是一般语言任务,46.6% 是数学问题,22.2% 是编码练习

安全数据包含 30 万个实例,涵盖各种敏感话题

至于对齐流程则包含两个阶段

监督微调

对 7B 模型进行了 4 个周期的微调,但对 67B 模型只进行了 2 个周期的微调,因为观察到 67B 模型的过拟合问题很严重 且观察到 GSM8K和 在 7B 模型上持续改进,而 67B 模型很快达到了上限 对于 7B 和 67B 模型,它们对应的学习率分别为 1e-5 和 5e-6

除了监控基准准确性外,我们还评估了微调过程中聊天模型的重复率 比如,收集了总共 3868 个中英文提示,并确定了生成的响应中未能终止而是无休止重复一段文本的比例

且观察到,随着数学 SFT 数据量的增加,重复率往往会上升,这可以归因于数学 SFT 数据偶尔包含类似的推理模式。因此,较弱的模型难以理解这些推理模式,导致重复的响应

为了解决这个问题,尝试了两阶段微调和 DPO(关于什么是DPO,详见此文:RLHF的替代之DPO原理解析:从RLHF、的RAILF到DPO、),这两种方法几乎都能保持基准分数并显著减少重复

DPO

为了进一步增强模型的能力,他们使用了直接偏好优化算法DPO,这被证明是一种简单但有效的 LLM 对齐方法

比如构建了DPO训练的偏好数据,主要包括有用性和无害性

对于有用性数据,收集了多语言提示,涵盖了创意写作、问答、指令执行等类别,然后使用 Chat模型生成响应作为候选答案

类似的操作也应用于无害性偏好数据的构建

且以5e-6的学习率和512的批处理大小训练了一个DPO周期,并使用了学习率预热和余弦学习率调度器 另,发现DPO可以增强模型的开放式生成能力,同时在标准基准测试中的表现差异很小

LLM