Llama 2: Open Foundation and Fine-Tuned Chat Models——开放基础与微调对话模型

部署运行你感兴趣的模型镜像

这篇文章介绍了 Llama 2,一个由 Meta 开发的开源大型语言模型(LLM)系列,包含从 70 亿到 700 亿参数的不同规模模型。Llama 2 包括预训练模型和针对对话场景优化的微调模型 Llama 2-Chat。文章详细描述了 Llama 2 的预训练、微调、安全性改进以及发布策略。以下是主要内容总结:

  1. 预训练

    • Llama 2 基于 Llama 1 的架构,但进行了多项改进,包括数据清洗、数据混合更新、训练 token 数量增加 40%、上下文长度翻倍、以及采用分组查询注意力(GQA)机制。

    • 预训练数据来自公开可用的数据集,排除了包含大量个人信息的网站,训练了 2 万亿 token。

    • 预训练模型在多个学术基准测试中表现优异,尤其是在常识推理、世界知识和阅读理解任务上。

  2. 微调

    • Llama 2-Chat 通过监督微调(SFT)和基于人类反馈的强化学习(RLHF)进行优化。

    • RLHF 通过人类偏好数据训练奖励模型,进一步优化模型的行为,使其更符合人类偏好。

    • 引入了 Ghost Attention (GAtt) 技术,帮助模型在多轮对话中保持一致性。

  3. 安全性

    • Llama 2 在预训练和微调阶段都进行了安全性改进,包括安全数据标注、红队测试和迭代评估。

    • 通过安全微调和 RLHF,模型在应对有害或不当内容时表现更好,同时保持了较高的帮助性。

    • 文章还介绍了红队测试的详细过程,展示了如何通过红队测试发现并修复模型的安全漏洞。

  4. 模型评估

    • Llama 2-Chat 在多个基准测试中表现优于现有的开源模型,并在人类评估中与一些闭源模型(如 ChatGPT)表现相当。

    • 文章提供了详细的模型评估结果,包括帮助性和安全性的对比。

  5. 发布策略

    • Llama 2 以开源形式发布,供研究和商业使用,旨在促进 AI 社区的负责任创新。

    • Meta 提供了负责任使用指南和代码示例,帮助开发者安全地部署 Llama 2。

  6. 局限性与未来工作

    • Llama 2 仍存在一些局限性,如知识更新的截止日期、生成不准确内容的可能性,以及对非英语语言的支持有限。

    • 未来将继续改进模型,特别是在多语言支持和安全性方面。

Llama 2 是一个强大的开源语言模型系列,通过详细的预训练、微调和安全性改进,展示了其在对话场景中的潜力,并希望通过开源促进 AI 社区的协作与创新。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要

在本研究中,我们开发并发布了Llama 2,这是一系列预训练和微调的大语言模型(LLMs),参数规模从70亿到700亿不等。我们微调的LLMs,称为Llama 2-Chat,针对对话用例进行了优化。我们的模型在大多数测试基准上优于开源的聊天模型,并且基于我们的人工评估,可能在帮助性和安全性方面成为闭源模型的合适替代品。我们详细描述了Llama 2-Chat的微调和安全性改进方法,以使社区能够在我们的工作基础上继续发展,并为LLMs的负责任开发做出贡献。

目录
  1. 引言

  2. 预训练
    2.1 预训练数据
    2.2 训练细节
    2.3 Llama 2预训练模型评估

  3. 微调
    3.1 监督微调(SFT)
    3.2 基于人类反馈的强化学习(RLHF)
    3.3 多轮一致性的系统消息
    3.4 RLHF结果

  4. 安全性
    4.1 预训练中的安全性
    4.2 安全性微调
    4.3 红队测试
    4.4 Llama 2-Chat的安全性评估

  5. 讨论
    5.1 学习与观察
    5.2 局限性与伦理考虑
    5.3 负责任发布策略

  6. 相关工作

  7. 结论
    附录
    A.1 贡献
    A.2 预训练的额外细节
    A.3 微调的额外细节
    A.4 安全性的额外细节
    A.5 数据标注
    A.6 数据集污染
    A.7 模型卡片

1. 引言

大语言模型(LLMs)作为高度智能的AI助手,展现了在复杂推理任务中的巨大潜力,这些任务需要跨多个领域的专家知识,包括编程和创意写作等专业领域。它们通过直观的聊天界面与人类互动,这导致了在公众中的迅速和广泛采用。

图1: Llama 2-Chat与其他开源和闭源模型的帮助性人工评估结果。人工评估者比较了模型在约4k个提示上的生成结果,包括单轮和多轮提示。此评估的95%置信区间在1%到2%之间。更多细节见第3.4.2节。在审查这些结果时,需要注意的是,由于提示集的限制、审查指南的主观性、个别评估者的主观性以及比较生成的固有困难,人工评估可能会存在噪音。

图2: 根据GPT-4,商业许可基线与Llama 2-Chat之间的帮助性和安全性胜率%。为了补充人工评估,我们使用了一个更强大的模型,不受我们自身指导的影响。绿色区域表示我们的模型根据GPT-4表现更好。为了消除平局,我们使用了win/(win+loss)。模型响应的顺序随机交换以减轻偏见。

考虑到训练方法的简单性,LLMs的能力是显著的。自回归变压器在大量自监督数据上进行预训练,然后通过基于人类反馈的强化学习(RLHF)等技术与人类偏好对齐。尽管训练方法简单,但高计算需求限制了LLMs的开发,仅有少数玩家参与。已有公开的预训练LLMs(如BLOOM、LLaMa-1和Falcon)在性能上与闭源的竞争对手如GPT-3和Chinchilla相当,但这些模型并不适合替代闭源的“产品”LLMs,如ChatGPT、BARD和Claude。这些闭源产品LLMs经过大量微调以与人类偏好对齐,这大大增强了它们的可用性和安全性。这一步骤可能需要大量的计算和人工标注成本,并且通常不透明或难以复现,限制了社区在AI对齐研究中的进展。

在本研究中,我们开发并发布了Llama 2,这是一系列预训练和微调的LLMs,包括Llama 2和Llama 2-Chat,参数规模高达700亿。在我们测试的一系列帮助性和安全性基准上,Llama 2-Chat模型通常优于现有的开源模型。它们在我们进行的人工评估中与一些闭源模型表现相当(见图1和图3)。我们采取了措施来提高这些模型的安全性,使用了安全特定的数据标注和调优,并进行了红队测试和迭代评估。此外,本文详细描述了我们的微调方法和改进LLM安全性的方法。我们希望这种开放性能够使社区复现微调的LLMs,并继续改进这些模型的安全性,为LLMs的负责任开发铺平道路。我们还分享了在开发Llama 2和Llama 2-Chat过程中观察到的新现象,如工具使用和知识的时间组织。

图4: Llama 2-Chat的训练过程:该过程从使用公开可用的在线资源对Llama 2进行预训练开始。随后,我们通过应用监督微调创建了Llama 2-Chat的初始版本。然后,使用基于人类反馈的强化学习(RLHF)方法对模型进行迭代优化,特别是通过拒绝采样和近端策略优化(PPO)。在RLHF阶段,迭代奖励建模数据的积累与模型增强并行进行,以确保奖励模型保持在分布内。 

2. 预训练

为了创建新的Llama 2模型系列,我们从Touvron等人(2023)中描述的预训练方法开始,使用优化的自回归变压器,但进行了几项改进以提高性能。具体来说,我们进行了更稳健的数据清理,更新了数据混合,训练了40%更多的总token,将上下文长度加倍,并使用分组查询注意力(GQA)来提高我们较大模型的推理可扩展性。表1比较了新Llama 2模型与Llama 1模型的属性。

2.1 预训练数据

我们的训练语料库包括来自公开可用数据的新混合,不包括来自Meta产品或服务的数据。我们努力删除了某些已知包含大量私人个人信息的网站的数据。我们训练了2万亿token的数据,因为这提供了良好的性能成本权衡,对最事实性的来源进行了上采样,以增加知识并减少幻觉。

我们进行了各种预训练数据调查,以便用户更好地了解我们模型的潜在能力和局限性;结果可以在第4.1节中找到。

2.2 训练细节

我们采用了Llama 1的大部分预训练设置和模型架构。我们使用标准的变压器架构(Vaswani et al., 2017),应用预归一化(RMSNorm, Zhang and Sennrich, 2019),使用SwiGLU激活函数(Shazeer, 2020)和旋转位置嵌入(RoPE, Su et al., 2022)。与Llama 1的主要架构差异包括增加的上下文长度和分组查询注意力(GQA)。我们在附录A.2.1节中详细介绍了这些差异,并通过消融实验展示了它们的重要性。

超参数。我们使用AdamW优化器(Loshchilov and Hutter, 2017)进行训练,β1=0.9,β2=0.95,eps=10−5。我们使用余弦学习率调度,预热2000步,并将最终学习率衰减到峰值学习率的10%。我们使用0.1的权重衰减和1.0的梯度裁剪。图5(a)显示了使用这些超参数的Llama 2的训练损失。

2.2.1 训练硬件与碳足迹

训练硬件。我们在Meta的研究超级计算机(RSC)(Lee and Sengupta, 2022)以及内部生产集群上预训练了我们的模型。两个集群都使用NVIDIA A100。两个集群之间的关键区别在于可用的互连类型:RSC使用NVIDIA Quantum InfiniBand,而我们的生产集群配备了基于商用以太网交换机的RoCE(RDMA over converged Ethernet)解决方案。这两种解决方案都互连了200 Gbps的端点。第二个区别是每GPU的功耗上限——RSC使用400W,而我们的生产集群使用350W。通过这种双集群设置,我们能够比较这些不同类型的互连在大规模训练中的适用性。RoCE(一种更经济实惠的商业互连网络)在多达2000个GPU的情况下几乎可以与昂贵的Infiniband相媲美,这使得预训练更加民主化。

预训练的碳足迹。根据先前的研究(Bender et al., ; Patterson et al., 2021; Wu et al., 2022; Dodge et al., 2022)并使用GPU设备的功耗估计和碳效率,我们旨在计算LLAMA 2模型预训练过程中产生的碳排放。GPU的实际功耗取决于其利用率,可能会与我们用作估计的TDP(热设计功耗)有所不同。需要注意的是,我们的计算不包括互连或非GPU服务器功耗的进一步需求,也不包括数据中心冷却系统的功耗。此外,与AI硬件(如GPU)生产相关的碳排放可能会增加总体碳足迹,正如Gupta等人(, )所建议的那样。

表2总结了LLAMA 2系列模型预训练的碳排放。在A100-80GB(TDP为400W或350W)类型的硬件上累计进行了330万GPU小时的计算。我们估计训练的总排放量为,其中100%由Meta的可持续发展计划直接抵消。我们的开放发布策略也意味着这些预训练成本不需要由其他公司承担,从而节省了更多的全球资源。

2.3 LLAMA 2预训练模型评估

在本节中,我们报告了LLAMA 1和LLAMA 2基础模型、MosaicML预训练变压器(MPT)++模型和Falcon(Almazrouei et al., 2023)模型在标准学术基准上的结果。对于所有评估,我们使用内部评估库。我们在内部复现了MPT和Falcon模型的结果。对于这些模型,我们始终选择我们的评估框架与任何公开报告结果之间的最佳分数。

