最强大模型 Llama 3.1-405B 架构设计剖析 原创
1、最强大模型 Llama 3.1-405B 简介
在历经了两天的提前“泄露风波”后,Llama 3.1 终于正式揭开面纱,由官方对外公布。
新版 Llama 3.1 将其上下文处理能力扩展至 128K,推出了 8B、70B 及 405B 三个不同规模的版本,再次单枪匹马地提升了大规模模型领域的竞争门槛。
对于 AI 大模型领域而言,Llama 3.1 405B 版本具有划时代的意义,它刷新了开源基础模型性能的极限。据 Meta 官方透露,该大模型在众多任务中的表现足以匹敌当前最优的闭源模型。
Llama3.1 405B数据集评测结果
Llama3.1 405B人工评估
2、Llama 3.1-405B 架构设计剖析
Llama 3.1共开源了8B、70B、405B三种参数量的模型,其中 405B 除了FP16精度,还有FP8量化版模型,针对8B额外开源了经过内容安全分类微调的Llama-Guard-3-8B。
架构设计主要看点总结如下:
1. Llama3.1 405B 依然使用 decoder-only 结构的 transformer,没有使用混合专家。
2. 上下文长度增加到 128K。
3. 在语言模型后训练阶段,405B 通过监督微调和直接偏好优化等,进一步提升了模型的性能和适应性。监督微调使用大量的人工标注数据来微调模型,使其能够更好地遵循人类的指令和偏好;直接偏好优化则通过学习人类的偏好来优化模型的输出,使其更加符合人类的期望。
4. 对于小参数量模型,Meta 使用 405B 模型去提升小参数量模型的效果。
3、Llama 3.1 预训练过程剖析
Llama 3.1 的预训练过程分为三个关键阶段:1、初始预训练阶段;2、长文本上下文预训练;3、退火过程。总体来看,这一流程与现有的一些开源模型训练方法相似,但技术报告中透露了众多精细的技术细节。以下是各阶段的详细描述:
初始预训练阶段:这一阶段遵循标准的预训练流程,训练初期采用较小的批量大小以保障训练稳定性,随后逐渐增大批量大小以提高训练效率,直至达到每批 16M 个token。为了增强模型在多语言和数学推理方面的能力,特别增加了非英语内容和数学数据的比重。
长文本上下文预训练阶段:在预训练的后半程,使用长文本数据进行训练,以支持高达 128K 个token的上下文窗口。在这一阶段,采取了逐步扩展上下文窗口的策略,对于 Llama 3 405B 模型,从最初的 8K token 上下文窗口开始,逐步扩展,最终达到 128K token 的窗口大小。此阶段消耗了大约 800B 个token的训练数据。
退火过程:在预训练的最后 4000 万个token期间,采取了线性降低学习率至零的策略,同时保持 128K 个token的上下文长度。在这一退火阶段,对数据混合比例进行了调整,增加了如数学、代码、逻辑等高质量数据的影响。最终,通过取退火期间多个模型检查点的平均值,形成了最终的预训练模型。在训练后期对高质量数据进行上采样,这一做法在当前也是较为普遍的做法。
4、Llama 3.1 的 Post-Traning 剖析
当前,大型语言模型(LLM)的后训练主要采用两种策略,第一种是借鉴自ChatGPT的 SFT+RM+PPO 模式,该模式运用了强化学习,涉及众多需要调整的超参数,过程较为复杂,不易实现;另一种策略是 SFT+DPO 模式,省略了PPO 强化学习部分,简化了流程,更易于操作。
LLaMA 3.1 在后训练阶段主要采用了 SFT+DPO 模式,并加入了一些独特的设计。上图展示了 LLaMA 3.1 整个后训练流程。起初,使用人工标注数据训练RM 模型,以评估<Prompt, answer>数据的质量,随后利用 RM 进行拒绝采样。
具体来说,针对一个给定的人工 Prompt,模型生成多个回答,RM 对这些回答进行质量评分,选取评分最高的作为 SFT 数据,其余则弃用。这样筛选出的SFT 数据,结合专门用于提升代码、数学、逻辑能力的 SFT 数据,共同用于微调模型,得到 SFT 模型。
接着,利用人工标注数据通过 DPO 模型调整LLM参数,DPO 实质上是一个二分类任务,它从<Prompt,Good Answer,Bad Answer>的三元数据中学习,调整模型参数以促使模型输出 Good Answer,避免输出 Bad Answer。这样就完成了一个后训练迭代周期。上述过程会多次重复,每次流程相同,不同之处在于,在下一轮拒绝采样阶段生成回答的 LLM 模型,将选择上一轮流程中产生的若干不同 DPO 模型(具有不同超参数等)中表现最佳的一个。显然,随着迭代的进行,DPO 模型性能不断提升,因此拒绝采样中选出的最佳答案质量也逐步提高,进而使得 SFT 模型更加优秀,形成了一个正向反馈循环。可以看出,尽管 RLHF 和 DPO 两种模式都运用了 RM,但应用场景不同,RLHF 将 RM 评分用于 PPO 强化学习阶段,而 LLaMA 3.1 则利用 RM 筛选高质量的 SFT 数据。并且,由于拒绝采样的回答是由 LLM 生成的,这意味着在此过程中大量使用了合成数据来训练 SFT 模型。
5、LLama 3.1 405B 为何不用 MOE 架构?
大模型的 MOE 结构是否能够提升模型性能?答案并非必然。
早在 ChatGPT 流行之前,研究就已经得出结论,从模型性能影响的角度来看,MOE 结构相较于密集型(Dense)模型并不会带来额外的优势,有时甚至可能存在劣势。
MOE 架构的主要优点在于降低训练和推理的成本,但这需要以训练稳定性降低和推理时需要更多内存来存储增加的参数为代价。在用户数量庞大、请求频繁的情况下,推理成本占据的比重更大,此时 MOE 结构在推理方面更为友好,这也是为什么模型规模达到一定程度后,其结构会从 Dense 转向 MOE 的主要原因——这一转变更多是基于成本和效率的考量,而非性能。
我曾见过一些声称MOE结构性能更优的说法,但这些观点缺乏实证支持。Llama 3.1 405B 未采用 MOE 结构,技术报告指出,这是由于考虑到密集型模型在训练上更为稳定,因此选择了 Dense 结构。与 GPT 4 的 1.8T MOE 模型相比,405B 的 Dense 模型在性能上不相上下,甚至可能更胜一筹(当然,也不排除 GPT 4 可能已经是一个经过蒸馏的较小模型)。
本文转载自公众号玄姐聊AGI 作者:玄姐