LLama 3 405B 技术报告解读

Meta于2024年7月24日发布了Llama 3的405B版本,这一模型在技术报告中引起了广泛关注。报告开头特别强调了一个关键概念:“Managing complexity”,即管控复杂度。Meta没有使用Mixture of Experts (MoE)架构,而是选择了405B参数的密集模型(dense model),并且在优化过程中采用了Direct Preference Optimization (DPO)而非Proximal Policy Optimization (PPO)。下面将详细解读这份技术报告,涵盖预训练、模型结构、规模定律、硬件和网络、并行策略等方面的亮点。

一、预训练

数据部分

  1. 数据清洗:对个人隐私数据(PII)进行清洗、去重和去黄。
  2. 数据配比:通过模型进行细粒度打标签,最终确定了50%通用数据,25%数理数据,17%代码数据,8%多语言数据。
  3. 数据退火:在大模型训练的最后阶段,使用高质量数据学习并逐渐将学习率衰减到0。

数据配比和Scaling Law

  1. 数据配比:作者在不同的小模型上进行了不同的配比实验,用于预测大模型的最优配比。
  2. Scaling Law:通过在小模型上探索数据配比的Scaling Law,预测了大模型的最优配比。

二、模型结构

GQA和8-kv head

Llama 3使用了分组查询注意力(GQA)和8个键值对头,提高了推理速度并减少了解码过程中的键值对缓存大小。

GQA参数

长文拼接

使用注意力掩码防止不同来源数据串味,这在扩长序列时尤为重要。

词表和RoPE

  1. 词表大小:128K,增强了非英语能力。
  2. RoPE theta:调整到500000,支持更长的上下文窗口。

三、Scaling Law

两步方法

  1. 计算最优模型:在下游任务上的负对数似然与训练FLOPs之间的相关性。
  2. Benchmark表现:利用Scaling Law模型和使用更高计算FLOPs训练的旧模型,将负对数似然与Benchmark的准确率关联。

结果

在ARC Challenge基准上,拟合结果表现良好。

模型拟合结果

四、硬件和网络

GPU资源

16K H100 80GB with NVLink,采用Meta的生产集群,提供240 PB SSD和7500台机器,支持2TB-7TB/s的存储吞吐。

网络部分

  1. RoCE和400Gb/s网络接口:采用3层网络架构。
  2. 负载均衡和拥塞控制:使用16个流减少单流流量,在网络包头部增加特殊区域,通过hash使得流的选路更均衡。

五、并行策略

并行策略

4D并行

结合张量并行(TP)、流水线并行(PP)、上下文并行(CP)和数据并行(DP),多了一个上下文并行CP或称为序列并行。

FSDP

使用全分片数据并行(FSDP),优化模型权重的拉取次数,减少反向梯度计算时的通信。

PP并行策略改进

  1. Batch Size限制:当前的流水线并行策略限制了micro batch个数为流水线stage的整数倍。
  2. 显存和计算不均衡:首尾stage做了padding,以平衡显存和计算。

CP并行策略的改进

基于allgather的通信方法,支持不同类型的注意力掩码。

六、预训练策略

三阶段训练法

  1. 初始训练:余弦调度,逐步增加上下文长度和batch size。
  2. 长上下文训练:从8K逐步增加到128K。
  3. 退火训练:最后40M token,用128K长度,逐渐线性缩减学习率到0。

七、后训练(对齐)

对话数据格式

设置多种角色的输入输出格式和特殊token。

奖励建模

增加了人工编辑样本,进行更精细的训练和权重平均。

SFT和DPO

拒绝采样,使用DPO+NLL的loss进行优化,迭代式训练,增强数据选择和训练效果。

八、基础设施、扩展性和效率

训练基础设施

Meta的生产集群提供了大规模的计算资源和存储网络,支持高效的模型训练和调度。

模型扩展的并行性

通过4D并行性将计算分布到多个GPU上,实现高效的模型训练。

总结

Llama 3 405B版本在数据处理、模型结构、并行策略和训练基础设施等方面进行了全面优化。尽管其性能未达到压倒性的领先地位,但在各个方面都展示了许多值得学习的技术亮点。特别是对数据的细粒度处理和大规模并行训练策略,对于提升模型性能和效率具有重要意义。

最后修改:2024 年 07 月 25 日
如果觉得我的文章对你有用,请随意赞赏