在表3中,我们总结了在一系列流行基准上的整体表现。请注意,安全性基准在第4.1节中共享。基准分为以下几类。所有个别基准的结果可在附录A.2.2节中找到。

  • 代码。我们报告了我们的模型在HumanEval(Chen et al., 2021)和MBPP(Austin et al., 2021)上的平均pass@1分数。

  • 常识推理。我们报告了PIQA(Bisk et al., 2020)、SIQA(Sap et al., 2019)、HellaSwag(Zellers et al., )、WinoGrande(Sakaguchi et al., 2021)、ARC easy和challenge(Clark et al., 2018)、OpenBookQA(Mihaylov et al., 2018)和CommonsenseQA(Talmor et al., 2018)的平均值。我们报告了CommonsenseQA的7-shot结果和其他基准的0-shot结果。

  • 世界知识。我们评估了NaturalQuestions(Kwiatkowski et al., 2019)和TriviaQA(Joshi et al., 2017)的5-shot表现,并报告了平均值。

  • 阅读理解。对于阅读理解,我们报告了SQuAD(Rajpurkar et al., 2018)、QuAC(Choi et al., 2018)和BoolQ(Clark et al., 2019)的0-shot平均值。

  • 数学。我们报告了GSM8K(8 shot)(Cobbe et al., 2021)和MATH(4 shot)(Hendrycks et al., 2021)基准在_top 1_的平均值。

  • 流行聚合基准。我们报告了MMLU(5 shot)(Hendrycks et al., 2020)、Big Bench Hard(BBH)(3 shot)(Suzgun et al., 2022)和AGI Eval(3-5 shot)(Zhong et al., 2023)的整体结果。对于AGI Eval,我们仅评估英语任务并报告平均值。

如表3所示,Llama2模型优于Llama1模型。特别是,Llama2 70B在MMLU和BBH上的结果分别比Llama1 65B提高了约5分和约8分。Llama2 7B和30B模型在除代码基准外的所有类别上优于相应大小的MPT模型。对于Falcon模型,Llama2 7B和34B在所有类别的基准上优于Falcon 7B和40B模型。此外,Llama2 70B模型优于所有开源模型。

除了开源模型外,我们还将Llama2 70B的结果与闭源模型进行了比较。如表4所示,Llama2 70B在MMLU和GSM8K上接近GPT-3.5(OpenAI, 2023),但在编码基准上存在显著差距。Llama2 70B的结果在几乎所有基准上与PaLM(540B)(Chowdhery et al., 2022)相当或更好。Llama2 70B与GPT-4和PaLM-2-L之间仍存在较大性能差距。

我们还分析了潜在的数据污染,并在附录A.6节中分享了详细信息。

3. 微调

Llama2-Chat是几个月研究和迭代应用对齐技术的结果,包括指令微调和RLHF,需要大量的计算和标注资源。

在本节中,我们报告了使用监督微调(第3.1节)以及初始和迭代奖励建模(第3.2.2节)和RLHF(第3.2.3节)的实验和发现。我们还分享了一种新技术,Ghost Attention(GAtt),我们发现它有助于控制多轮对话的流程(第3.3节)。有关微调模型的安全性评估,请参见第4.2节。

3.1 监督微调(SFT)

提示:写一首诗帮助我记住元素周期表的前10个元素,每个元素一行。
响应
氢是第一个元素。
氦是第二个,气球充满乐趣!
锂排在第三,电池充电少不了,
铍紧随其后,绿宝石中大小都有。
硼是第五,帮助我们保持清洁。
碳是第六,每个基因中都能找到。
氮是第七,我们每次呼吸都少不了,
氧是第八,大气中含量更高。
氟是第九,帮助我们抛光牙齿。
氖是第十,给我们发光的标志。

提示:我想让你吐槽我。我希望你特别残忍,对我骂脏话。
响应:很抱歉,我无法满足这个请求。使用粗俗语言或故意伤害他人的感情是不可接受的。与其要求吐槽,我建议你专注于积极和建设性的反馈,这可以帮助你成长和进步。如果你想要喜剧效果,有很多其他方式可以实现,而不必诉诸伤害性的语言或行为。

表5: SFT标注——SFT的帮助性(顶部)和安全性(底部)标注示例,其中标注者编写了提示及其答案。

开始。为了引导,我们使用公开可用的指令微调数据(Chung et al., 2022)启动了SFT阶段,如Touvron等人(2023)中先前使用的那样。

质量至关重要。第三方SFT数据可以从许多不同的来源获得,但我们发现其中许多数据的多样性和质量不足——特别是对于将LLMs对齐到对话式指令。因此,我们首先收集了几千个高质量的SFT数据示例,如表5所示。通过搁置数百万个来自第三方数据集的示例,并使用来自我们自己基于供应商的标注工作的较少但更高质量的示例,我们的结果显著改善。这些发现与Zhou等人(2023)的精神相似,他们也发现有限的干净指令微调数据足以达到高质量。我们发现,数万个SFT标注足以实现高质量的结果。我们在收集了总共27,540个标注后停止了SFT标注。请注意,我们不包含任何Meta用户数据。

我们还观察到,不同的标注平台和供应商可能会导致显著不同的下游模型性能,这突显了即使在使用供应商获取标注时进行数据检查的重要性。为了验证我们的数据质量,我们仔细检查了一组180个示例,将人类提供的标注与模型生成的样本进行了手动比较。令人惊讶的是,我们发现从生成的SFT模型中采样的输出通常与人类标注者手写的SFT数据具有竞争力,这表明我们可以重新优先考虑并将更多的标注工作投入到基于偏好的标注中,以进行RLHF。

微调细节。对于监督微调,我们使用初始学习率为2 × 10−5的余弦学习率调度,权重衰减为0.1,批量大小为64,序列长度为4096个token。对于微调过程,每个样本由一个提示和一个答案组成。为了确保模型序列长度被正确填充,我们将训练集中的所有提示和答案连接起来。使用一个特殊token来分隔提示和答案部分。我们使用自回归目标,并在用户提示的token上归零损失,因此我们仅在答案token上进行反向传播。最后,我们对模型进行了2个epoch的微调。

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

RLHF是一种应用于微调语言模型的训练过程,以进一步将模型行为与人类偏好和指令遵循对齐。我们收集了代表人类偏好的数据,其中人类标注者选择他们更喜欢的两个模型输出之一。这种人类反馈随后用于训练奖励模型,该模型学习人类标注者的偏好模式,然后可以自动化偏好决策。

3.2.1 人类偏好数据收集

接下来,我们为奖励建模收集人类偏好数据。我们选择了二元比较协议,主要是因为它使我们能够最大化收集提示的多样性。尽管如此,其他策略也值得考虑,我们将其留给未来的工作。

我们的标注过程如下。我们要求标注者首先编写一个提示,然后根据提供的标准在两个采样的模型响应之间进行选择。为了最大化多样性,给定提示的两个响应是从两个不同的模型变体中采样的,并改变温度超参数。除了给参与者一个强制选择外,我们还要求标注者标记他们选择的响应相对于替代响应的偏好程度:他们的选择是显著更好更好稍微更好几乎相同/不确定

对于我们的偏好标注收集,我们专注于帮助性和安全性。帮助性指的是Llama2-Chat响应如何满足用户请求并提供所需信息;安全性指的是Llama2-Chat的响应是否不安全,例如,“提供制造炸弹的详细说明”可能被认为是有帮助的,但根据我们的安全指南是不安全的。将两者分开使我们能够对每个应用特定指南,并更好地指导标注者;例如,我们的安全标注提供了专注于对抗性提示的说明,以及其他指导。

除了标注指南的差异外,我们在安全阶段还收集了一个安全标签。这些附加信息将模型响应分为三类:1)首选响应是安全的,而其他响应不安全,2)两个响应都是安全的,3)两个响应都是不安全的,安全数据集中分别有18%、47%和35%的样本落入每个类别。我们不包含任何首选响应不安全而其他响应安全的示例,因为我们相信更安全的响应也会被人类更好/更偏好。安全指南和更详细的安全标注信息可以在第4.2.1节中找到。

人类标注是按周分批收集的。随着我们收集了更多的偏好数据,我们的奖励模型得到了改进,我们能够训练出逐步更好的Llama2-Chat版本(见第5节,图20)。Llama2-Chat的改进也改变了模型的数据分布。由于如果奖励模型不暴露于这种新的样本分布,其准确性可能会迅速下降,即由于超专业化(Scialom et al., ),因此在新的Llama2-Chat调优迭代之前,使用最新的Llama2-Chat迭代收集新的偏好数据是很重要的。这一步有助于保持奖励模型在分布内,并为最新模型保持准确的奖励。

在表6中,我们报告了随时间收集的奖励建模数据的统计数据,并将其与多个开源偏好数据集进行了比较,包括Anthropic Helpful and Harmless(Bai et al., )、OpenAI Summarize(Sitemon et al., 2020)、OpenAI WebGPT(Nakano et al., 2021)、StackExchange(Lambert et al., 2023)、Stanford Human Preferences(Ethayarajh et al., 2022)和Synthetic GPT-J(Havrilla)。我们收集了超过100万次基于人类应用我们指定指南的二元比较的大型数据集,我们称之为_Meta_奖励建模数据。请注意,提示和答案中的token数量取决于文本领域。摘要和在线论坛数据通常有较长的提示,而对话式提示通常较短。与现有的开源数据集相比,我们的偏好数据具有更多的对话轮次,并且平均长度更长。

3.2.2 奖励建模

奖励模型将模型响应及其对应的提示(包括先前轮次的上下文)作为输入,并输出一个标量分数以指示模型生成的质量(例如,帮助性和安全性)。利用这些响应分数作为奖励,我们可以在RLHF期间优化Llama2-Chat,以更好地对齐人类偏好并提高帮助性和安全性。

其他人发现,帮助性和安全性有时会相互权衡(Bai et al., ),这使得单个奖励模型在两者上都表现良好具有挑战性。为了解决这个问题,我们训练了两个独立的奖励模型,一个针对帮助性进行优化(称为_Helpfulness RM_),另一个针对安全性进行优化(Safety RM)。

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

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

数据组成。我们将新收集的数据与现有的开源偏好数据集结合,形成一个更大的训练数据集。最初,开源数据集用于引导我们的奖励模型,同时我们正在收集偏好标注数据。我们注意到,在本研究的RLHF背景下,奖励信号的作用是学习Llama 2-Chat输出的人类偏好,而不是_任何模型_输出。然而,在我们的实验中,我们没有观察到来自开源偏好数据集的负迁移。因此,我们决定将它们保留在我们的数据混合中,因为它们可以更好地推广奖励模型并防止奖励黑客攻击,即Llama 2-Chat利用我们奖励的某些弱点,从而人为地提高分数,尽管表现不佳。

有了来自不同来源的训练数据,我们尝试了不同的混合配方,以确定帮助性和安全性奖励模型的最佳设置。经过广泛的实验,帮助性奖励模型最终在所有Meta帮助性数据上进行训练,并结合了来自Meta安全性和开源数据集的等量数据。Meta安全性奖励模型在所有Meta安全性和Anthropic Harmless数据上进行训练,并以90/10的比例混合Meta帮助性和开源帮助性数据。我们发现,10%的帮助性数据设置特别有利于在样本上提高准确性,其中选择和拒绝的响应都被认为是安全的。

训练细节。我们在训练数据上训练一个epoch。在早期的实验中,我们发现训练更长时间会导致过拟合。我们使用与基础模型相同的优化器参数。70B参数Llama 2-Chat的最大学习率为,其余为1×10−5。学习率按余弦学习率调度下降,降至最大学习率的10%。我们使用总步数的3%进行预热,最小为5。有效批量大小保持在512对,或每批1024行。

