Llama 2: Open Foundation and Fine-Tuned Chat Models


TL;DR

本文发布了 Llama 2,一个包含从7B到70B参数的开源预训练和微调大型语言模型系列,其为对话优化的版本 Llama 2-Chat 在多个基准测试中表现优于现有开源模型,并通过详细阐述其微调和安全对齐方法,旨在推动社区对负责任的大型语言模型进行建设和发展。

关键定义

相关工作

当前,虽然已有一些性能强大的开源预训练大语言模型(如 BLOOM, LLaMa-1, Falcon)在学术基准上可以媲美 GPT-3 等闭源模型,但它们与经过大量微调以对齐人类偏好的“产品级”闭源模型(如 ChatGPT, BARD, Claude)在实用性和安全性方面仍有巨大差距。

这种对齐过程(如指令微调和RLHF)通常需要巨大的计算和人力标注成本,且其方法论往往不透明、难以复现,这限制了整个AI社区在模型对齐研究上的进展。

本文旨在解决这一问题,通过发布一个强大的、经过精心对齐的开源对话模型 Llama 2-Chat,并详细、透明地公开其背后的对齐方法论和安全实践,从而弥合开源与“产品级”闭源模型之间的差距,并赋能社区进行更安全、更负责任的LLM开发。

本文方法

本文的方法可以分为两个主要阶段:首先是训练强大的 Llama 2 基础模型,其次是通过一个多阶段的对齐流程微调出 Llama 2-Chat 对话模型。

图:Llama 2-Chat 的训练流程。该流程始于 Llama 2 的预训练,之后通过监督微调(SFT)创建 Llama 2-Chat 的初始版本,最后使用带人类反馈的强化学习(RLHF)方法(具体为拒绝采样和PPO)进行迭代优化。

预训练 Llama 2

Llama 2 基础模型是对 Llama 1 的一次重大升级,其改进主要体现在以下方面:

  Llama 1 Llama 2
数据 见 Touvron et al. (2023) 公开可用在线数据的新混合
参数 7B, 13B, 33B, 65B 7B, 13B, 34B, 70B
上下文长度 2048 4096
GQA 仅 34B 和 70B 模型使用 ✓
Tokens 1.0T / 1.4T 2.0T
表1:Llama 1 与 Llama 2 模型属性对比。    

微调 Llama 2-Chat

Llama 2-Chat 的微调是一个精心设计的多阶段对齐过程,旨在使模型更好地遵循指令并与人类偏好对齐。

监督微调 (SFT)

SFT 是对齐的第一步,目标是让模型学会如何响应指令。

带人类反馈的强化学习 (RLHF)

在SFT之后,模型通过一个迭代的RLHF流程被进一步优化。这个过程的核心是训练一个能模仿人类偏好的奖励模型,并用它来指导语言模型的学习。

1. 人类偏好数据收集

数据集 比较数量 平均对话轮次 平均样本Token数
Anthropic Helpful 122,387 3.0 251.5
Anthropic Harmless 43,966 3.0 152.5
Meta (安全与有用性) 1,418,091 3.9 798.5
总计 2,919,326 1.6 595.7

表6(节选):人类偏好数据统计。Meta 的数据集在数量和对话轮次上均有优势。

2. 奖励建模 (Reward Modeling)

3. 迭代式微调

随着收集到更多偏好数据,奖励模型和 Llama 2-Chat 模型也随之进行迭代更新(从RLHF-V1到RLHF-V5)。主要使用了两种RL算法:

\[R(g \mid p) = \tilde{R}_c(g \mid p) - \beta D_{KL}(\pi_\theta(g \mid p) \parallel \pi_0(g \mid p))\]

其中 $R_c$ 是一个结合了Safety RM和Helpfulness RM分数的复合奖励函数,$\beta$ 是KL惩罚的系数。

流程: 在RLHF的早期阶段主要使用拒绝采样。在后期,则将两者结合:先用拒绝采样得到一个优化的模型版本,再在其基础上用PPO进行进一步微调。

幻影注意力 (Ghost Attention, GAtt)

这是一个为解决多轮对话一致性问题而设计的巧妙方法。

图9:GAtt的效果。左图:没有GAtt,模型几轮后就忘记了指令。右图:使用GAtt后,模型在多轮对话中仍能保持一致。

实验结论

本文通过大量的自动评测和人工评估,全面验证了Llama 2系列模型的性能。

基础模型 (Llama 2)

模型 MMLU BBH AGI Eval
Falcon 40B 55.4 37.1 37.0
Llama 1 65B 63.4 43.5 47.6
Llama 2 70B 68.9 51.2 54.2

表3(节选):Llama 2 在聚合基准上优于其他开源模型。

基准 GPT-3.5 GPT-4 Llama 2 70B
MMLU (5-shot) 70.0 86.4 68.9
GSM8K (8-shot) 57.1 92.0 56.8
HumanEval (0-shot) 48.1 67.0 29.9

表4(节选):与闭源模型对比,Llama 2 70B 接近GPT-3.5,但在代码上差距较大。

对话模型 (Llama 2-Chat)

图1:有用性人工评估。Llama 2-Chat 70B 与 ChatGPT (gpt-3.5-0301) 的胜率不相上下。

图3:安全性人工评估。Llama 2-Chat 模型的安全违规率远低于其他模型。

总结

本文成功开发并发布了 Llama 2 系列模型,其中 Llama 2-Chat 作为一款经过精心对齐的开源对话模型,在有用性和安全性上均达到了业界领先水平,在某些方面可与强大的闭源模型相媲美。

实验结果验证了本文方法的有效性:1)“质量优于数量”的SFT数据策略;2)分离式、带边界损失的奖励建模;3)结合拒绝采样和PPO的迭代式RLHF;4)创新的GAtt方法。

最终结论是,通过开放强大的基础模型和透明化对齐技术,可以有效推动整个社区向着更负责任、更先进的LLM方向发展。尽管与最前沿的闭源模型(如GPT-4)仍有差距,但 Llama 2 代表了开源力量的一个重要里程碑。