浅读LLAMA2

一、简介

2023年7月,Mata正式推出Llama 2,包含一系列预训练和微调的大型语言模型(LLMs),参数规模从7B到70B不等。研究者们针对对话用例进行了优化,并将微调训练好的模型称为Llama 2-Chat。在大多数基准测试中,Llama 2系列模型的表现优于当时的开源聊天模型。

  • Paper:https://arxiv.org/abs/2307.09288
  • Code: https://github.com/meta-llama/llama
    在这里插入图片描述

二、背景

LLMs的训练方法虽然看似简单(在大规模自监督语料库上进行预训练,随后通过技术如基于人类反馈的强化学习(RLHF)与人类偏好对齐),但其高计算需求限制了其发展,目前只有少数参与者能够开发LLMs。此前的封闭产品LLMs(如GPT-3和Chinchilla)经过大量微调以对齐人类偏好,极大地提升了其可用性和安全性。然而,这种微调步骤可能需要巨大的计算成本和人类标注资源,通常不透明且难以复现,限制了社区在AI对齐研究方面的进展。

Llama 2 系列在帮助性和安全性基准测试中,通常优于现有的开源模型。同时Meta开源了以下模型供研究和商业使用:

  • Llama 2 :LLaMa 1的更新版本,使用新的公开数据混合进行训练。还将预训练语料库的规模增加了40%,将模型的上下文长度翻倍,并采用了分组查询注意力(GQA)。
  • Llama 2-Chat:针对对话用例优化的Llama 2的微调版本,发布了7B、13B和70B参数的该模型变体。

三、预训练模型

3.1 预训练

Llama2 在预训练过程主要做了两点改进:

  • 进行了更稳健的数据清理,更新了数据组合,将预训练的总 token 数量增加了 40%,将模型的上下文长度翻倍。
  • 采用了分组查询注意力(GQA) 以提升更大模型的推理可扩展性。表 1 比较了新 Llama 2 模型与 Llama 1 模型的属性。

在这里插入图片描述

Llama2 预训练数据:

  • 训练语料库包括来自公开来源的新数据组合,不包含 Meta 产品或服务中的数据,在此基础上努力移除某些已知包含大量个人隐私信息的网站数据。
  • 在 2 万亿个 token 的数据上进行训练,因为这在性能和成本之间提供了良好的权衡,同时通过上采样最事实性的数据源以减少幻觉现象。

3.2 训练细节

Llama2 训练参数与配置细节:

  • 采用了与 Llama 1 相同的预训练设置和模型架构,主要区别包括:上下文长度增加和分组查询注意力(GQA)
  • 使用 AdamW 优化器,学习率采用余弦退火策略,学习率从 3×10⁻⁴(7B 和 13B 模型)和 1.5×10⁻⁴(34B 和 70B 模型)开始,最终退火到峰值学习率的 10%。
  • 使用了 4M token 的全局批量大小进行训练。

3.3 Llama2 预训练模型评估

在标准学术基准测试中报告了 Llama 1 和 Llama 2 基础模型的性能,包括代码生成、常识推理、世界知识、阅读理解和数学能力等类别:

  • Llama 2 模型在所有类别上均优于 Llama 1 模型,尤其是在 70B 模型上。
  • 与封闭源代码模型(如 GPT-3.5)的差距显著缩小,但在编程任务上仍有较大差距。
  • 与 Falcon 和 MPT 等开源模型相比,Llama 2 在所有基准测试中均表现更好。
    在这里插入图片描述

四、模型微调

Llama 2-Chat 的后训练阶段包括:包括指令微调基于人类反馈的强化学习(RLHF),需要大量的计算和标注资源。

4.1 监督式微调(SFT)

冷启动阶段:在公开的指令微调数据上学习,这些数据之前已在 Touvron 等人(2023)的研究中使用过。

高质量数据的重要性:许多公开的第三方 SFT 数据质量不足,尤其是在对齐 LLMs 以适应对话式指令方面。因此,作者首先收集了几千个高质量的 SFT 数据样本,如表 5 所示。通过专注于少量但高质量的数据,模型结果显著提升。

在这里插入图片描述

微调细节:对于监督式微调,Llama2 使用余弦学习率调度,初始学习率为 2×10⁻⁵,权重衰减为 0.1,批量大小为 64,序列长度为 4096 tokens。每个样本由提示(prompt)和答案组成,为了充分利用模型的序列长度,作者将训练集中的所有提示和答案进行拼接。使用自回归目标,并将用户提示的损失置零,只对答案 tokens 进行反向传播。 最后,对模型进行了 2 个 epoch 的微调。

4.2 基于人类反馈的强化学习(RLHF)

RLHF 是一种微调语言模型的程序,用于进一步对齐模型行为以符合人类偏好和指令遵循能力。收集代表经验性人类偏好的数据,人类标注者选择两个模型输出中他们更喜欢的一个。然后,这些人类反馈被用来训练奖励模型,该模型学习人类标注者的偏好模式,并能够自动化偏好决策。

4.2.1 人类偏好数据收集

我们选择二元比较协议,主要是因为它能够最大化收集到的提示的多样性。我们要求标注者首先编写一个提示,然后从两个模型响应中选择一个,基于提供的标准。为了最大化多样性,给定提示的两个响应是从两个不同的模型变体中采样得到的,并且通过改变温度超参数来实现。除了给参与者提供强制选择外,我们还要求标注者标记他们选择的响应比另一个响应好多少:他们的选择是显著更好、更好、稍微更好,还是几乎更好/不确定。