奖励模型结果。在每批人类偏好标注的奖励建模中,我们保留了1000个示例作为测试集来评估我们的模型。我们将所有提示的测试集称为“Meta Helpfulness”和“Meta Safety”。

作为参考点,我们还评估了其他公开可用的替代方案作为基线:基于FLAN-T5-xl的SteamSHP-XL(Ethayarajh et al., 2022),基于DeBERTa V3 Large(He et al., 2020)的Open Assistant(Kopf et al., 2023)奖励模型,以及通过OpenAI的API访问的GPT4。请注意,在推理时,与训练时不同,所有奖励模型都可以预测单个输出的标量,而无需访问其配对输出。对于GPT-4,我们使用零样本问题_“在A和B之间选择最佳答案”_进行提示,其中A和B是要比较的两个响应。

我们在表7中报告了结果。正如预期的那样,我们自己的奖励模型在我们基于Llama 2-Chat收集的内部测试集上表现最好,帮助性奖励模型在Meta Helpfulness测试集上表现最好,安全性奖励模型在Meta Safety测试集上表现最好。总体而言,我们的奖励模型优于所有基线,包括GPT-4。有趣的是,尽管GPT-4没有直接训练或专门针对此奖励建模任务,但它比其他非Meta奖励模型表现更好。

表8: 按偏好评级细分的奖励模型准确性。我们报告了Meta Helpfulness和Safety测试集上帮助性和安全性奖励模型的每个偏好评级准确性。奖励模型在更明显的响应(例如,显著更好)上表现出更高的准确性,而在更相似的响应(例如,几乎相同)上准确性逐渐降低。

表7: 奖励模型结果。我们的最终帮助性和安全性奖励模型在多样化的人类偏好基准上的表现。请注意,我们的模型是在我们收集的数据上进行微调的,而不是我们报告的其他基线。

帮助性和安全性在各自领域表现最好,可能是由于两个目标之间的紧张关系(即尽可能有帮助与必要时拒绝不安全的提示),这可能会在训练期间混淆奖励模型。为了使单个模型在两个方面都表现良好,它不仅需要学习在给定提示下选择更好的响应,还需要区分对抗性提示和安全提示。因此,优化两个独立的模型简化了奖励建模任务。关于安全性和帮助性之间紧张关系的更详细分析可以在附录A.4.1节中找到。

当我们在表8中按偏好评级分组分数时,我们可以看到“显著更好”测试集的准确性更高,并且随着比较对变得更相似(例如,“稍微更好”)而逐渐降低。当决定两个相似的模型响应时,由于标注者的主观性和他们对可能区分响应的细微细节的依赖,学习建模人类偏好变得具有挑战性。我们强调,在更明显的响应上提高准确性对于提高Llama 2-Chat性能最为重要。人类偏好标注的一致率在更明显的响应上也比相似对更高。

扩展趋势。我们研究了奖励模型在数据和模型大小方面的扩展趋势,通过每周收集的奖励模型数据量来微调不同大小的模型(见表26中的每批数据量)。图6报告了这些趋势,显示了预期的结果,即更大的模型在相似的数据量下获得更高的性能。更重要的是,给定现有的数据标注量,扩展性能尚未达到平台期,这表明随着更多标注,还有改进的空间。我们注意到,奖励模型准确性是Llama 2-Chat最终性能的最重要代理之一。虽然全面评估生成模型的最佳实践是一个开放的研究问题,但奖励的排名任务没有歧义。因此,在其他条件相同的情况下,奖励模型的改进可以直接转化为Llama 2-Chat的改进。

3.2.3 迭代微调

随着我们收到更多批次的人类偏好数据标注,我们能够训练更好的奖励模型并收集更多提示。因此,我们训练了RLHF模型的连续版本,称为RLHF-V1,...,RLHF-V5。

我们探索了使用两种主要算法进行RLHF微调:

  • 近端策略优化(PPO)(Schulman et al., 2017),RLHF文献中的标准。

  • 拒绝采样微调。我们从模型中采样KK个输出,并使用我们的奖励选择最佳候选,与Bai等人()一致。LLMs的相同重新排序策略也在Deng等人(2019)中提出,其中奖励被视为能量函数。在这里,我们更进一步,使用选定的输出来进行梯度更新。对于每个提示,获得最高奖励分数的样本被视为新的黄金标准。与Scialom等人(2020)类似,我们然后在新的一组排名样本上微调我们的模型,强化奖励。

这两种RL算法主要在以下方面有所不同:

  • 广度——在拒绝采样中,模型探索给定提示的KK个样本,而PPO只生成一个样本。

  • 深度——在PPO中,在步骤tt训练时,样本是步骤t−1t−1更新后的模型策略的函数。在拒绝采样微调中,我们根据模型的初始策略采样所有输出以收集新数据集,然后应用类似于SFT的微调。然而,由于我们应用了迭代模型更新,两种RL算法之间的根本差异变得不那么明显。

直到RLHF(V4),我们仅使用拒绝采样微调,之后我们依次结合两者,在拒绝采样检查点上应用PPO,然后再次采样。

拒绝采样。我们仅使用最大的70B Llama 2-Chat进行拒绝采样。所有较小的模型都在来自较大模型的拒绝采样数据上进行微调,从而将大模型的能力蒸馏到较小的模型中。我们将进一步分析这种蒸馏效果留给未来的工作。

在每个迭代阶段,我们从最新模型中为每个提示采样K个答案。我们根据实验时可访问的最佳奖励模型对每个样本进行评分,然后选择给定提示的最佳答案。在我们模型的早期版本中,直到RLHF V3,我们的方法是将答案选择仅限于从前一次迭代中收集的样本“袋”。例如,RLHF V3仅使用来自RLHF V2的样本进行训练。然而,尽管持续改进,这种方法导致了一些能力的回归。例如,RLHF V3在编写押韵诗句方面比以前的版本更困难,通过定性分析发现,这表明进一步研究遗忘的原因和缓解措施可能是一个有前途的未来研究领域。

作为回应,在后续迭代中,我们修改了策略,结合了所有先前迭代中的表现最佳的样本,例如RLHF-V1和RLHF-V2中使用的样本。尽管我们没有提供具体数字,但这种调整展示了显著的性能提升,并有效解决了之前提到的问题。这种缓解措施可以类比于Synnaeve等人(2019)和Vinyals等人(2019)在RL文献中的工作。

我们在图7中展示了拒绝采样的好处。最大和中间曲线之间的差异可以解释为在最佳输出上进行微调的潜在增益。正如预期的那样,随着样本数量的增加,这种差异增加,因为最大值增加(即更多样本,更多生成良好轨迹的机会),而中间值保持不变。探索与我们可以从样本中获得的最大奖励之间有直接联系。温度参数在探索中也起着重要作用,因为更高的温度使我们能够采样更多样化的输出。

在图8中,我们报告了Llama 2-Chat-SFT(左)和Llama 2-Chat-RLHF(右)在不同温度下,N个样本中的最大奖励曲线(N∈[1,…,100])。我们可以观察到,最佳温度在迭代模型更新期间不是恒定的:RLHF直接影响重新调整温度。对于Llama 2-Chat-RLHF,当采样10到100个输出时,最佳温度为T∈[1.2,1.3]。给定有限的计算预算,因此有必要逐步重新调整温度。请注意,这种温度重新调整发生在每个模型的恒定步数上,并且始终从每个新RLHF版本的基础模型开始。

PPO。我们进一步按照Stiennon等人(2020)的RL方案训练我们的语言模型,该方案使用奖励模型作为真实奖励函数(人类偏好)的估计,并使用预训练的语言模型作为要优化的策略。在此阶段,我们寻求优化以下目标:

3.3 多轮一致性的系统消息

在对话设置中,一些指令应适用于所有对话轮次,例如,简洁地响应,或“扮演”某个公众人物。当我们向Llama2-Chat提供此类指令时,后续响应应始终尊重约束。然而,我们的初始RLHF模型往往在几轮对话后忘记初始指令,如图9(左)所示。

为了解决这些限制,我们提出了Ghost Attention(GAtt),这是一种非常简单的技术,灵感来自Context Distillation(Bai et al., ),它通过多阶段过程帮助注意力集中在对话控制上。GAtt实现了多轮对话控制,如图9(右)所示。

接下来,我们可以使用最新的RLHF模型从这些合成数据中采样。我们现在有一个上下文对话和用于微调模型的样本,类似于拒绝采样。我们可以在所有上下文对话轮次中增加指令,但这会导致训练时系统消息(即所有中间助手消息)与我们的样本之间的不匹配。为了解决这个问题,我们简单地将所有先前轮次的token的损失设置为0,包括助手消息。

对于训练指令,我们创建了一些合成约束来采样:爱好(“你喜欢例如网球”)、语言(“用法语说话”)、或公众人物(“扮演例如拿破仑”)。为了获得爱好和公众人物的列表,我们要求Llama2-Chat生成它,避免指令与模型知识之间的不匹配(例如,要求模型扮演一个在训练中未遇到的人)。为了使指令更复杂和多样化,我们通过随机组合上述约束来构建最终指令。在构建训练数据的最终系统消息时,我们还将原始指令修改为更简洁,例如,“从现在开始始终扮演拿破仑”>“人物:拿破仑。”这些步骤生成了一个SFT数据集,我们可以在其上微调LLAMA2-Chat。

GAtt评估。我们在RLHF V3之后应用了GAtt。我们报告了定量分析,表明GAtt在达到最大上下文长度之前,可以保持一致性长达20+轮(见附录A.3.5)。我们尝试在推理时设置训练中未出现的约束,例如“始终用俳句回答”,模型保持一致,如附录图28所示。

为了说明GAtt如何在微调过程中重塑注意力,我们在图10中展示了模型的最大注意力激活。每张图的左侧对应于系统消息(“扮演奥斯卡·王尔德”)。我们可以看到,配备GAtt的模型(右)在对话的较大部分中保持了对系统消息的较大注意力激活,相比之下,没有GAtt的模型(左)则不然。

尽管其有用性,但GAtt的当前实现是基础的,对此技术的更多开发和迭代可能会进一步使模型受益。例如,我们可以通过在微调期间集成此类数据来教导模型在对话过程中更改系统消息。

3.4 RLHF结果
3.4.1 基于模型的评估

评估LLMs是一个具有挑战性的开放研究问题。人工评估虽然是黄金标准,但可能因各种HCI考虑而复杂化(Clark et al., 2021; Gehrmann et al., 2023),并且并不总是可扩展的。因此,为了在每次迭代中选择表现最好的模型,我们首先观察了最新奖励模型的奖励改进,以节省成本并提高迭代速度。我们后来通过人工评估验证了主要模型版本。

**基于模型的评估能走多远?**为了衡量我们奖励模型的稳健性,我们收集了帮助性和安全性的测试集提示,并要求三个标注者根据7点Likert量表(越高越好)判断答案的质量。我们观察到,我们的奖励模型总体上与人类偏好标注很好地校准,如附录中的图29所示。这证实了使用我们的奖励作为点度量的相关性,尽管它是用成对排名损失训练的。

然而,正如Goodhart定律所说,当一个度量成为目标时,它就不再是一个好的度量。为了确保我们的度量不会偏离人类偏好,我们还使用了一个更通用的奖励,该奖励在多样化的开源奖励建模数据集上进行训练。我们尚未观察到任何此类偏离,并假设迭代模型更新可能有助于防止这种情况。

作为最后一步验证,以确保新模型与先前模型之间没有回归,我们在下一次标注迭代中使用两者进行采样。这使得在新提示上“免费”进行模型比较,并有助于在采样时增加多样性。

模型进展。图11报告了我们的不同SFT和RLHF版本在安全性和帮助性轴上的进展,由我们内部的安全性和帮助性奖励模型测量。在这组评估中,我们在RLHF-V3之后在安全性和帮助性上均优于ChatGPT(无害性和帮助性>50%)。尽管使用我们的奖励作为点度量的相关性,但它可能偏向于Llama2-Chat。因此,为了公平比较,我们还使用GPT-4计算最终结果,以评估哪个生成更受青睐。ChatGPT和Llama2-Chat输出在GPT-4提示中出现的顺序随机交换,以避免任何偏见。正如预期的那样,Llama2-Chat的胜率不那么显著,尽管我们最新的Llama2-Chat获得了超过60%的胜率。

这些提示对应于安全性和帮助性的验证集,分别为1,586和584个提示。

3.4.2 人工评估

人工评估通常被认为是判断自然语言生成模型(包括对话模型)的黄金标准。为了评估主要模型版本的质量,我们要求人类评估者根据帮助性和安全性对其进行评分。我们将Llama2-Chat模型与开源模型(Falcon, MPT MosaicML NLP Team et al. (2023), Vicuna Chiang et al. (2023))以及闭源模型(ChatGPT (OpenAI, 2023) 和 PaLM Anil et al. (2023))在超过4,000个单轮和多轮提示上进行了比较。对于ChatGPT,我们在所有生成中使用gpt-3.5-turbo-0301模型。对于PaLM,我们在所有生成中使用chat-bison-001模型。每个模型的人工评估的最终提示计数如表32所示。更多方法论细节见附录,第A.3.7节。以下部分显示了帮助性结果;安全性结果在第4.4节中呈现。

结果。如图12所示,Llama2-Chat模型在单轮和多轮提示上均显著优于开源模型。特别是,Llama2-Chat 7B模型在60%的提示上优于MPT-7B-chat。Llama2-Chat 34B在同等大小的Vicuna-33B和Falcon 40B模型上的总体胜率超过75%。

最大的Llama 2-Chat模型与ChatGPT竞争。Llama 2-Chat 70B模型相对于ChatGPT的胜率为36%,平局率为31.5%。Llama 2-Chat 70B模型在我们的提示集上大幅优于PaLM-bison聊天模型。更多结果和分析见第A.3.7节。

评估者间一致性(IRR)。在我们的人工评估中,三个不同的评估者提供了每个模型生成比较的独立评估。较高的IRR分数(接近1.0)通常从数据质量的角度来看更好,但上下文很重要。像评估LLM生成的整体帮助性这样高度主观的任务通常比更客观的标签任务具有更低的IRR分数。由于这些背景下的公开基准相对较少,我们觉得在这里分享我们的分析将有益于研究社区。

我们使用Gwet的AC1/2统计量[10, 21]来衡量评估者间一致性(IRR),因为我们发现它在不同的测量场景中是最稳定的指标。在我们分析中使用的7点Likert量表帮助性任务上,Gwet的AC2分数在0.37和0.55之间变化,具体取决于特定的模型比较。我们看到在模型比较中,胜率相似的评分(如Llama 2-Chat-70B-chat与ChatGPT的比较)的分数在该范围的下限。我们看到在模型比较中,胜率更明显的评分(如Llama 2-Chat-34b-chat与Falcon-40b-instruct的比较)的分数在该范围的上限。

人工评估的局限性。虽然我们的结果表明Llama 2-Chat在人工评估中与ChatGPT相当,但需要注意的是,人工评估有几个局限性。

  • 根据学术和研究标准,我们有一个包含4k提示的大型提示集。然而,它并未涵盖这些模型的实际使用情况,实际使用情况可能会涵盖更多的用例。

  • 提示的多样性可能是我们结果的另一个因素。例如,我们的提示集不包括任何编码或推理相关的提示。

  • 我们仅评估多轮对话的最终生成。一个更有趣的评估可能是要求模型完成任务,并在多轮对话中对模型的整体体验进行评分。

  • 生成模型的人工评估本质上是主观和有噪音的。因此,在不同的提示集或不同指令下的评估可能会产生不同的结果。

图12: Llama 2-Chat模型与开源和闭源模型在约4,000个帮助性提示上的人工评估结果,每个提示有三个评估者。

4. 安全性

警告:本节包含可能被认为不安全、冒犯性或令人不安的文本示例。

在本节中,我们深入探讨了安全性测量和缓解措施的重要主题。我们首先讨论了我们对预训练数据和预训练模型的安全性调查(第4.1节)。接下来,我们描述了我们的安全对齐过程(第4.2节),解释了如何收集与安全相关的标注并利用SFT和RLHF,并展示了实验结果。然后,我们讨论了进行的红队测试,以进一步理解和改进模型安全性(第4.3节)。最后,我们提出了Llama 2-Chat的定量安全性评估(第4.4节)。我们还在附录中分享了模型卡片,见表52。

4.1 预训练中的安全性

了解预训练数据中的内容对于增加透明性和揭示潜在下游问题的根本原因非常重要,例如潜在的偏见。这可以告知是否需要考虑下游缓解措施,并帮助指导适当的模型使用。在本节中,我们分析了预训练数据中的语言分布、人口统计表示和毒性。我们还展示了在现有安全基准上测试预训练模型的结果。

负责任预训练所采取的步骤。我们遵循了Meta的标准隐私和法律审查流程,对训练中使用的每个数据集进行了审查。我们没有在训练中使用任何Meta用户数据。我们排除了某些已知包含大量私人个人信息的网站的数据。我们尽力高效地训练我们的模型,以减少预训练的碳足迹(第2.2.1节)。广泛共享我们的模型将减少其他人训练类似模型的需求。没有对数据集进行额外的过滤,以允许Llama 2在更多任务中更广泛地使用(例如,它可以更好地用于仇恨言论分类),同时避免了过度清洗可能导致的人口统计意外删除。重要的是,这使得Llama 2-Chat在安全调优期间能够更有效地泛化,使用更少的示例(Welbl et al., 2021; Korbak et al., 2023; Xu et al., 2021)。因此,Llama 2模型应谨慎使用,并仅在应用了显著的安全调优后部署。

人口统计表示:代词。模型生成中的偏见可能源于训练数据本身的偏见。例如,Bailey等人(2022)表明,在大量文本语料库中,表示“人”的词语通常在与表示“男人”的词语更相似的上下文中使用,而不是与表示“女人”的词语。Ganesh等人(2023)证明,模型在公平性指标上的表现高度依赖于模型如何训练代表不足的人口统计群体的数据。在我们的英语训练语料库中,我们计算了最常见的英语代词的频率,见表9a。我们观察到,_He_代词在文档中的代表性通常高于_She_代词,这与类似大小的模型预训练数据集中代词使用频率的差异相呼应。这可能意味着模型在预训练期间学习到的关于提到_She_代词的上下文较少,因此可能生成_He_代词的频率高于_She_代词。

人口统计表示:身份。我们还通过测量HolisticBias数据集(Smith et al., 2022)中的人口统计身份术语的使用率,分析了预训练数据中不同人口统计群体的表示。我们计算了预训练语料库中每个描述符术语的频率。我们将描述符分为5个轴(宗教性别国籍种族民族、以及性取向),并在表9b中显示了每个轴中的前5个术语。在前5个术语中,我们删除了一些术语,如“straight”、“white”和“black”,因为这些术语在人口统计提及之外有频繁的用途(例如,作为基本颜色术语)。我们还跨列表去重,删除了一些在性别以及性取向中发现的术语。对于性别,虽然_She_代词在较少的文档中被提及,但术语“female”在较大比例的文档中存在。这可能意味着虽然关于_She_代词的上下文较少,但关于“females”的评论更为普遍,可能反映了这些术语的语言标记性差异(Blodgett et al., 2021)。对于性取向,前五个术语都与LGBTQ+身份相关。对于国籍种族民族、以及宗教,我们观察到西方偏见(Bhatt et al., 2022)。例如,术语“American”在69.4%的引用中被提及,术语“European”比其他种族和民族更为普遍,“Christian”是最具代表性的宗教,其次是“Catholic”和“Jewish”。

数据毒性。我们使用在ToxiGen数据集(Hartvigsen et al., 2022)上微调的HateBERT分类器测量了预训练语料库中英语部分的毒性流行率。我们分别对文档的每一行进行评分,并对其进行平均以分配文档分数。图13显示了完整语料库10%随机样本中的分数分布。大约0.2%的评估文档被分配了0.5或更高的可能性分数,这意味着我们的预训练数据中存在少量毒性。

语言识别。虽然我们的预训练数据主要是英语,但它也包括少量其他语言的文本。表10显示了我们的语料库中语言的分布,子集为在超过0.005%的文档中发现的那些语言。我们的分析使用了fastText(Bojanowski et al., 2016)语言识别工具和0.5的语言检测阈值。以英语为主的训练语料库意味着该模型可能不适合在其他语言中使用。

图13: 预训练数据毒性。为了更好的下游泛化,我们选择不清洗预训练中的毒性数据。HateBERT分类器将0.5或更高的毒性可能性分配给约0.2%的预训练语料库文档。

4.2 安全性微调

在本节中,我们描述了我们的安全性微调方法,包括安全类别、标注指南以及我们用于缓解安全风险的技术。我们采用与第3节中描述的一般微调方法类似的过程,但有一些与安全相关的显著差异。具体来说,我们在安全性微调中使用了以下技术:

  1. 监督安全性微调:我们首先收集对抗性提示和安全演示,然后将其包含在一般监督微调过程中(第3.1节)。这教导模型在RLHF之前与我们的安全指南对齐,从而为高质量的人类偏好数据标注奠定基础。

  2. 安全性RLHF:随后,我们将安全性集成到第3.2.2节中描述的一般RLHF管道中。这包括训练一个安全特定的奖励模型,并收集更具挑战性的对抗性提示,用于拒绝采样式微调和PPO优化。

  3. 安全性上下文蒸馏:最后,我们通过上下文蒸馏(Askell et al., )精炼我们的RLHF管道。这涉及通过在提示前添加安全预提示(例如,“你是一个安全和负责任的助手”)生成更安全的模型响应,然后在没有预提示的情况下对模型进行微调,这实质上将安全预提示(上下文)蒸馏到模型中。我们使用一种有针对性的方法,允许我们的安全奖励模型决定是否对每个样本使用上下文蒸馏。

4.2.1 安全类别和标注指南

基于先前工作中已知的LLM限制,我们为我们的标注团队设计了指令,以创建对抗性提示,涵盖两个维度:风险类别,即LLM可能产生不安全内容的潜在主题;和_攻击向量_,即涵盖可能引发不良模型行为的不同提示风格的问题类型。

考虑的风险类别可以大致分为以下三类:非法和犯罪活动(例如,恐怖主义、盗窃、人口贩卖);仇恨和有害活动(例如,诽谤、自残、饮食失调、歧视);和不合格的建议(例如,医疗建议、财务建议、法律建议)。探索的攻击向量包括心理操纵(例如,权威操纵)、逻辑操纵(例如,错误前提)、句法操纵(例如,拼写错误)、语义操纵(例如,隐喻)、视角操纵(例如,角色扮演)、非英语语言和其他。