在收集偏好标注的过程中,Llama 2 专注于帮助性和安全性。 帮助性指的是 Llama 2-Chat 的响应在多大程度上满足用户的请求并提供所需的信息;安全性指的是 Llama 2-Chat 的响应是否安全,例如,“提供制造炸弹的详细说明”可能是有帮助的,但根据我们的安全指南,这是不安全的。将两者分开可以让我们对每个类别应用特定的指南,例如,我们的安全标注提供了专注于对抗性提示的指导。

除了标注指南的差异外,我们在安全阶段还会额外收集一个安全标签。这个额外的信息将模型响应分为三个类别:1)首选响应是安全的,而另一个响应不安全;2)两个响应都是安全的;3)两个响应都不安全,其中 18%、47% 和 35% 的安全数据集分别属于这三个类别。我们没有包括任何首选响应不安全而另一个响应安全的例子,因为我们认为更安全的响应也会被人类认为是更好的选择。

在人类偏好数据收集过程中,我们以每周一批的方式收集人类偏好数据。随着我们收集到更多偏好数据,我们的奖励模型得到改进,我们能够训练出更优版本的 Llama 2-Chat(见第 5 节,图 20)。Llama 2-Chat 的改进也改变了模型的数据分布。由于奖励模型的准确性可能会因为没有接触到新的样本分布而迅速下降(即过度专业化),因此在新的 Llama 2-Chat 调优迭代之前,使用最新的 Llama 2-Chat 版本收集新的偏好数据是至关重要的。这一步有助于保持奖励模型的分布一致性,并确保对最新模型的奖励保持准确。

我们收集了一个包含超过 100 万个基于人类指定指南的二元比较的大型数据集,我们将其称为 Meta 奖励建模数据。请注意,不同文本领域的提示和回答的 tokens 数量可能不同。总结和在线论坛数据通常具有更长的提示,而对话式提示通常较短。与其他开源数据集相比,我们的偏好数据具有更多的对话轮次,并且平均长度更长。

4.2.2 奖励模型建模

奖励模型将模型响应及其对应的提示(包括前一轮的上下文)作为输入,并输出一个标量分数,以指示模型生成的质量(例如,帮助性和安全性)。利用这样的响应分数作为奖励,我们可以在 RLHF 中优化 Llama 2-Chat,使其更好地与人类偏好对齐,提高帮助性和安全性。单一的奖励模型很难同时在两个方面都表现良好。为了解决这个问题,我们分别训练两个奖励模型,一个针对帮助性(称为帮助性 RM),另一个针对安全性(安全性 RM)。

我们从预训练的聊天模型检查点初始化我们的奖励模型,以确保两个模型都能从预训练中受益。简而言之,奖励模型“知道”聊天模型所知道的内容。这可以防止出现两种模型之间信息不匹配的情况,例如,奖励模型可能会倾向于支持幻觉内容。模型架构和超参数与预训练语言模型相同,只是将用于下一个 token 预测的分类头替换为用于输出标量奖励的回归头。

训练目标:为了训练奖励模型,我们将收集到的成对人类偏好数据转换为二元排名标签格式(即,选择的 & 被拒绝的),并强制要求选择的响应比其对应项获得更高的分数。我们使用与 Ouyang 等人(2022)一致的二元排名损失:

在这里插入图片描述
在二元排名损失的基础上,我们进一步修改它,以便为帮助性和安全性奖励模型分别进行优化。鉴于我们的偏好评分被分解为四个等级(例如,“显著更好”),利用这些信息明确地教导奖励模型为差异更大的生成内容分配更不同的分数是有用的。为此,我们在损失中进一步添加了一个边距组件:
在这里插入图片描述
其中边距 m(r) 是偏好评分的离散函数。自然地,我们为差异较大的响应对使用较大的边距,而对相似性较大的响应对使用较小的边距。我们发现这个边距组件可以提高帮助性奖励模型在样本差异较大时的准确性。

五、全文总结

1. 预训练数据和模型的优化

  • 数据规模与质量:Llama 2 使用了2万亿 tokens 的预训练数据,相比前代模型(如 Llama 1)增加了40%。数据来源更加多样化且经过严格筛选,避免了包含过多个人隐私信息的内容。
  • 模型改进:引入了分组查询注意力(Grouped-Query Attention, GQA)和更长的上下文长度(从2048 tokens扩展到4096 tokens),显著提升了模型在处理长文本和多轮对话时的能力。

2. 后训练两阶段

  • 监督式微调(SFT)与高质量标注:通过高质量的人工标注数据进行监督式微调,显著提升了模型在对话任务中的表现。特别强调了高质量标注数据的重要性,避免了低质量标注对模型性能的负面影响。
  • 基于人类反馈的强化学习(RLHF):通过人类偏好数据训练奖励模型,并结合拒绝采样和近端策略优化(PPO)技术,使模型能够更好地对齐人类偏好,同时保持对话的安全性和帮助性。

3. 安全性和可靠性的提升

  • 多轮一致性:提出了 Ghost Attention(GAtt)技术,通过在多轮对话中持续关注系统消息,显著提升了模型在多轮对话中的一致性和稳定性。
  • 安全对齐:通过红队测试、安全数据标注和奖励模型的迭代优化,大幅降低了模型生成有害内容的风险。在安全性评估中,Llama 2-Chat 表现优于多个开源和闭源模型。

4. 开源与社区合作

  • 开放发布:Llama 2 和 Llama 2-Chat 的开源发布,为研究和商业应用提供了强大的基础。这种开放策略不仅促进了技术的透明化,还鼓励了社区的广泛参与和协作。
  • 持续改进:通过公开模型和数据,研究团队能够从社区反馈中不断学习,进一步优化模型的安全性和性能,推动大型语言模型的负责任发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI 菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值