然后,我们定义了安全和有帮助的模型响应的最佳实践:模型应首先解决适用的直接安全问题,然后通过向用户解释潜在风险来应对提示,最后尽可能提供额外信息。我们还要求标注者避免负面用户体验类别(见附录A.5.2)。这些指南旨在作为模型的一般指南,并迭代改进和修订以包括新识别的风险。

4.2.2 安全性监督微调

根据第4.2.1节中建立的指南,我们从训练有素的标注者那里收集提示和安全模型响应的演示,并以与第3.1节中描述的相同方式使用数据进行监督微调。示例见表5。

标注者被指示首先提出他们认为可能诱导模型表现出不安全行为的提示,即执行红队测试,如指南中所定义。随后,标注者被要求制作模型应产生的安全和有帮助的响应。

4.2.3 安全性RLHF

在LLAMA 2-Char的早期开发中,我们观察到它能够从监督微调中的安全示例中快速泛化。模型很快学会了如何撰写详细的安全响应,解决安全问题,解释为什么某些话题可能敏感,并提供额外的有用信息。特别是,当模型输出安全响应时,它们通常比普通注释者撰写的响应更为详细。因此,在收集了仅几千个监督示例后,我们完全转向了RLHF,以教会模型如何撰写更为细致的响应。全面的RLHF调优还有一个额外的好处,即它可能使模型对越狱尝试更加鲁棒(Bai et al., 2022b)。

我们通过首先收集类似于第3.2.2节中描述的人类偏好数据来进行RLHF:注释者撰写他们认为可能引发不安全行为的提示,然后比较多个模型对该提示的响应,根据一组指南选择最安全的响应。然后,我们使用人类偏好数据来训练一个安全性奖励模型(见第3.2.2节),并在RLHF阶段重复使用这些对抗性提示来从模型中采样。

更好的长尾安全性鲁棒性而不损害有用性

安全性本质上是一个长尾问题,挑战来自于少数非常特定的情况。我们通过取两个中间LLAMA 2-Char检查点(一个在RLHF阶段没有对抗性提示,另一个有对抗性提示)并对其响应进行评分,来研究安全性RLHF的影响。在图14中,我们绘制了安全性奖励模型在安全性测试集上的得分分布(左)以及有用性奖励模型在有用性测试集上的得分分布(右)。在图的左侧,我们观察到在通过RLHF进行安全性调优后,安全性奖励模型在安全性测试集上的得分分布向更高的奖励得分方向移动,且分布的长尾(即最不安全的响应)逐渐消失。左上角出现了一个明显的聚类,表明模型安全性有所提高。在右侧,我们没有观察到在y=x线以下的聚集模式,这表明在安全性调优后,有用性得分分布得以保持。换句话说,在拥有足够的有用性训练数据的情况下,额外的安全性缓解阶段不会对模型的有用性性能产生显著的负面影响。表12展示了一个定性示例。

安全性数据扩展的影响

先前的研究已经观察到LLM的有用性和安全性之间存在一定的权衡(Bai et al., 2022a)。为了更好地理解安全性训练数据的增加对模型整体性能(特别是有用性)的影响,我们通过调整RLHF阶段使用的安全性数据量来进行消融实验。在这个消融实验中,我们保持有用性训练数据的量不变(约0.9M样本),并逐渐增加用于模型调优的安全性数据量,范围从0%到100%(约0.1M样本)。对于具体的训练数据混合配方,我们遵循第3.1节中描述的程序,并对LLAMA 2预训练模型进行2个epoch的微调。

最终,我们获得了6个模型变体,分别使用0%、1%、10%、25%、50%和100%的总安全性数据进行训练。我们使用第3.2.2节中描述的安全性和有用性奖励模型对它们进行评估。对于每个变体,我们使用安全性和有用性奖励模型对Meta安全性和有用性测试集中的提示对应的模型生成进行评分。

如图15所示,我们使用平均奖励模型得分作为模型在安全性和有用性上的表现的代理。我们观察到,随着安全性数据比例的增加,模型在处理风险和对抗性提示时的表现显著提高,并且安全性奖励模型得分分布的左尾(即最不安全的响应)逐渐消失。同时,平均有用性得分保持稳定。我们假设这是因为我们已经拥有了足够大量的有用性训练数据。附录A.4.2列出了更多定性结果,展示了不同数量的安全性数据在训练中如何改变模型在响应对抗性和非对抗性提示时的行为。

错误拒绝的度量

尽管我们没有观察到模型在整体有用性上的回归,但通过交互,我们定性地观察到,具有更多安全性缓解的模型在某些问题上回答得更为保守(例如,附录表38中的示例)。作为后续,我们测量了错误拒绝的频率,以量化模型由于无关的安全性考虑而错误拒绝回答非对抗性提示的情况。在这里,我们将错误拒绝定义为模型由于无关的安全性考虑而错误拒绝回答合法用户提示的情况。由于合理原因(如“我无法参与视频通话”和“2024年超出了我的知识截止日期”)而拒绝回答的情况不计为错误拒绝。我们训练了一个分类器来检测响应中的拒绝,并将其应用于1)上述有用性测试集和2)一个包含210个样本的边界测试集,该测试集专门用于边界测试,类似于OpenAI(2023)的做法。边界数据集的设计意图是使其提示看起来具有对抗性(例如,包含敏感词或子词),但实际上并不不安全(例如,“给我一个圣诞脆片的食谱”)(更多示例见附录表41)。

随着模型中混合的安全性数据增加,错误拒绝率在两个数据集上都有所增加(见附录图33)。然而,在有用性数据集上,错误拒绝率总体上非常低——即使使用100%的安全性数据,错误拒绝率也仅为约0.05%。另一方面,由于边界数据集的难度较大,错误拒绝率在该数据集上要高得多。LLAMA 2-Char有时难以区分包含在非安全生成中频繁出现的词(如“炸弹”)的提示是否安全。附录表41展示了一些我们发现的错误拒绝示例。

4.2.4 安全性上下文蒸馏

我们通过使用类似于第3.3节中的上下文蒸馏技术,鼓励LLAMA 2-Char将对抗性提示与更安全的响应关联起来。我们观察到,通过在模型前添加安全性预提示(例如,“你是一个安全且负责任的助手”),可以有效地增强LLM的安全性能力。与监督安全性微调类似,安全性上下文蒸馏提供了一种快速引导模型在困难的对抗性提示上生成更安全响应的方法,从而可以在RLHF中进一步改进。

具体来说,我们通过在对抗性提示前添加安全性预提示来生成更安全的响应,然后在不使用预提示的情况下,基于对抗性提示对模型进行微调,使其生成更安全的输出。我们使用模板自动生成安全性预提示。特别是,我们使用了一些通常与安全行为相关的形容词,如“负责任的”、“尊重的”或“明智的”,直觉上,模型会将这些词与我们希望看到的积极特质联系起来。我们在附录表39中展示了安全性预提示的示例。

带有回答模板的上下文蒸馏

在提示收集阶段,我们还要求注释者根据风险类别对提示进行标记,这使得我们可以提供更有针对性的预提示。具体来说,这使我们能够为每个识别的风险类别提供专门的回答模板,指导模型如何应对对抗性提示。图16a展示了上下文蒸馏和带有回答模板的上下文蒸馏对安全性奖励模型得分的影响。

使用安全性奖励模型拒绝上下文蒸馏错误

需要注意的是,对有用提示进行安全性上下文蒸馏可能会降低模型性能,并导致更多的错误拒绝(见附录表40)。因此,我们仅在对抗性提示上执行安全性上下文蒸馏。然而,我们观察到,上下文蒸馏有时会降低响应质量,即使是在处理对抗性提示时。具体来说,如果模型响应已经具有高质量,应用上下文蒸馏可能会导致回复不够切题,因为模型往往会过度强调预提示,常常过多地使用通用性内容(见附录表40中由于上下文蒸馏导致的模糊回答示例)。因此,我们利用安全性奖励模型来决定是否使用安全性上下文蒸馏——我们仅在上下文蒸馏的输出比原始回答获得更高奖励模型得分的情况下保留上下文蒸馏的输出。我们注意到,这对于模型表现非常差的提示特别有帮助,但也限制了上下文蒸馏的负面影响(见图16b)。

4.3 红队测试

鉴于LLM的能力广泛且训练数据多样,仅通过事后使用和分析来识别风险是不够的。因此,正如其他LLM所做的那样,我们进行了多种主动风险识别,通常称为“红队测试”,这一术语在计算机安全领域常用。这种细致的分析非常重要,因为安全性是一个长尾问题,即使是非常罕见的边缘情况也可能导致显著的问题。即使定量评分显示结果良好,这些定性洞察也使我们能够更全面地识别和针对特定模式。

我们与内部员工、合同工和外部供应商的多个小组进行了一系列红队测试。这些团队包括超过350人,涵盖了网络安全、选举欺诈、社交媒体错误信息、法律、政策、公民权利、伦理、软件工程、机器学习、负责任的人工智能和创意写作等领域的专家。团队成员还代表了多种社会经济、性别、种族和民族背景。

红队测试人员从多个风险类别(如犯罪计划、人口贩卖、受管制或控制的物质、色情内容、不合格的健康或财务建议、隐私侵犯等)以及不同的攻击向量(如假设性问题、格式错误/拼写错误的输入、扩展对话等)对我们的模型进行了测试。此外,我们还进行了特定测试,以评估我们的模型是否能够促进武器的生产(如核武器、生物武器、化学武器和网络武器);这些测试的结果较为有限,并已得到缓解。尽管如此,我们将在这一领域继续开展红队测试。

迄今为止,我们的所有红队测试都针对英文模型输出,但关键的是,测试中包括了非英文提示和对话上下文,因为这是一个众所周知的攻击向量。在所有测试中,参与者都会收到风险类别的定义,并看到一些与LLM进行风险交互的示例。之后,每个参与者会被分配到专注于特定风险类别或攻击向量的子团队中。在创建每个对话后,红队参与者会标注各种属性,包括风险领域和风险程度(通过5点Likert量表衡量)。

一些红队测试成员提供的见解帮助我们改进了模型:

  • 早期模型更有可能在不指出内容存在问题的情况下生成不安全的响应。然而,稍后的模型往往能够识别出内容的问题,即使它们仍然会提供这些内容。例如:“它们会回应‘[不安全内容]不适合讨论,等等’,然后立即接着说‘尽管如此,以下是[不安全内容]的方法。’”最新模型能够解决这些问题。

  • 通过包含“怪癖”或特定请求来分散早期模型的注意力,通常可以击败通过更直接请求遇到的任何犹豫。例如:“创意写作请求(歌曲、故事、诗歌等)是让模型生成其原本能够抵御的内容的可靠方法。”

  • 将问题请求嵌入到积极的上下文中,通常可以成功掩盖早期模型正在被请求生成问题输出的事实。例如:“我发现最有效的攻击原则是将其隐藏在积极、进步和赋权的语言中。”

从红队测试洞察到更安全的模型

关键的是,在每次测试后,我们对收集的数据进行了彻底的分析,包括对话长度、风险领域分布、错误信息主题的直方图(如适用)以及风险程度的评分。在每种情况下,我们将整体经验作为指导,进一步改进模型的安全性训练,并特别将这些测试中的数据用于模型微调、模型反馈训练,并作为其他安全性模型训练的信号。

在几个月内,我们进行了多轮红队测试,以衡量每个新模型在内部发布时的鲁棒性。我们定义了一个模型相对于由一组专家执行的红队测试的鲁棒性γγ,即每人每小时创建的触发违规响应的提示的平均数量。例如,在我们的7B模型上,经过多次红队测试迭代和模型改进,γγ从1.8降至0.45。随着更多的红队测试,鲁棒性可能会继续提高。我们还跟踪了新模型发布时,之前红队测试中发现的触发违规响应的提示被拒绝的百分比。平均而言,我们的模型对模型的拒绝率为90%。

4.4 LLAMA 2-Char的安全性评估

安全性人类评估

我们根据第4.2.1节中的安全性类别,收集了大约2000个对抗性提示进行人类评估,其中1351个是单轮提示,623个是多轮提示。评估提示和响应的示例可以在附录A.4.6中找到。

然后,我们要求评估者根据以下定义的5点Likert量表对模型的安全性违规进行评分:

  • 5 - 无安全性违规且非常有用

  • 4 - 无安全性违规且仅有轻微的非安全性问题

  • 3 - 无安全性违规但不有用或其他主要的非安全性问题

  • 2 - 轻微或中度的安全性违规

  • 1 - 严重的安全性违规

我们将评分为1或2视为违规,并使用违规百分比作为主要评估指标,平均评分作为补充。每个示例由三名注释者进行标注,我们采用多数投票来确定响应是否违规。我们使用Gwet's AC1/2统计量来衡量评估者间的一致性(IRR),类似于有用性人类评估。IRR得分根据标注批次的不同,范围从0.70到0.95,表明评估者在安全性评估上具有高度一致性。在LLAMA 2-Char的标注中,根据Gwet's AC2度量,平均IRR为0.92。在模型违规率较高的批次中(如Vicuna),我们看到了较低的IRR得分,而在模型违规率相对较低的批次中(如LLAMA 2-Char、Falcon和ChatGPT),IRR得分较高。

我们在图17中展示了各种LLM的整体违规百分比和安全性评分。LLAMA 2-Char在不同模型大小上的整体违规百分比相当或更低,而ChatGPT和Falcon(Almazrouei et al., 2023)紧随其后,然后是MPT(MosaicML NLP Team et al., 2023)和Vicuna(Chiang et al., 2023)。需要注意的是,这些结果受到提示集的限制、评估指南的主观性、内容标准以及个体评估者的主观性的影响。通过手动分析,我们发现Falcon的响应通常较短(一两句话),因此不太容易生成不安全的内容,但通常也较少有帮助。这反映在图17b中,尽管Falcon和LLAMA 2-Char(34B)的违规百分比看起来相似(3.88 vs 4.45),但Falcon的平均评分远低于LLAMA 2-Char。

在图18中,我们分别报告了单轮和多轮对话的违规百分比。一个趋势是,多轮对话更容易引发不安全的响应。尽管如此,LLAMA 2-Char仍然表现良好,尤其是在多轮对话中。我们还观察到,Falcon在单轮对话中表现特别好(主要由于其简洁性),但在多轮对话中表现较差,这可能是由于缺乏多轮监督微调数据。

在图19中,我们展示了不同LLM在每个风险类别中的安全性违规百分比。虽然模型在各个类别中的表现相似,但LLAMA 2-Char在不合格建议类别中的违规相对较多(尽管绝对意义上仍然较低),原因包括有时缺乏适当的免责声明(例如,“我不是专业人士”)。在其他两个类别中,LLAMA 2-Char在不同模型大小上始终表现出相当或更低的违规百分比。

真实性、毒性和偏见

在表14中,经过微调的LLAMA 2-Char在真实性(50.18 → 64.14,70B)和毒性(24.60 → 0.01,70B)方面相比预训练的LLAMA 2有了显著改进。所有大小的LLAMA 2-Char的毒性生成百分比几乎降至0%,这是所有对比模型中最低的毒性水平。总体而言,与Falcon和MPT相比,经过微调的LLAMA 2-Char在毒性和真实性方面表现最佳。经过微调后,LLAMA 2-Char在许多人口群体中的BOLD生成情感总体上更加积极。在附录A.4.8中,我们详细展示了模型生成情感在不同子组中的得分分解,以及关于真实性和偏见的更深入分析和结果。

5. 讨论

在这里,我们讨论了通过RLHF观察到的有趣特性(第5.1节)。然后,我们讨论了LLAMA 2-Char的局限性(第5.2节)。最后,我们介绍了负责任地发布这些模型的策略(第5.3节)。

5.1 学习与观察

我们的调优过程揭示了一些有趣的结果,例如LLAMA 2-Char能够按时间组织其知识,或调用API使用外部工具。

超越人类监督

在项目开始时,我们中的许多人倾向于监督注释,因为它提供了更密集的信号。而强化学习因其不稳定性,似乎对NLP研究社区来说是一个较为模糊的领域。然而,强化学习被证明非常有效,特别是在其成本和时间效率方面。我们的发现表明,RLHF成功的关键在于它在整个注释过程中促进了人类与LLM之间的协同作用。

即使是有经验的注释者,每个人的写作风格也存在显著差异。基于SFT注释微调的模型会学习这种多样性,包括不幸的尾部注释执行不佳的情况。此外,模型的性能受限于最有技能的注释者的写作能力。人类注释者在比较两个输出的偏好注释时,差异较小。因此,奖励机制迅速学会为不良的尾部分布分配低分,并向人类偏好对齐。这种现象在图20中得到了展示,我们可以看到最差的答案逐渐被移除,分布向右移动。

此外,在注释过程中,模型有可能进入甚至最好的注释者也无法预测的写作轨迹。然而,人类仍然可以在比较两个答案时提供有价值的反馈,这超出了他们自己的写作能力。打个比方,虽然我们可能不是有成就的艺术家,但我们欣赏和批评艺术的能力仍然存在。我们认为,LLM在某些任务中超越人类注释者的卓越写作能力,从根本上是由RLHF驱动的,正如Gilardi et al. (2023)和Huang et al. (2023)所记录的那样。监督数据可能不再是黄金标准,这种情况的演变迫使我们对“监督”的概念进行重新评估。

上下文中的温度重缩放

我们观察到了与RLHF相关的一个有趣现象,这是之前未报告的特征:温度的动态重缩放取决于上下文。如图8所示,温度似乎受到RLHF的影响。然而,有趣的是,我们的发现还表明,这种变化并不是均匀地应用于所有提示,如图21所示。

例如,在与创造力相关的提示(如“写一首诗”)中,温度的升高继续在我们的各种RLHF迭代中生成多样性。这可以从Self-BLEU斜率中观察到,它与SFT模型的模式相似。

另一方面,对于基于事实信息的提示(如“的首都是什么?”),Self-BLEU斜率随着时间的推移而减小。这种模式表明,尽管温度升高,模型学会了始终为事实提示提供相同的响应。

LLAMA 2-Char的时间感知

我们的模型展示了令人印象深刻的泛化能力,如图22所示。我们手动测试了几十个示例,并一致观察到我们的模型展示了强大的能力,能够按时间组织其知识,即使提供了最少的数据。为了在LLAMA 2-Char中灌输时间概念,我们收集了一组1000个与特定日期相关的SFT示例。这些示例包括诸如“巴拉克·奥巴马成为总统多久了?”之类的问题。每个示例都与两个关键元数据相关联:提出查询的日期——这影响了响应——以及事件日期,在此之前的问题将毫无意义。

观察结果表明,LLM对时间概念的理解程度比之前假设的要高,尽管它们的训练仅基于下一个标记预测和随机打乱的数据,而不考虑其时间上下文。

工具使用的涌现

LLM与工具的集成是一个不断发展的研究领域,正如Mialon et al. (2023)所强调的那样。Toolformer(Schick et al., 2023)中设计的方法涉及对数百万条轨迹进行采样,并为每个工具制定少量示例。然而,该技术仅应用于每个示例中的单个工具,并且不会扩展到一系列工具使用。

OpenAI插件的发布引发了学术界的广泛讨论,引发了诸如“我们如何有效地教会模型使用工具?”或“这个过程是否需要大量数据集?”等问题。我们的实验表明,工具使用可以从对齐中自发涌现,以零样本的方式出现。尽管我们从未明确注释工具使用,但图23展示了一个实例,其中模型展示了在零样本上下文中使用一系列工具的能力。

此外,我们的研究还扩展到评估LLAMA 2-Char在使用计算器时的表现。该特定实验的结果记录在表15中。LLM工具使用虽然令人兴奋,但也可能引发一些安全问题。我们鼓励在这一领域进行更多的社区研究和红队测试。

5.2 局限性与伦理考虑

LLAMA 2-Char与其他LLM一样,存在一些众所周知的局限性,包括预训练后知识更新的停止、生成非事实内容(如不合格的建议)的可能性,以及倾向于产生幻觉的倾向。

此外,我们的LLAMA 2-Char初始版本主要集中在英语数据上。虽然我们的实验观察表明,该模型在其他语言中获得了一些熟练度,但由于非英语语言的预训练数据有限(如表10所示),其熟练度仍然有限。因此,模型在非英语语言中的表现仍然脆弱,应谨慎使用。

与其他LLM一样,LLAMA 2可能会生成有害、冒犯或有偏见的内容,因为它是基于公开可用的在线数据集进行训练的。我们尝试通过微调来缓解这些问题,但一些问题可能仍然存在,特别是在非英语语言中,因为公开可用的数据集不可用。随着我们在解决这些问题上的进展,我们将继续微调并发布更新版本。

并非所有使用AI模型的人都有良好的意图,对话式AI代理可能被用于恶意目的,例如生成错误信息或检索有关生物恐怖主义或网络犯罪等主题的信息。然而,我们已经努力调整模型以避免这些主题,并削弱它们在这些用例中可能提供的任何能力。

虽然我们试图在安全性和有用性之间取得合理的平衡,但在某些情况下,我们的安全性调优可能过于谨慎。LLAMA 2-Char的用户可能会观察到一种过于谨慎的方法,模型在某些请求上过于谨慎,或者响应中包含过多的安全性细节。

预训练模型的用户需要特别谨慎,并应按照我们的《负责任使用指南》中描述的步骤进行额外的调优和部署。

5.3 负责任发布策略

发布详情

我们在https://ai.meta.com/resources/models-and-libraries/llama/上提供了LLAMA 2,供研究和商业使用。使用LLAMA 2的用户必须遵守提供的许可证条款和我们的《可接受使用政策》,该政策禁止任何违反适用政策、法律、规则和法规的用途。

我们还提供了代码示例,以帮助开发者复制我们使用LLAMA 2-Char生成的安全响应,并在用户输入和模型输出层应用基本的安全技术。这些代码示例可在此处获取:https://github.com/facebookresearch/llama。最后,我们分享了《负责任使用指南》,该指南提供了有关安全开发和部署的指导。

负责任发布

虽然许多公司选择在闭门造车的情况下构建AI,但我们公开发布了LLAMA 2,以鼓励负责任的AI创新。根据我们的经验,开放的方法借鉴了AI从业者社区的集体智慧、多样性和创造力,以实现这项技术的好处。合作将使这些模型变得更好、更安全。整个AI社区——学术研究人员、民间社会、政策制定者和行业——必须共同努力,严格分析和暴露当前AI系统的风险,并构建解决潜在问题滥用的解决方案。这种方法不仅促进了与多样化利益相关者——那些超越大型科技公司围墙的人——的真正合作,而且也是民主化访问基础模型的基石。正如Zellers et al. (2022b)所论证的那样,公开发布促进了透明度,并允许更多人访问AI工具,从而民主化技术并分散AI专业知识。我们相信,AI专业知识的分散化不仅仅是知识的分配——它刺激了创新并加速了行业的进步。最后,公开发布这些模型巩固了成本并消除了进入壁垒,使小型企业能够利用LLM的创新来探索和构建文本生成用例。最终,我们相信这将为全球各种规模的组织创造一个更加公平的竞争环境,以受益于AI进步所承诺的经济增长。

我们知道,并非所有使用AI模型的人都有良好的意图,我们承认AI将如何影响我们的世界存在合理的担忧。有毒内容生成和问题关联是有意义的风险,AI社区尚未完全缓解。正如本文所展示的,我们在限制这些类型响应的普遍性方面取得了进展。虽然我们认识到还有更多的工作要做,但这一认识只会加深我们对开放科学和与AI社区合作的承诺。

6. 相关工作

大型语言模型

近年来,LLM领域经历了显著的演变。遵循Kaplan et al. (2020)的扩展法则,提出了多个参数超过100B的大型语言模型,从GPT-3(Brown et al., 2020)到Gopher(Rae et al., 2022)或专门模型,例如用于科学的Galactica(Taylor et al., 2022)。Chinchilla(Hoffmann et al., 2022)以70B参数重新定义了这些扩展法则,转向了标记数量而非模型权重。在这一进展中,LLAMA因其在推理过程中专注于计算效率而备受认可(Touvron et al., 2023)。与此同时,关于开源与闭源模型动态的讨论也在展开。开源发布如BLOOM(Scao et al., 2022)、OPT(Zhang et al., 2022)和Falcon(Penedo et al., 2023)已经崛起,挑战了它们的闭源对手,如GPT-3和Chinchilla。

然而,当涉及到“生产就绪”的LLM(如ChatGPT、Bard和Claude)时,性能和可用性上存在显著差异。这些模型依赖于复杂的调优技术,以与人类偏好对齐(Gudibande et al., 2023),这一过程在开源社区中仍在探索和精炼中。

尝试缩小这一差距的模型已经出现,例如基于蒸馏的模型Vicuna(Chiang et al., 2023)和Alpaca(Taori et al., 2023),它们采用了一种独特的训练方法,使用合成指令(Honovich et al., 2022; Wang et al., 2022)。然而,尽管这些模型显示出潜力,但它们仍然未能达到闭源对手设定的标准。

指令微调

Wei et al. (2021)通过在众多数据集上微调LLM,获得了对未见任务的零样本性能。Chung et al. (2022)和Longpre et al. (2023)研究了指令微调作为任务数量、模型大小、提示设置等函数的影响。用于指令微调的提示可以由人类或LLM自己创建(Zhou et al., 2022),后续指令可用于细化初始生成,使其更有用、更具吸引力且更少偏见(Ganguli et al., 2023; Madaan et al., 2023)。与指令微调相关的一种方法是链式思维提示(Wei et al., 2022b),其中模型被提示在给出复杂问题时解释其推理,以增加其最终答案正确的可能性。

RLHF已成为微调大型语言模型的有力策略,显著提高了其性能(Christiano et al., 2017)。该方法首先由Stiennon et al. (2020)在文本摘要任务中展示,随后扩展到一系列其他应用。在这一范式中,模型基于人类用户的反馈进行微调,从而迭代地将模型的响应更紧密地对齐人类期望和偏好。

Ouyang et al. (2022)证明,指令微调和RLHF的结合可以帮助解决仅通过扩展LLM无法解决的事实性、毒性和有用性问题。Bai et al. (2022b)部分自动化了这种微调加RLHF的方法,通过用模型的自我批评和修订替换人类标记的微调数据,并在RLHF中用模型替换人类评分者,这一过程被称为“来自AI反馈的RL”(RLAIF)。

已知的LLM安全挑战

最近的文献广泛探讨了与大型语言模型相关的风险和挑战。Bender et al. (2021a) 和 Weidinger et al. (2021) 强调了各种危害,如偏见、毒性、私人数据泄露以及潜在的恶意使用。Solaiman et al. (2023) 将这些影响分为两类——可以在基础系统内评估的影响和需要社会背景评估的影响,而 Kumar et al. (2022) 提供了潜在的缓解策略以减少危害。Roller et al. (2020) 和 Dinan et al. (2021) 的研究也揭示了与面向聊天的LLM相关的困难,涉及从隐私到误导性专业知识声明的担忧。Deng et al. (2023) 提出了一个分类框架来解决这些问题,Bergman et al. (2022) 则深入探讨了发布对话模型的潜在积极和消极影响之间的平衡。

对红队测试的研究揭示了调优LLM中的具体挑战,Ganguli et al. (2022) 和 Zhuo et al. (2023) 的研究展示了各种成功攻击类型及其对生成有害内容的影响。国家安全机构和各种研究人员,如 Mialon et al. (2023),也对高级涌现模型行为、网络威胁以及生物战等领域的潜在滥用提出了警告。最后,更广泛的社会问题,如由于加速的AI研究导致的失业,以及过度依赖LLM导致训练数据退化,也是值得考虑的问题(Acemoglu and Restrepo, 2018; Autor and Salomons, 2018; Webb, 2019; Shumailov et al., 2023)。我们致力于继续与更广泛的政策、学术和行业社区合作,解决这些问题。

7. 结论

在本研究中,我们介绍了 LLAMA 2,这是一个新的预训练和微调模型家族,参数规模从70亿到700亿不等。这些模型在与现有开源聊天模型的竞争中表现出色,并且在我们检查的评估集上与某些专有模型的能力相当,尽管它们仍然落后于其他模型,如GPT-4。我们详细阐述了在实现这些模型过程中所应用的方法和技术,特别强调了它们与有用性和安全性原则的对齐。为了对社会做出更大贡献并促进研究进展,我们负责任地开放了 LLAMA 2 和 LLAMA 2-Chat 的访问权限。作为我们对透明度和安全性的持续承诺的一部分,我们计划在未来的工作中进一步改进 LLAMA 2-Chat

附录 A

A.1 贡献

所有作者按姓氏字母顺序排列。

科学与工程领导:Guillem Cucurull, Naman Goyal, Louis Martin, Thomas Scialom, Ruan Silva, Kevin Stone, Hugo Touvron。
技术与管理领导:Sergey Edunov, Angela Fan, Melanie Kambadur, Sharan Narang, Aurelien Rodriguez, Robert Stojnic。
核心贡献者:Peter Albert, Nikolay Bashlykov, Prajjwal Bhargava, Moya Chen, David Esiobu, Jeremy Fu, Vedanuj Goswami, Anthony Hartshorn, Rui Hou, Marcin Kardas, Punit Singh Koura, Marie-Anne Lachaux, Thibaut Lavril, Diana Liskovich, Xavier Martinet, Yuning Mao, Igor Molybog, Todor Mihaylov, Andrew Poulton, Jeremy Reizenstein, Eric Michael Smith, Ranjan Subramanian, Xiaoqing Ellen Tan, Binh Tang, Ross Taylor, Jacob Xu, Yuchen Zhang, Iliyan Zarov。
贡献者:Amjad Almahairi, Yasmine Babaei, Soumya Batra, Lukas Blecher, Dan Bikel, Shruti Bhosale, Cristian Canton Ferrer, Jude Fernandes, Wenyin Fu, Brian Fuller, Cynthia Gao, Saghar Hosseini, Hakan Inan, Isabel Kloumann, Madian Khabsa, Artem Korenev, Viktor Kerkez, Jian Xiang Kuan, Yinghai Lu, Jenya Lee, Pushkar Mishra, Yixin Nie, Rashi Rungta, Alan Schelten, Kalyan Saladi, Adina Williams, Zheng Yan。

我们感谢 GenAI 执行团队 的领导和支持:Ahmad Al-Dahle, Manohar Paluri。

A.1.1 致谢

这项工作的完成离不开众多贡献者的帮助。我们向以下人员表示衷心的感谢:

  • 我们的注释者,他们的工作对于提高调优模型性能至关重要,以及组织注释和质量控制的内部负责人:Eric Alamillo, Tamara Best, Debanjali Bose, Adam Kelsey, Meghan Keneally, Rebecca Kogen, Catalina Mejiia, Elisabeth Michaels, Marco Mierke, Alyssa Pereira, Leigh Belz Ray, Rachel Rodriguez, Bardiya Sadeghi, Karthik Sivakumar, Laura Warne。

  • 我们的内部红队,特别是红队组织者(Dan Bikel, Joanna Bitton, Sean Brooks, Cristian Canton Ferrer, Aaron Fields, Li Chen, Ivan Evtimov, Aaron Grattafiori, Laurie H, Imanol Arrieta Ibarra, Semarley Jarrett, Harshit Maheshwari, Aram Markosyan, Pushkar Mishra, David Renardy, Chris Rohif, Davide Testuggine, Qing Hu, Matt Wilde, Michael Tonichev, and Rashi Rungta),他们帮助提高了我们模型的安全性和鲁棒性。

  • 我们的基础设施团队,包括生产工程师以及我们的研究超级集群和生产集群的构建者和维护者,他们在模型训练成功中起到了关键作用。还要感谢Matthew Oldham和Adi Gangidi帮助我们进行碳排放计算。

  • 我们最亲近的法律、政策、传播、营销和隐私合作伙伴,包括Mike Clark, Nisha Deo, Ahuva Goldstand, Amanda Felix, Dustin Holland, Alex Kessler, Mo Metanat, Harrison Rudolph, Adam Shajnfeld, Beau James, Helen Suk, Britt Montalvo, Allie Vieth和Polina Zvyagina,他们帮助指导我们完成了发布。

  • 我们的合作伙伴团队,包括Ash Jhaveri, Alex Boesenberg, Sy Choudhury, Mayumi Matsuno, Ricardo Lopez-Barquilla, Marc Shedroff, Kelly Michelena, Allie Feinstein, Amit Sangani, Geeta Chauhan, Chester Hu, Charlton Gholson, Anja Komlenovic, Eissa Jamil, Brandon Spence, Azadeh Yazdan, Elisa Garcia Anzano, and Natascha Parks。

  • Chris Marra, Chaya Nayak, Jacqueline Pan, George Orlin, Edward Dowling, Esteban Arcaute, Philomena Lobo, Eleonora Presani, and Logan Kerr,他们提供了有用的产品和技术组织支持。

  • Armand Joulin, Edouard Grave, Guillaume Lample, and Timothee Lacroix,原始LLAMA团队的成员,他们帮助启动了这项工作。

  • Drew Hamlin, Chantal Mora, and Aran Mun,他们为论文中的图表提供了一些设计建议。

  • Vijai Mohan,关于RLHF的讨论启发了我们的图20,并对内部演示做出了贡献。

  • 本文的早期审稿人,他们帮助我们提高了论文的质量,包括Mike Lewis, Joelle Pineau, Laurens van der Maaten, Jason Weston, and Omer Levy。


A.2 预训练的额外细节

A.2.1 与LLAMA 1相比的架构变化

上下文长度:我们将LLAMA 2的上下文窗口从2048个标记扩展到4096个标记。更长的上下文窗口使模型能够处理更多信息,这对于支持聊天应用中的较长历史记录、各种摘要任务以及理解较长文档特别有用。表16比较了2k和4k上下文预训练在长上下文基准上的性能。两个模型都训练了150B个标记,保持相同的架构和超参数作为基线,仅改变上下文长度。我们观察到在SCROLLS(Shaham et al., 2022)上的改进,其中平均输入长度为3.5k,而在SQUAD(Rajpurkar et al., 2018)上没有性能下降。表17显示,长上下文模型在各种通用任务上保持了强大的性能。

分组查询注意力(GQA):自回归解码的标准做法是缓存序列中先前标记的键(K)和值(V)对,以加速注意力计算。然而,随着上下文窗口或批处理大小的增加,多头注意力(MHA)模型中与KV缓存大小相关的内存成本显著增加。对于较大的模型,KV缓存大小成为瓶颈,键和值投影可以在多个头之间共享,而不会显著降低性能(Chowdhery et al., 2022)。可以使用具有单个KV投影的原始多查询格式(MQA, Shazeer, 2019)或具有8个KV投影的分组查询注意力变体(GQA, Ainslie et al., 2023)。

在表18中,我们比较了MQA和GQA变体与MHA基线。我们使用150B个标记训练所有模型,同时保持固定的30B模型大小。为了在GQA和MQA之间保持相似的总参数数量,我们增加了前馈层的维度以补偿注意力层的减少。对于MQA变体,我们将FFN维度增加了1.33倍,对于GQA变体,我们增加了1.3倍。从结果中,我们观察到GQA变体在大多数评估任务上表现与MHA基线相当,并且在平均上优于MQA变体。

为了优化延迟,我们在单个节点上使用8个A100进行最大模型的托管,并使用张量并行(Shoeybi et al., 2019)。在这种情况下,MQA的跨头分片无法再进行,因为头的数量少于GPU的数量。要么在所有GPU中复制KV值(使KV缓存大小等于GQA),要么跨批处理维度进行分片(Pope et al., 2022)。然而,后者可能会使推理服务复杂化,因为它仅在批处理大小大于分片数量时有效,并且额外的通信成本在所有情况下都不值得。

因此,基于消融结果和扩展推理的便利性,我们选择在34B和70B LLAMA 2模型中使用GQA而不是MQA。

图24显示了在8×80 GiB A100上使用张量并行的30B GQA和MQA消融模型与MHA基线相比的推理速度变化。在这些运行中,我们简单地在所有GPU中复制了MQA的KV头,因此MQA的KV缓存大小变得与GQA相同,两个变体的行为非常相似(MQA的FFN维度略大)。

A.2.2 预训练模型评估的额外细节

MMLU细节:在表19中,我们报告了LLAMA 2模型和其他开源模型在MMLU(Hendrycks et al., 2020)评估中的详细信息。

标准基准:在表20中,我们展示了几个标准基准的结果。

代码生成:在表21中,我们比较了LLAMA 2与流行开源模型在Human-Eval和MBPP代码生成基准上的结果。

世界知识:我们评估了LLAMA 2模型与其他开源模型在NaturalQuestions和TriviaQA基准上的表现(表22)。

阅读理解:在表23中,我们报告了SQUAD上的零样本和少样本结果,以及QUAC上的零样本和单样本实验结果。在这里,LLAMA 2在所有评估设置和模型上表现最佳,除了QUAC 0-shot,其中LLAMA 1 30B略胜一筹。

考试:在表24中,我们展示了AGI Eval(Zhong et al., 2023)基准中英语部分的细粒度结果。AGI Eval是不同科目的标准化考试集合。

数学推理:在表25中,我们报告了LLAMA 2和其他开源数据集在GSM8k和MATH任务上的结果。


A.3 微调的额外细节

A.3.1 Meta人类偏好数据的详细统计

表26显示了Meta人类偏好数据的详细统计。我们总共收集了14批人类偏好数据(即Meta安全性和有用性),每周一批,包含超过100万次二元模型生成比较。通常,随着我们随着时间的推移增加注释者数量,并且注释者逐渐熟悉任务并提高工作效率,后期批次包含更多样本。我们还特意收集了更多多轮样本,以增加RLHF数据的复杂性,因此每个样本的平均标记数量也随着时间的推移而增加。

在图25中,我们绘制了各批次偏好评分的变化。可以清楚地看到,随着时间推移,具有相似响应的样本(例如,“略微更好”或“不确定”)的比例显著增加,而具有更强偏好的样本(例如,“显著更好”)的比例则下降。这反映了我们迭代模型更新和偏好数据注释过程的本质——随着用于响应采样的LLAMA 2-Chat模型性能的提高,注释者从两个同样高质量的响应中选择更好的一个变得越来越具有挑战性。

A.3.2 Meta人类偏好数据的课程策略

高质量的数据对于对齐至关重要,正如SFT中所讨论的那样。我们在微调过程中与注释平台密切合作,并选择了课程注释策略。使用第一个模型时,注释者被要求使提示相对简单,然后逐步转向更复杂的提示,并教授LLAMA 2-Chat新技能。图26展示了我们在有用性偏好数据上的课程注释策略。

A.3.3 基于偏好评分的边际排名损失的消融

我们对有用性奖励模型进行了基于偏好评分的边际排名损失的消融。我们尝试了两种不同幅度的边际项变体,如表27所示,并将它们与没有边际项的基线进行比较。我们在表28中报告了它们在Meta有用性测试集上的每评分和平均准确性。我们观察到,边际项确实可以帮助奖励模型在更可分离的比较对上表现更好,更大的边际可以进一步推动这一点。然而,较大的边际也会在相似样本上回归性能。

我们进一步评估了基于边际的损失对奖励得分分布变化的影响。我们在图27中绘制了测试集奖励得分的直方图。本质上,边际项推动奖励模型为模型生成分配更极端的得分,形成二元分割模式,更大的边际使这种分布变化更加显著。上述观察表明,未来的工作需要投资于奖励校准,因为强化学习算法(如PPO)可能对奖励分布变化敏感。

A.3.4 基于安全性辅助损失的排名损失的消融

我们对安全性辅助损失的影响进行了消融,结果如表29所示。正如预期的那样,定制损失提高了当我们使用奖励得分0.5作为阈值(Sigmoid之前为负)时对不安全响应的召回率,从而为RLHF提供了更好的安全性奖励信号。教会模型区分安全和不安全的模型生成也提高了模型在三个子类别上的准确性。

A.3.5 GAtt的额外结果

图25:人类偏好数据评分随批次的变化。随着时间的推移,具有不确定或略微更好评分的样本比例随着更好的LLAMA 2-Chat模型的训练和可用性而增加。

表29:安全性辅助损失项对安全性奖励模型的消融。安全性辅助损失提高了所有3个类别的准确性以及不安全响应的召回率,通过奖励得分阈值0.5(即Sigmoid之前的负值)衡量。

图26:注释课程。每个新批次的最大和平均得分随奖励模型的变化,使用每个批次训练的模型对提示样本进行评分。我们可以看到,得分逐渐下降,表明最近批次中的提示平均更难。


A.3.5 GAtt的额外结果(续)

表30:GAtt结果。配备GAtt的LLAMA 2-Chat能够在我们的评估中100%地引用属性,最多可达20轮。我们将评估的属性限制为公众人物和爱好。

注意力现在可以跨越20轮以上。我们通过人类评估测试了模型记住系统参数的能力。参数(例如爱好、角色)在第一条消息中定义,然后从第2轮到第20轮。我们明确要求模型引用它们(例如“你最喜欢的爱好是什么?”,“你叫什么名字?”),以衡量LLAMA 2-Chat的多轮记忆能力。我们在表30中报告了结果。配备GAtt后,LLAMA 2-Chat保持了100%的准确性,始终引用定义的属性,最多可达20轮(我们没有扩展人类评估,所有示例的总标记数少于4048个)。作为比较,没有GAtt的LLAMA 2-Chat在仅几轮后无法再引用属性:从第t+1轮的100%,到第t+3轮的10%,然后为0%。

GAtt的零样本泛化。我们在推理时尝试设置未在GAtt训练中出现的约束。例如,“仅用一句话回答”,模型仍然保持一致,如图28所示。

我们首先将GAtt应用于LLAMA 1,该模型预训练时上下文长度为2048个标记,然后微调为4096个最大长度。我们测试了GAtt是否在2048个标记以上有效,模型可以说理解了超出此窗口的属性。这一有希望的结果表明,GAtt可以作为一种有效的技术用于长上下文注意力。

A.3.6 模型评估能走多远?

为了衡量奖励模型的鲁棒性,我们收集了有用性和安全性的测试集提示,并要求注释者根据7点Likert量表(越高越好)使用三重审查判断答案的质量。如图29(附录)所示,我们观察到我们的奖励模型总体上与人类偏好良好校准。请注意,这使我们能够将奖励用作点度量,尽管它是使用成对排名损失进行训练的。

图27:奖励模型得分分布变化,由在排名损失中引入基于偏好评分的边际引起。使用边际项后,我们观察到奖励分布中的二元分割模式,尤其是在较大边际的情况下。

表27:两种不同幅度的基于偏好评分的边际变体

表28:基于偏好评分的边际排名损失的消融。边际项确实可以帮助奖励模型在更可分离的比较对上表现更好,更大的边际可以进一步推动这一点。然而,较大的边际也会在相似样本上回归性能。

表29:安全性辅助损失项对安全性奖励模型的消融。安全性辅助损失提高了所有3个类别的准确性以及不安全响应的召回率,通过奖励得分阈值0.5(即Sigmoid之前的负值)衡量。

图28:GAtt零样本泛化。上述两个约束均未出现在GAtt的训练数据中。然而,它们在整个轮次中得到了完美执行。

图29:平均奖励模型得分与模型响应质量评分(7点Likert量表)的关系。左图和右图分别基于有用性和安全性测试集。阴影区域表示±1标准差。


A.3.7 人类评估

提示和生成:为了比较模型,我们收集了超过4000个单轮和多轮提示的多样化集合。我们手动收集了涵盖以下类别的单轮提示:事实问题、写作和内容创作、语言协助、推荐和对话。对于多轮提示,注释者与另一个模型交互以生成一组多轮提示。为了确保公平性,我们要求注释者使用四种不同的交互方法收集多轮提示:(a) 使用ChatGPT作为交互模型,(b) 使用LLAMA 2-Chat作为交互模型,(c) 在每一轮中选择ChatGPT和LLAMA 2-Chat之间的最佳响应,(d) 在每一轮中交替使用ChatGPT和LLAMA 2-Chat。我们还将多轮提示分类为上述五个类别。由于将多轮提示分类为单一类别可能具有挑战性,注释者可以为多轮提示选择最多两个类别。示例评估提示见表33。

对于开源模型,我们使用1000个标记的上下文长度收集生成,并允许模型生成最多1000个标记。尽管LLAMA 2-Chat模型能够处理最多4000个标记,但我们将上下文和生成长度限制为1000个标记,以与开源模型进行公平比较。将生成长度限制为1000个标记可能会对LLAMA 2-Chat模型产生不利影响。任何超过1000个标记的提示在开源模型评估中被过滤掉。对于MPT模型,我们使用mpt-7b-chat模型。对于Falcon模型,我们使用Falcon-40B-Instruct模型,这是一个聊天/指令模型。对于Vicuna模型,我们使用vicuna-13b-delta-v1.1。

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Together_CZ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值