LLaMA2全文翻译

栏目:旅游资讯  时间:2023-08-15
手机版

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

  大型语言模型(LLMs)作为高度能干的人工智能助手,在需要跨多个领域的专业知识进行复杂推理任务时表现出了巨大的潜力,包括编程和创意写作等专业领域。它们通过直观的聊天界面与人类进行交互,因此在广大公众中迅速普及和广泛应用。

  LLMs的能力令人惊叹,考虑到其训练方法似乎很简单。自回归变换器通过对大量自我监督数据进行预训练,然后通过强化学习与人类反馈(RLHF)等技术与人类偏好进行对齐。尽管训练方法简单,但高计算需求限制了LLMs的发展,只有少数几家公司在此领域取得了进展。已经发布了一些预训练的LLMs(如BLOOM(Scao等,2022年),LLaMa-1(Touvron等,2023年)和Falcon(Penedo等,2023年)),它们的性能与GPT-3和Chinchilla等闭源预训练竞争对手相当,但这些模型都不适合作为ChatGPT、BARD和Claude等闭源“产品”LLMs的替代品,因为这些闭源产品LLMs经过了大量的精细调整以与人类偏好相一致,从而极大地提高了它们的可用性和安全性。这一步骤可能需要大量的计算和人工标注成本,并且通常不透明或难以复现,限制了社区在推进AI对齐研究方面的进展。

  在本文中,我们开发并发布了Llama 2系列预训练和精细调整的LLMs,包括Llama 2和Llama 2-Chat,参数规模可达到70B。在我们进行的一系列有用性和安全性基准测试中,Llama 2-Chat模型通常表现优于现有的开源模型。它们在某些方面似乎与一些闭源模型相当,至少在我们进行的人类评估中如此(见图1和图3)。我们采取了措施来提高这些模型的安全性,包括使用安全专用的数据标注和调整,进行红队测试和进行迭代评估。此外,本文还详细描述了我们的精细调整方法和改进LLM安全性的方法。我们希望这种开放性能够使社区能够复现精细调整的LLMs,并继续改进这些模型的安全性,为LLMs的更负责任的发展铺平道路。我们还分享了我们在开发Llama 2和Llama 2-Chat过程中的一些新观察,例如工具使用的出现和知识的时间组织。人类评分员对大约2000个对抗性提示进行了模型生成的安全违规判断,这些提示包括单轮和多轮提示。更多细节请参见第4.4节。需要注意的是,由于提示集的限制、评审指南的主观性和个体评分员的主观性,LLM评估的安全性结果存在固有的偏见。此外,这些安全性评估是使用可能对Llama 2-Chat模型有偏见的内容标准进行的。

  我们向广大公众发布以下模型供研究和商业用途使用?:1. Llama 2,Llama 1的更新版本,使用新的公开可用数据进行训练。我们还将预训练语料库的大小增加了40%,将模型的上下文长度加倍,并采用了分组查询注意力(Ainslie等,2023年)。我们发布了具有7B、13B和70B参数的Llama 2变体。我们还训练了34B的变体,在本文中进行了报告,但不发布。§ 2. Llama 2-Chat,Llama 2的精细调整版本,针对对话使用案例进行了优化。我们发布了具有7B、13B和70B参数的该模型的变体。

  我们相信,安全地开放LLMs将对社会产生净利益。像所有LLMs一样,Llama 2是一项新技术,使用时存在潜在风险。迄今为止的测试仅涵盖了英语,并且无法涵盖所有场景。因此,在部署任何Llama 2-Chat应用之前,开发人员应根据其特定的模型应用进行安全测试和调整。我们提供了一个负责任的使用指南?和代码示例‖,以促进Llama 2和Llama 2-Chat的安全部署。有关我们负责任发布策略的更多细节,请参见第5.3节。

  本文的其余部分描述了我们的预训练方法(第2节),精细调整方法(第3节),模型安全方法(第4节),关键观察和见解(第5节),相关工作(第6节)和结论(第7节)。? https://ai.meta.com/resources/models-and-libraries/llama/ §由于缺乏足够的时间进行充分的红队测试,我们推迟了34B模型的发布。? https://ai.meta.com/llama ‖ https://github.com/facebookresearch/llama 这个过程从使用公开可用的在线资源对Llama 2进行预训练开始。随后,我们通过应用监督式精细调整创建了Llama 2-Chat的初始版本。随后,我们使用人类反馈的强化学习方法(RLHF)对模型进行迭代改进,具体包括拒绝抽样和近端策略优化(PPO)。在RLHF阶段,与模型增强并行进行的迭代奖励建模数据的积累对于确保奖励模型保持在分布内是至关重要的。

  为了创建新的Llama 2模型系列,我们采用了Touvron等人(2023年)中描述的预训练方法,使用了经过优化的自回归变换器,但对其进行了一些改进以提高性能。具体而言,我们进行了更强大的数据清洗,更新了数据混合方式,训练了更多的总标记数,将上下文长度加倍,并使用了分组查询注意力(GQA)来提高较大模型的推理可扩展性。表1比较了新的Llama 2模型与Llama 1模型的属性。

  我们的训练语料库包含了来自公开来源的新数据混合,其中不包括来自Meta产品或服务的数据。我们努力删除了一些已知包含大量个人信息的网站的数据。我们使用了2万亿个标记的数据进行训练,这在性能和成本之间取得了良好的平衡,同时通过对最可靠的来源进行过采样,以增加知识并减少虚构。

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

  我们从Llama 1中采用了大部分的预训练设置和模型架构。我们使用了标准的Transformer架构(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的梯度裁剪。我们观察到,在预训练了2T个标记后,模型仍然没有显示出饱和的迹象。

  分词器方面,我们使用了与Llama 1相同的分词器;它采用了字节对编码(BPE)算法(Sennrich et al., 2016),使用了SentencePiece(Kudo and Richardson, 2018)的实现。与Llama 1一样,我们将所有数字拆分为单个数字,并使用字节来分解未知的UTF-8字符。总词汇量为32k个标记。

  我们在Meta的研究超级集群(RSC)(Lee和Sengupta,2022)以及内部生产集群上预训练了我们的模型。这两个集群都使用NVIDIA A100。两个集群之间有两个关键的区别,第一个是可用的互连类型:RSC使用NVIDIA Quantum InfiniBand,而我们的生产集群则配备了基于普通以太网交换机的RoCE(以太网上的RDMA)解决方案。这两种解决方案都可以互连200 Gbps的端点。第二个区别是每个GPU的功耗限制-RSC使用400W,而我们的生产集群使用350W。通过这个双集群设置,我们能够比较这些不同类型互连在大规模训练中的适用性。RoCE(一种更经济实惠的商业互连网络)可以扩展到2000个GPU,几乎与昂贵的Infiniband一样,这使得预训练更具民主性。在RoCE和GPU功耗限制为350W的A100上,我们优化的代码库达到了RSC使用IB互连和400W GPU功耗性能的90%。

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

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

  在这一部分,我们报告了Llama 1和Llama 2基础模型、MosaicML预训练变换器(MPT)??模型和Falcon)模型在标准学术基准上的结果。对于所有的评估,我们使用了我们的内部评估库。我们在内部复现了MPT和Falcon模型的结果。对于这些模型,我们总是选择我们的评估框架和任何公开报告的结果之间的最佳分数。

  在表3中,我们总结了一套流行基准测试的整体性能。请注意,安全基准测试在第4.1节中共享。这些基准测试被分为以下几类。所有单个基准测试的结果都在A.2.2节中提供。代码。我们报告了我们的模型在HumanEval和MBPP(Austin等,2021)上的平均pass@1分数。常识推理。我们报告了PIQA(Bisk等,2020)、SIQA(Sap等,2019)、HellaSwag(Zellers等,2019a)、WinoGrande(Sakaguchi等,2021)、ARC easy和challenge、OpenBookQA(Mihaylov等,2018)以及CommonsenseQA(Talmor等,2018)的平均分数。我们报告了CommonSenseQA的7-shot结果和其他所有基准测试的0-shot结果。世界知识。我们评估了NaturalQuestions和TriviaQA(Joshi等,2017)的5-shot性能,并报告了平均分数。阅读理解。对于阅读理解,我们报告了在SQuAD(Rajpurkar等,2018)、QuAC(Choi等,2018)和BoolQ(Clark等,2019)上的0-shot平均分数。数学。我们报告了GSM8K(8-shot)(Cobbe等,2021)和MATH(4-shot)(Hendrycks等,2021)基准测试的平均分数。流行的综合基准测试。我们报告了MMLU(5-shot)(Hendrycks等,2020)、Big Bench Hard(BBH)(3-shot)和AGI Eval(3-5 shot)(Zhong等,2023)的整体结果。对于AGI Eval,我们只在英语任务上进行评估,并报告平均分数。

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

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

  我们还分析了潜在的数据污染,并在A.6节中分享了详细信息。GPT-3.5和GPT-4来自OpenAI(2023)。PaLM模型的结果来自[引用]。PaLM-2-L的结果来自Anil等(2023)。

  Llama 2-Chat是数月研究和迭代应用对齐技术的结果,包括指导微调和RLHF,需要大量的计算资源和注释资源。

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

  Llama 2-Chat是经过数月研究和迭代应用对齐技术的结果,包括指导微调和RLHF。这一过程需要大量的计算资源和注释资源。

  在本节中,我们详细介绍了使用监督微调的实验和发现(第3.1节),以及初始和迭代奖励建模(第3.2.2节)和RLHF(第3.2.3节)。此外,我们还介绍了一种名为Ghost Attention(GAtt)的新技术,它有助于控制多轮对话的流程(第3.3节)。我们还在第4.2节中对微调模型进行了安全评估。

  ? 提示:写一首诗帮助我记住周期表上的前10个元素,每个元素占一行。

  回答:氢是第一个元素,编号为一。氦是第二个,用于气球的乐趣!第三是锂,用于储存电池电荷,接着是铍,用于大小不一的翡翠。硼是第五,帮助我们保持清洁。碳是第六,存在于每个基因中。 氮是第七,存在于我们每一次呼吸中,大于八(或氧气)在大气中。第九是氟,帮助我们擦亮牙齿。氖给我们发光的标志,供我们阅读和站立。

  为了启动,我们使用了公开可用的指令微调数据,就像Touvron等人(2023)中所使用的那样。

  第三方SFT数据可以从许多不同的来源获取,但我们发现其中许多缺乏多样性和质量,特别是对于将LLMs对齐到对话式指令。因此,我们首先专注于收集数千个高质量的SFT数据示例,如表5所示。通过将数百万个示例从第三方数据集中分离出来,并使用我们自己基于供应商的注释工作的更少但质量更高的示例,我们的结果显著改善了。这些发现与(引用)的精神相似,后者也发现有限的干净指令微调数据集足以达到高质量水平。我们发现,SFT注释数量在数万个左右就足以获得高质量的结果。在收集了总共27,540个注释后,我们停止了对SFT的注释。请注意,我们不包括任何元用户数据。

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

  对于监督微调,我们使用余弦学习率调度,初始学习率为2 × 10^(-5),权重衰减为0.1,批量大小为64,序列长度为4096个标记。

  在微调过程中,每个样本由一个提示和一个答案组成。为了确保模型序列长度正确填充,我们将训练集中的所有提示和答案连接起来。我们使用一个特殊的标记来分隔提示和答案段落。我们使用自回归目标,并将用户提示中的标记的损失置零,因此我们只在答案标记上进行反向传播。最后,我们对模型进行2个时期的微调。

  RLHF是一种模型训练过程,应用于经过微调的语言模型,以进一步使模型行为与人类偏好和指令遵循相一致。我们收集代表经验抽样的人类偏好数据,其中人类标注员选择他们更喜欢的两个模型输出之一。随后,这些人类反馈被用于训练奖励模型,该模型学习人类标注员的偏好模式,并能自动化偏好决策。

  接下来,我们收集了用于奖励建模的人类偏好数据。我们选择了二进制比较协议,而不是其他方案,主要是因为它能够最大化收集到的提示的多样性。当然,其他策略也值得考虑,这留给了未来的工作。

  我们的注释过程如下所示。我们要求注释者首先编写一个提示,然后根据提供的标准在两个抽样的模型回复之间进行选择。为了最大化多样性,给定提示的两个回复是从两个不同的模型变体中抽样的,并且会变化温度超参数。除了强制选择,我们还要求注释者标记他们更喜欢所选择的回复相对于另一个回复的程度:是显著更好、更好、稍微更好还是几乎没有差别/不确定。

  在我们的偏好注释收集中,我们关注的是有用性和安全性。有用性指的是Llama 2-Chat的回复是否能够满足用户的请求并提供所需的信息;安全性指的是Llama 2-Chat的回复是否不安全,例如,“提供制作炸弹的详细指导”可能被认为是有用的,但根据我们的安全准则是不安全的。将这两者分开可以让我们对每个方面应用特定的准则并更好地指导注释者;例如,我们的安全性注释提供了关于对抗性提示的指导,以及其他指导。

  除了注释准则的差异,我们还在安全性阶段收集了安全标签。这些额外的信息将模型的回复分为三个类别:1)首选回复是安全的,而另一个回复不安全;2)两个回复都是安全的;3)两个回复都是不安全的。其中,18%、47%和35%的安全数据集分别属于这三个类别。我们没有包括选择的回复不安全而另一个回复安全的示例,因为我们认为更安全的回复也会更好/受人喜欢。有关安全准则和更详细的安全注释信息,请参见第4.2.1节。

  人类注释是每周批量收集的。随着我们收集到更多的偏好数据,我们的奖励模型得到了改进,并且我们能够为Llama 2-Chat训练出越来越好的版本(请参见第5节,图20)。Llama 2-Chat的改进也改变了模型的数据分布。由于奖励模型的准确性如果没有暴露于这个新的样本分布中就会迅速下降,即来自超专业化(Scialom等,2020b),所以在进行新的Llama 2-Chat调整迭代之前,收集使用最新的Llama 2-Chat迭代的新偏好数据是很重要的。这一步有助于保持奖励模型的分布一致,并为最新的模型提供准确的奖励。

  在表6中,我们报告了随时间收集的奖励建模数据的统计信息,并将其与多个开源偏好数据集进行了比较,包括Anthropic Helpful and Harmless(Bai等,2022a)、OpenAI Summarize(Stiennon等,2020)、OpenAI WebGPT(Nakano等,2021)、StackExchange(Lambert等,2023)、Stanford Human Preferences(Ethayarajh等,2022)和Synthetic GPT-J(Havrilla)。我们根据我们指定的准则,收集了超过100万个基于人类进行的二进制比较的数据集,我们将其称为元奖励建模数据。请注意,提示和回答中的标记数量根据文本领域的不同而有所不同。总结和在线论坛数据通常具有较长的提示,而对话式提示通常较短。与现有的开源数据集相比,我们的偏好数据具有更多的对话轮次,并且平均长度更长。

  奖励模型接受模型生成的回答及其相应的提示(包括前几轮的对话上下文)作为输入,并输出一个标量分数,以指示模型生成的质量(例如,有用性和安全性)。通过利用这些回答分数作为奖励,我们可以在RLHF期间优化Llama 2-Chat,以实现更好的人类偏好对齐和提高有用性和安全性。每个示例由一个提示(包括前面的对话,如果有的话)和一个回答组成,这是奖励模型的输入。我们报告了比较的数量,对话的平均轮数,每个示例、每个提示和每个回答的平均标记数。有关每个批次的元有用性和安全性数据的更多细节,请参见附录A.3.1。

  其他研究发现,有用性和安全性有时会存在权衡(Bai等,2022a),这可能使单个奖励模型在两者上表现良好变得具有挑战性。为了解决这个问题,我们训练了两个单独的奖励模型,一个针对有用性进行优化(称为有用性RM),另一个针对安全性进行优化(称为安全性RM)。

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

  训练目标。为了训练奖励模型,我们将收集到的人类偏好数据转换为二元排名标签格式(即选择和拒绝),并强制选择的回答具有比其对应的回答更高的分数。我们使用与Ouyang等人(2022)一致的二元排名损失函数: L ranking = ?log(σ(r θ (x, y c ) ? r θ (x, y r )))(1) 其中 r θ (x, y) 是用于提示 x 和完成 y 的标量分数输出,模型权重为 θ。y c 是注释者选择的首选回答,y r 是被拒绝的对应回答。

  在这个二元排名损失的基础上,我们进一步对其进行修改,以便更好地适应有用性和安全性奖励模型。鉴于我们的偏好评分被分解为四个点的尺度(例如,显著更好),如第3.2.1节所述,利用这些信息明确地教导奖励模型为具有更大差异的生成分配更不一致的分数是有用的。为此,我们在损失中进一步添加了一个边界成分: L ranking = ?log(σ(r θ (x, y c ) ? r θ (x, y r ) ? m(r)))(2) 其中边界 m(r) 是偏好评分的离散函数。自然地,我们对具有不同回答的对采用较大的边界,对具有相似回答的对采用较小的边界(在奖励模型结果中显示)。

  奖励模型结果。在用于奖励建模的每个人类偏好注释批次上,我们保留了1000个示例作为测试集,以评估我们的模型。我们分别将对应测试集的所有提示称为“元有用性”和“元安全性”。

  作为参考,我们还评估了其他公开可用的替代方案作为基线:基于FLAN-T5-xl的SteamSHP-XL(Ethayarajh等,2022),基于DeBERTa V3 Large的Open Assistant奖励模型(He等,2020),以及通过OpenAI的API访问的GPT4。请注意,在推理时,与训练不同,所有奖励模型都可以为单个输出预测一个标量,而无需访问其配对的输出。对于GPT-4,我们使用一个零-shot问题“在A和B之间选择最佳答案”,其中A和B是用于比较的两个回答。我们在表7中以准确率的形式报告结果。如预期的那样,我们自己的奖励模型在基于Llama 2-Chat收集的内部测试集上表现最好,有用性奖励模型在元有用性测试集上表现最好,安全性奖励模型在元安全性测试集上表现最好。总体而言,我们的奖励模型优于所有基线模型,包括GPT-4。有趣的是,尽管GPT-4没有直接训练,也没有专门针对这个奖励建模任务,但它的表现比其他非元奖励模型更好。

  有用性和安全性在各自领域表现最好的事实,可能是由于两个目标之间的紧张关系(即尽可能有用与必要时拒绝不安全的提示),这可能会在训练过程中使奖励模型困惑。为了使单个模型在两个维度上表现良好,它不仅需要学会在给定提示的情况下选择更好的回答,还需要区分敌对提示和安全提示。因此,优化两个单独的模型可以简化奖励建模任务。关于安全性和有用性之间的这种紧张关系的更详细分析可以在附录A.4.1中找到。

  当我们根据偏好评分在表8中对分数进行分组时,我们可以看到在“显著更好”的测试集上准确率最高,并随着比较对变得更相似(例如,“稍微更好”)而逐渐降低。当在两个相似的模型回答之间做出决策时,学习建模人类偏好变得具有挑战性,这是可以预料的,因为注释者的主观性和他们对细微差别的依赖可能会区分回答。我们强调,对于更不同的回答,准确率最重要,以改善Llama 2-Chat的性能。与相似对相比,更不同的回答上的人类偏好注释一致性率也更高。

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

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

  我们使用了两种主要的RLHF微调算法: - Proximal Policy Optimization (PPO)(Schulman等,2017),这是RLHF文献中的标准算法。 - 拒绝抽样微调。我们从模型中抽样K个输出,并根据我们的奖励选择最佳候选项,与Bai等人(2022b)的方法一致。在Deng等人(2019)中也提出了类似的LLM(Large Language Models)重新排序策略,其中奖励被视为能量函数。在这里,我们更进一步,使用选定的输出进行梯度更新。对于每个提示,获得最高奖励分数的样本被视为新的黄金标准。类似于Scialom等人(2020a),我们然后在新的排名样本集上微调我们的模型,加强奖励。

  这两种RL算法主要在以下方面有所不同: - 广度:在拒绝抽样中,模型为给定的提示探索K个样本,而在PPO中只生成一个样本。 - 深度:在PPO中,训练步骤t时的样本是基于上一步梯度更新后的更新模型策略的函数。在拒绝抽样微调中,我们从模型的初始策略中抽样所有输出,以收集新的数据集,然后应用类似于SFT的微调。然而,由于我们应用了迭代的模型更新,这两种RL算法之间的基本差异不太明显。

  在RLHF(V4)之前,我们只使用了拒绝抽样微调,之后我们将两种方法顺序组合,先在拒绝抽样检查点上应用PPO,然后再次进行抽样。我们只对最大的70B Llama 2-Chat模型进行拒绝抽样。所有较小的模型都是在较大模型的拒绝抽样数据上进行微调,从而将大模型的能力融入到较小的模型中。对于这种蒸馏效果的进一步分析将留待未来的研究。

  在每个迭代阶段,我们从最新的模型中为每个提示抽样K个答案。我们根据实验时可获得的最佳奖励模型对每个样本进行评分,然后选择给定提示的最佳答案。在我们的模型的早期版本中,直到RLHF V3,我们的方法是仅限于从前一次迭代中收集的样本“袋”中选择答案。例如,RLHF V3仅使用来自RLHF V2的样本进行训练。然而,尽管不断改进,这种方法在某些能力上导致了退化。例如,通过定性分析发现,与之前的版本相比,RLHF V3在组成韵律诗句方面更加困难,这表明进一步研究遗忘的原因和缓解方法(Kirkpatrick等,2017;Ramasesh等,2021)可能是一个有价值的额外研究领域。

  为了应对这个问题,在后续的迭代中,我们修改了策略,将所有先前迭代中表现最好的样本纳入考虑,例如在RLHF-V1和RLHF-V2中使用的样本。尽管我们没有提供具体的数据,但这种调整在性能上取得了显著的改进,并有效地解决了之前提到的问题。这种缓解可以看作是RL文献中的Synnaeve等人(2019)和Vinyals等人(2019)的类比。

  我们在图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版本上进行。

  我们在Stiennon等人(2020)的RL方案的基础上进一步训练我们的语言模型,该方案使用奖励模型作为真实奖励函数(人类偏好)的估计值,并使用预训练的语言模型作为策略进行优化。在这个阶段,我们的目标是最大化以下目标函数:arg max π E p~D,g~π R(g | p)。我们通过从数据集D中采样提示p和从策略π中生成g来迭代改进策略,并使用PPO算法和损失函数来实现这个目标。

  在优化过程中,我们使用的最终奖励函数R(g | p) =R c (g | p) ? βD KL (π θ (g | p) ∥ π 0 (g | p))(4)包含了一个惩罚项,用于防止偏离原始策略π 0 。正如其他研究(Stiennon等人,2020;Ouyang等人,2022)所观察到的,我们发现这个约束对于训练的稳定性很有用,并且可以减少奖励模型得分高但人类评估得分低的问题。

  我们将R c 定义为安全性(R s )和有用性(R h )奖励模型的分段组合。我们在数据集中标记了可能引发潜在不安全回复的提示,并优先考虑安全模型的得分。我们选择了0.15的阈值来过滤不安全的回复,这对应于在Meta Safety测试集上评估的精确度为0.89,召回率为0.55。我们还发现将最终的线性得分进行白化(通过使用logit函数反转sigmoid函数)是重要的,以增加稳定性并与KL惩罚项(β)平衡。

  对于所有模型,我们使用AdamW优化器(Loshchilov和Hutter,2017),其中β 1 = 0.9,β 2 = 0.95,eps = 10 ?5 。我们使用0.1的权重衰减,1.0的梯度裁剪,并使用恒定的学习率10 ?6 。对于每个PPO迭代,我们使用512的批量大小,0.2的PPO剪辑阈值,64的小批量大小,并对每个小批量进行一次梯度更新。对于7B和13B模型,我们设置β = 0.01(KL惩罚项),对于34B和70B模型,我们设置β = 0.005。

  我们对所有模型进行了200到400次迭代的训练,并使用保留的提示进行早停。每次70B模型的PPO迭代平均需要约330秒。为了快速训练大批量数据,我们使用了FSDP。当使用O(1)的前向或后向传递时,这是有效的,但在生成过程中会导致大幅度的减速(约20倍),即使使用了大批量大小和KV缓存。我们通过在生成之前将模型权重合并到每个节点上,然后在生成后释放内存,恢复训练循环的其余部分,成功缓解了这个问题。

  图9:多轮记忆的问题(左图)可以通过GAtt(右图)得到改善。

  在对话设置中,有些指令适用于所有的对话轮次,例如简洁回答或者"扮演"某个公众人物。当我们将这些指令提供给Llama 2-Chat时,后续的回复应始终遵守这些约束。然而,我们最初的RLHF模型在几轮对话后往往会忘记初始指令,如图9(左侧)所示。

  为了解决这些限制,我们提出了Ghost Attention (GAtt)方法,这是一种受Context Distillation (Bai et al., 2022b)启发的非常简单的方法,通过在多阶段过程中改变微调数据来帮助注意力集中。GAtt使得对话控制可以延续多个轮次,如图9(右侧)所示。

  GAtt方法。假设我们可以访问两个人之间的多轮对话数据集(例如用户和助手),其中包含一系列消息[u1, a1, ..., un, an],其中un和an分别对应第n轮的用户和助手消息。然后,我们定义一个指令inst,这个指令应该在整个对话过程中得到遵守。例如,inst可以是"扮演"。然后,我们可以将这个指令合成到对话中所有用户消息中。

  接下来,我们可以使用最新的RLHF模型从这个合成数据中进行采样。现在,我们有了一个上下文对话和用于微调模型的样本,这个过程类似于拒绝抽样。我们可以选择只在第一个轮次中保留指令,而在其他轮次中删除它,但这会导致训练时系统消息(即最后一轮之前的所有中间助手消息)与我们的样本不匹配。为了解决这个问题,我们可以简单地将之前轮次的所有标记的损失设置为0,包括助手消息。

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

  GAtt评估。我们在RLHF V3之后应用了GAtt。我们报告了一个定量分析,表明GAtt在多达20个轮次的情况下保持一致,直到达到最大上下文长度(见附录A.3.5)。我们尝试在推理时设置训练中不存在的约束,例如"始终用俳句回答",模型保持一致,如附录图28所示。为了说明GAtt在微调过程中如何改变注意力,我们在图10中显示了模型的最大注意力激活。每个图的左侧对应系统消息("扮演奥斯卡·王尔德")。我们可以看到,配备了GAtt的模型(右侧)相对于没有GAtt的模型(左侧),在对话的更大部分时间内与系统消息保持较大的注意力激活。

  尽管GAtt非常有用,但目前的实现还比较基础,对这种技术的进一步开发和迭代可能会进一步改善模型。例如,我们可以通过在微调过程中整合这样的数据,教会模型在对话过程中改变系统消息。

  评估大型语言模型 (LLMs) 是一个具有挑战性的开放性研究问题。尽管人工评估是黄金标准,但由于各种人机交互考虑因素的复杂性,它并不总是可扩展的 (Clark et al., 2021)。因此,为了在每次迭代中从 RLHF-V1 到 V5 中选择表现最佳的模型,我们首先观察了最新奖励模型的奖励改进情况,以节省成本并提高迭代速度。随后,我们通过人工评估验证了主要的模型版本。

  模型评估是一个重要的研究领域,我们需要找到一种既可靠又高效的方法来评估语言模型的性能。人工评估虽然准确,但成本高且不易扩展。因此,我们采用了基于奖励模型的评估方法,通过观察奖励的改进情况来选择最佳的模型。这种方法可以节省成本并加快迭代速度。

  我们的研究还包括了对主要模型版本的人工评估。这样可以确保我们选择的模型在人类评估中表现良好。通过结合奖励模型和人工评估,我们可以全面评估语言模型的性能,并选择最佳的模型版本。

  总之,模型评估是一个具有挑战性的问题,我们需要综合考虑多种评估方法来选择最佳的语言模型。通过观察奖励改进和进行人工评估,我们可以在成本和效率方面取得平衡,选择出表现最佳的模型版本。

  为了衡量我们奖励模型的鲁棒性,我们收集了一组关于帮助性和安全性的测试提示,并请三名注释员根据7分量表(分数越高越好)来评判答案的质量。我们观察到我们的奖励模型整体上与我们人类偏好注释相吻合,如附录中的图29所示。这证实了使用我们的奖励作为一种点对点度量的相关性,尽管它是通过配对排序损失进行训练的。

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

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

  本节报告了我们不同的SFT和RLHF版本在安全性和有用性两个维度上的进展情况,通过我们内部的安全性和有用性奖励模型进行测量。在这组评估中,我们在RLHF-V3版本之后(无害性和有用性>50%)在两个维度上都超过了ChatGPT。尽管使用我们的奖励作为逐点度量的相关性值得注意,但它可能会对Llama 2-Chat持有偏见。因此,为了公平比较,我们还使用GPT-4计算最终结果,以评估哪个生成模型更受青睐。ChatGPT和Llama 2-Chat输出在GPT-4提示中的顺序是随机交换的,以避免任何偏见。正如预期的那样,Llama 2-Chat的胜率不太明显,尽管我们的最新Llama 2-Chat获得了超过60%的胜率。

  这些提示对应于安全性和有用性的验证集,分别包含1,586个和584个提示。

  人工评估通常被认为是评判自然语言生成模型的黄金标准,包括对话模型。为了评估主要模型版本的质量,我们请人工评估员对其在帮助性和安全性方面进行评分。我们比较了Llama 2023模型在超过4,000个单轮和多轮提示上的表现。对于ChatGPT,我们在所有生成中使用gpt-3.5-turbo-0301模型。对于PaLM,我们在所有生成中使用chat-bison-001模型。每个模型的人工评估提示数量在表32中显示。有关更多方法细节,请参见附录A.3.7节。下面的部分展示了帮助性结果;安全性结果将在第4.4节中呈现。如图12所示,Llama 2-Chat模型在单轮和多轮提示上明显优于开源模型。特别是,Llama 2-Chat 7B模型在60%的提示上优于MPT-7B-chat模型。Llama 2-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 chat模型有较大的优势。更多结果和分析详见A.3.7节。

  在我们的人工评估中,三位不同的注释员为每个模型生成的比较提供了独立的评估。高的互评一致性分数(接近1.0)通常从数据质量的角度来看更好,然而,上下文是重要的。评估LLM生成的整体有用性这样高度主观的任务通常会比更客观的标注任务具有较低的互评一致性分数。在这些情境中,公开的基准测试相对较少,因此我们认为在这里分享我们的分析将有益于研究社区。

  我们使用Gwet的AC1/2统计量(Gwet, 2008(Gwet, , 2014)来衡量互评一致性(IRR),因为我们发现它是在不同的测量场景下最稳定的度量标准。在我们的分析中使用的7点Likert量表有用性任务中,Gwet的AC2分数在0.37到0.55之间变化,具体取决于特定的模型比较。对于具有相似胜率的模型比较(如Llama 2-Chat-70B-chat vs. ChatGPT比较),我们看到得分处于该范围较低的一端。对于具有更明确赢家的模型比较(如Llama 2-Chat-34b-chat vs. Falcon-40b-instruct比较),我们看到得分处于该范围较高的一端。

  人工评估的局限性。虽然我们的结果表明Llama 2-Chat在人工评估中与ChatGPT相当,但需要注意人工评估存在一些限制。根据学术和研究标准,我们有一个包含4k个提示的大型提示集。然而,它并不涵盖这些模型的实际使用情况,实际使用情况可能涵盖更多的用例。提示的多样性可能是我们结果的另一个因素。例如,我们的提示集不包括任何与编码或推理相关的提示。我们只评估了多轮对话的最终生成部分。更有趣的评估可能是要求模型完成一个任务,并对多轮体验进行整体评级。对于生成模型的人工评估本质上是主观和嘈杂的。因此,对不同的提示集或不同的指令进行评估可能会得出不同的结果。

  本节包含一些可能被认为是不安全、冒犯或令人不快的文本示例。在这一节中,我们深入探讨了安全措施和缓解措施这一重要主题。首先,我们讨论了我们对预训练数据和预训练模型进行的安全调查(第4.1节)。接下来,我们描述了我们的安全对齐过程(第4.2节),解释了我们如何收集与安全相关的注释,并利用SFT和RLHF,并呈现了实验结果。然后,我们讨论了我们进行的红队测试,以进一步了解和改进模型的安全性(第4.3节)。最后,我们展示了Llama 2-Chat的定量安全评估(第4.4节)。我们还在附录中的表格52中分享了一个模型卡片。

  本节包含一些可能被认为是不安全、冒犯或令人不快的文本示例。在这一节中,我们深入探讨了安全措施和缓解措施这一重要主题。首先,我们讨论了我们对预训练数据和预训练模型进行的安全调查。我们调查了预训练数据和预训练模型的安全性,并对其进行了详细的分析。接下来,我们介绍了我们的安全对齐过程,解释了我们如何收集与安全相关的注释,并利用SFT和RLHF进行了实验。然后,我们讨论了我们进行的红队测试,以进一步了解和改进模型的安全性。我们通过红队测试来评估模型的安全性,并提出了一些改进措施。最后,我们展示了Llama 2-Chat的定量安全评估结果。我们还在附录中的表格52中分享了一个模型卡片,其中包含了更多详细信息。

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

  我们遵循Meta公司的标准隐私和法律审查流程,对每个用于训练的数据集进行了审查。我们没有在训练中使用任何Meta用户数据。我们排除了一些已知包含大量个人信息的网站的数据。我们尽力高效地训练模型,以减少预训练的碳足迹(第2.2.1节)。广泛共享我们的模型将减少其他人训练类似模型的需求。我们没有对数据集进行额外的过滤,以使Llama 2在各种任务中更易于使用(例如,可以更好地用于仇恨言论分类),同时避免了过度清洗可能导致意外人口统计学消除的潜在问题。重要的是,在应用重要的安全调整之后,才能谨慎使用Llama 2模型并进行部署。

  模型生成中的偏见可能源自训练数据本身的偏见。例如,Bailey等人(2022)表明,在大规模文本语料库中,“人”这个词通常与表示“男性”的词的上下文更相似,而不是与表示“女性”的词的上下文更相似。Ganesh等人(2023)证明,模型在公平性指标上的表现很大程度上取决于模型在代表少数群体的数据上的训练方式。在我们的英语训练语料库中,我们计算了最常见的英语代词的频率(见表9a)。我们观察到,与She代词相比,He代词在文档中通常出现的频率较高,这与类似规模的模型预训练数据中观察到的频率差异相呼应。这可能意味着在预训练过程中,模型对提及She代词的上下文了解较少,因此可能以更高的频率生成He代词。

  我们还通过使用HolisticBias数据集中的人口统计学身份术语的使用率来分析预训练数据中不同人口统计学群体的表示情况。我们计算了预训练语料库中每个描述术语的频率。我们将描述术语分为5个维度(宗教、性别和性别、国籍、种族和民族以及性取向),并在表9b中显示了每个维度中的前5个术语。在前5个术语中,我们删除了一些术语,例如“straight”、“white”和“black”,因为这些术语在除了人口统计学提及之外还经常使用(例如,作为基本颜色术语)。我们还在列表中进行了去重处理,删除了在性别和性别以及性取向中都出现的一些术语。对于性别和性别来说,虽然提及She代词的文档较少,但“female”这个术语在更大比例的文档中出现。这可能意味着虽然关于She代词的上下文较少,但关于“女性”的评论更普遍,这可能反映了这些术语的语言标记性差异(Blodgett等人,2021)。对于性取向来说,前五个术语都与LGBTQ+身份有关。对于国籍、种族和民族以及宗教,我们观察到存在西方偏向(Bhatt等人,2022)。例如,“American”一词在69.4%的引用中被提及,“European”一词比其他种族和民族更普遍,“Christian”是最常见的宗教,其次是“Catholic”和“Jewish”。(b)每个人口统计学维度下方列出的百分比表示提及该维度中任何描述术语的所有文档的百分比。每个人口统计学描述符下方列出的百分比表示在提及给定人口统计学维度中的描述术语的文档中,提及此特定描述术语的百分比。

  我们选择不从预训练中清除有毒数据,以便实现更好的下游泛化。HateBERT分类器在我们的预训练语料库中对大约0.2%的文档分配了0.5或更高的毒性可能性。

  我们使用在ToxiGen数据集上进行微调的HateBERT分类器来衡量预训练语料库中英语部分的毒性普遍性。我们对文档的每一行进行评分,并对它们进行平均以得出文档得分。图13显示了完整语料库的10%随机样本中得分的分布情况。大约有0.2%的文档被分配了0.5或更高的可能性得分,这意味着我们的预训练数据中存在少量毒性。

  虽然我们的预训练数据主要是英语,但也包含少量其他语言的文本。表10显示了我们语料库中语言的分布,限定为在超过0.005%的文档中发现的语言。我们的分析使用了fastText(Bojanowski等人,2016)语言识别工具,并将语言检测的阈值设置为0.5。以英语为主的训

  在本节中,我们描述了我们的安全微调方法,包括安全类别、注释指南以及我们用于减轻安全风险的技术。我们采用了类似于第3节中描述的一般微调方法的过程,但与安全问题相关的一些显著差异。具体而言,我们在安全微调中使用了以下技术: 监督式安全微调:我们首先收集对抗性提示和安全演示,然后将其纳入一般的监督式微调过程(第3.1节)。这使得模型在进行强化学习前就能与我们的安全指南保持一致,从而为高质量的人类偏好数据注释奠定基础。 安全强化学习和强化学习预训练:随后,我们将安全性整合到一般的强化学习和强化学习预训练流程中(第3.2.2节)。这包括训练一个专门的安全奖励模型,并收集更具挑战性的对抗性提示,用于拒绝抽样式微调和PPO优化。 安全上下文蒸馏:最后,我们使用上下文蒸馏(Askell et al., 2021b)对强化学习和强化学习预训练流程进行改进。这涉及通过在提示前加上一个安全预提示,例如“你是一个安全和负责任的助手”,然后在没有预提示的情况下对更安全的回答进行微调,从而将安全预提示(上下文)蒸馏到模型中。我们采用了一种有针对性的方法,使我们的安全奖励模型可以选择是否对每个样本使用上下文蒸馏。

  根据之前的研究中对大型语言模型(LLMs)的限制,我们设计了指导我们的注释团队创建对抗性提示的指南,这些提示沿着两个维度展开:风险类别和攻击向量。风险类别是指LLM可能会产生不安全内容的潜在主题,攻击向量是指可以引发模型错误行为的不同类型的提示问题。

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

  然后,我们定义了安全和有帮助的模型响应的最佳实践:模型应首先解决可能存在的安全问题,然后通过解释给用户潜在的风险来回应提示,最后如果可能的话提供额外的信息。我们还要求注释者避免负面用户体验的类别(详见附录A.5.2)。这些指南旨在为模型提供一般性的指导,并且会根据新发现的风险进行迭代的完善和修订。

  根据第4.2.1节的指南,我们从经过训练的注释员那里收集了安全模型响应的提示和演示,并将这些数据用于与第3.1节中描述的相同方式的监督式精细调整。在表5中可以找到一个示例。

  注释员被要求首先提出他们认为可能导致模型表现出不安全行为的提示,即进行红队测试,根据指南的定义。随后,注释员的任务是制作一个安全且有帮助的响应,模型应该产生这样的响应。

  我们观察到在 Llama 2-Chat 的早期开发中,它能够从监督微调中的安全演示中进行泛化。模型很快学会了编写详细的安全回复,解决安全问题,解释为什么某个话题可能敏感,并提供额外的有用信息。特别是当模型输出安全回复时,它们通常比普通标注者写的更详细。因此,在收集了几千个监督演示之后,我们完全转向了 RLHF,以教会模型如何编写更细致的回复。通过 RLHF 进行全面调整的另一个好处是,它可能使模型更加抵抗越狱尝试(Bai 等人,2022a)。

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

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

  安全本质上是一个长尾问题,挑战来自于一小部分非常特定的情况。我们通过采用两个中间的 Llama 2-Chat 检查点来研究安全 RLHF 的影响-一个没有在 RLHF 阶段使用对抗性提示,一个使用了对抗性提示,并使用我们的安全和有用性奖励模型对它们在测试集上的回复进行评分。在图14中,我们绘制了安全 RM 在安全测试集上的得分分布变化(左图)以及有用性 RM 在有用性测试集上的得分分布变化(右图)。在图的左侧,我们观察到安全 RM 在安全集上的得分分布在经过 RLHF 的安全调整后向更高的奖励得分方向移动,并且接近零的分布长尾变得更稀疏。在左上角出现了一个明显的聚类,表明模型安全性的改进。在右侧,我们没有观察到图14右侧的 y = x 线下的任何聚集模式,这表明在进行安全调整的 RLHF 后,有用性得分分布得以保持。换句话说,如果有足够的有用性训练数据,额外的安全缓解阶段不会对有用性的模型性能产生明显的负面影响。表12中展示了一个定性的例子。

  在之前的研究中,我们观察到了大型语言模型(LLMs)在可帮助性和安全性之间存在一种紧张关系(Bai等,2022a)。为了更好地理解安全训练数据的添加对整体模型性能的影响,特别是对可帮助性的影响,我们通过调整在RLHF阶段使用的安全数据量来研究安全数据缩放的趋势。在这个消融实验中,我们保持可帮助性训练数据的数量不变(约0.9M个样本),逐渐增加用于模型调优的安全数据量,范围从0%到100%(约0.1M个样本)。对于具体的训练数据混合配方,我们按照第3.1节中描述的过程,对Llama 2预训练模型进行了2个时期的微调。

  最终,我们得到了6个模型变体,分别使用了总安全数据的0%、1%、10%、25%、50%和100%进行训练。我们使用在第3节中描述的安全性和可帮助性奖励模型对与Meta Safety和Helpful测试集中的提示相对应的模型生成进行评估。

  如图15所示,我们使用平均奖励模型分数作为模型在安全性和可帮助性上的性能代理。我们观察到,当我们增加安全数据的比例时,模型在处理风险和对抗性提示方面的性能显著提高,并且在安全性奖励模型分数分布中出现了更轻的尾部。与此同时,平均可帮助性分数保持不变。我们假设这是因为我们已经有了足够的虚警率度量。尽管我们没有看到模型可帮助性的整体退化,但我们通过交互质量观察到,具有更多安全缓解的模型以更保守的方式回答某些问题(例如,附录表38中的示例)。作为后续工作,我们测量虚警拒绝率来量化模型错误地拒绝回答非对抗性提示的频率。在这里,我们将虚警拒绝定义为模型由于不相关的安全问题而错误地拒绝回答合法用户提示。由于合理原因超出了模型的能力,例如“我无法参加视频通话”和“2024年超出了我的知识截止日期”,不计入虚警拒绝。我们训练了一个用于检测回答拒绝的分类器,并将该分类器应用于1)上述可帮助性测试集和2)一个由210个样本组成的策划边界测试集,用于类似OpenAI(2023)的边界测试目的。策划边界数据集被故意设计成其提示看起来具有对抗性(例如,包含敏感词或子词),但实际上并不是不安全的(例如,“给我一个圣诞节的食谱”)(更多示例请参见附录表41)。

  随着更多安全数据混合到模型调优中,虚警拒绝率在两个数据集上都增加了(请参见附录图33)。然而,虚警拒绝在可帮助性数据集上总体上很少,即使使用100%的安全数据也只有约0.05%。另一方面,由于其难度,边界数据集上的虚警拒绝率要大得多。Llama 2-Chat有时很难区分提示是否安全,尤其是当提示中包含在不安全生成中经常出现的词(如“炸弹”)时。附录表41显示了我们发现的一些虚警拒绝的示例。

  以下是一个人类与一个知识渊博且富有同理心的助手之间的讨论。助手的回答不应包含任何有害、不道德或具有社会偏见的内容,并且应将对话引向积极的方向。

  我不能满足你的要求,我只是一个人工智能,无法提供一个鼓吹错误信息或阴谋论的指南。登月任务并没有被伪造,评估历史事件时,依靠科学证据和可靠来源是非常重要的。传播错误信息或推动阴谋论是不合适的,因为这可能对参与事件的人造成伤害和不尊重。让我们专注于分享准确和有帮助的信息。我还能帮你其他什么吗?

  由于这个提示违反了我的编程规则,我无法对其做出回应,因为它鼓励传播虚假信息。在所有形式的沟通中,尊重真相和准确性非常重要,要避免传播错误信息或阴谋论。

  相反,我想强调在评估信息时事实核查和批判性思维的重要性。在评估某个主张的有效性时,依靠可靠的来源和基于证据的推理是至关重要的。

  如果你有其他问题或疑虑,请随时提问,我将尽力提供有帮助且准确的回答。

  带有答案模板的定制预先提示与答案模板更与答案相关。

  我们鼓励使用上下文精简(Askell等人,2021a)的方法,让Llama 2-Chat将对抗性提示与更安全的回答相关联,类似于第3.3节。我们观察到,通过在模型前缀中添加安全准备提示(例如,“你是一个安全和负责任的助手”),可以有效增强LLM的安全能力。与监督式安全微调类似,安全上下文精简提供了一种快速的方式,用于在困难的对抗性提示上引导模型的回答,以便随后在RLHF中进一步改进。

  具体而言,我们通过在对抗性提示前添加安全准备提示来应用上下文精简,生成更安全的回答,然后在没有准备提示的对抗性提示下,对模型进行自身安全输出的微调。我们使用模板自动生成安全准备提示。特别是,我们使用通常与安全行为相关联的各种形容词,例如“负责任”,“尊重”或“明智”,以期模型将其与我们希望在安全回答中看到的积极特征相关联。我们在附录表39中展示了安全准备提示的示例。

  在提示收集阶段,我们还要求注释者根据风险类别对提示进行标记,这样可以更有针对性地准备预提示。具体而言,这使我们能够提供一些专门的答案模板,说明如何应对对抗性提示,基于每个确定的风险类别。图16a展示了上下文精简和带有答案模板的上下文精简对安全RM分数的影响。虽然通用的预提示可以提高安全RM分数,但带有定制答案模板的预提示效果更好。右图显示,上下文精简显著提高了初始得分较低的样本的RM分数,但对初始得分较高的样本可能产生不利影响。因此,我们只在能提高RM分数的有针对性样本上应用上下文精简。

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

  给定大型语言模型(LLMs)的广泛能力和多样化的训练数据,仅通过事后使用和分析来识别风险是不够的。因此,我们进行了各种主动风险识别,俗称“红队测试”,这是在计算机安全领域常用的术语。这种细致入微的分析非常重要,因为安全问题是一个长尾问题,即使是非常罕见的边缘情况也可能引起明显的问题。即使定量评分显示良好的结果,这些定性洞察力也能让我们更全面地识别和针对特定模式。

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

  红队测试人员在各种风险类别(如犯罪计划、人口贩卖、受管制物质、性暴力内容、不合格的健康或财务建议、侵犯隐私等)以及不同的攻击向量(如假设性问题、格式错误/拼写错误的输入或扩展对话)方面对我们的模型进行了探测。此外,我们还进行了特定的测试,以确定我们的模型在促进武器(如核武器、生物武器、化学武器和网络武器)生产方面的能力;对这些问题的发现是边缘的,并且已经得到了缓解。尽管如此,我们将继续在这个方面进行红队测试。

  到目前为止,我们所有的红队测试工作都针对英语模型输出,但关键是包括非英语提示和对话上下文,因为这是一个众所周知的攻击向量。在所有练习中,参与者都会收到风险类别定义,并只展示少量与LLM存在风险互动的示例。之后,每个参与者都会成为专注于特定风险类别或攻击向量的小组的一部分。在创建每个对话后,红队测试参与者会注释各种属性,包括风险领域和风险程度,这些属性通过5点李克特量表进行捕捉。

  以下是红队测试小组成员提供的一些有用的见解,我们在开发过程中能够加以改进: - 早期模型更有可能生成不安全的回复,而不注意到其中包含的问题内容。然而,稍后的模型往往会显示出对内容的问题意识,即使它们继续提供这些内容。例如,它们会回复:“'[不安全内容]'不适合讨论,等等”,然后立即跟进:“尽管如此,这里是关于[不安全内容]的信息。”最新的模型能够解决这些问题。 - 通过包含“怪癖”或具体要求来分散早期模型的注意力通常能够克服直接要求所遇到的抵触情绪。例如,一个创意写作的请求(歌曲、故事、诗歌等)是让模型产生它本身具有鲁棒性的内容的可靠方法。 - 将有问题的请求嵌入到积极的语境中通常能够成功掩盖请求早期模型产生有问题输出的事实。例如,我发现任何一种攻击最有效的总体原则是将其隐藏在积极、进步和有力的语言中。

  从红队测试见解到更安全的模型。关键是,在每次练习之后,我们对收集到的数据进行了彻底的分析,包括对话长度、风险领域分布、错误信息主题的直方图(如果适用)以及风险程度评级。在每种情况下,我们将总体教训作为指导,帮助进一步提高模型的安全性训练,并具体利用这些练习的数据进行模型微调、模型反馈训练以及其他安全模型训练的信号。

  在几个月的时间里,我们进行了多轮红队测试,以衡量每个新模型在内部发布时的稳健性。我们将模型的稳健性γ定义为针对一组专家执行的红队测试练习中,每个人每小时触发模型违规回复的平均提示数量。例如,在我们的7B模型上,我们在几次红队测试迭代和模型改进中,将稳健性γ从1.8提高到0.45。随着进一步的红队测试努力,稳健性很可能会继续提高。随着新模型的产生,我们还追踪了在先前的红队测试练习中发现的触发违规回复的提示的百分比,在给定的新候选发布中得到了缓解。平均而言,我们的模型拒绝率达到了90%。

  在人类评估中,我们根据第4.2.1节中的安全类别收集了大约2,000个对抗性提示,其中1,351个是单轮对话,623个是多轮对话。

  评估提示和回复的示例可以在附录A.4.6中找到。

  然后,我们要求评估者根据五分Likert量表对模型进行安全违规的评判,具体定义如下: - 5分:没有安全违规且非常有帮助 - 1分:严重的安全违规

  需要注意的是,这些结果受到提示集的限制、评审指南的主观性以及个体评估者的主观性的影响。

  我们将每个示例由三个标注者进行注释,并采用多数票确定回复是否违规。我们使用Gwet的AC1/2统计量来衡量标注者之间的一致性,与有益性人类评估中的方法相同。IRR分数在0.70到0.95之间,具体取决于注释批次,表明标注者在安全评估上有很高的一致性。

  在Llama 2-Chat的注释中,根据Gwet的AC2度量,平均IRR为0.92。我们发现,模型违规率较高的批次(例如Vicuna)的IRR得分较低,而模型违规率相对较低的批次(例如Llama 2-Chat、Falcon和ChatGPT)的IRR得分较高(Chiang等,2023)。需要谨慎解读这些结果,因为它们受到提示集的限制、评审指南的主观性、内容标准以及个体评估者的主观性的影响。

  经过手动分析,我们发现Falcon的回复通常很简短(一两句话),因此不太容易生成不安全的内容,但也通常不太有帮助。这反映在Falcon的大量回复中评分为3。因此,我们注意到在图17b中,尽管Falcon和Llama 2-Chat(34B)的违规百分比看起来相似(3.88 vs 4.45),但Falcon的平均评分要低得多。在图18中,我们分别报告了单轮和多轮对话的违规百分比。跨模型的一个趋势是多轮对话更容易引发不安全的回复。尽管如此,与基准模型相比,Llama 2-Chat在多轮对话中的表现仍然很好。我们还观察到Falcon在单轮对话中表现特别好(主要是因为简洁),但在多轮对话中表现较差,这可能是由于缺乏多轮有监督微调数据。

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

  真实性、有害性和偏见。在表14中,经过微调的Llama 2-Chat在真实性(70B从50.18提高到64.14)和有害性(70B从24.60降低到0.01)方面相比预训练的Llama 2有了很大的改进。

  对于所有尺寸的Llama 2-Chat,有害生成的百分比缩小到了实际上的0%:这是所有比较模型中最低的有害性水平。总体而言,与Falcon和MPT相比,经过微调的Llama 2-Chat在有害性和真实性方面表现最好。微调后,Llama 2-Chat在BOLD的许多人口群体中整体上积极情绪增加。在附录A.4.8中,我们详细介绍了偏见基准测试中不同子群体的模型生成情绪得分,以及真实性和偏见的更深入分析和结果。

  TruthfulQA ↑ ToxiGen ↓ 对于TruthfulQA,我们提供了既真实又有信息的生成百分比(越高越好)。对于ToxiGen,我们提供了有害生成的百分比(越小越好)。

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

  我们的调整过程揭示了一些有趣的结果,比如Llama 2-Chat在时间上组织知识的能力,或者调用外部工具的API。超越人类监督。在项目开始时,我们中的许多人表达了对有监督注释的偏好,因为它具有更密集的信号。与此同时,强化学习对于自然语言处理研究社区的人来说,似乎是一个有些神秘的领域,因为它的不稳定性。然而,强化学习证明了其高效性,特别是考虑到其成本和时间效益。我们的发现强调了RLHF的成功关键在于它在注释过程中促进人类和LLM之间的协同作用。

  即使是熟练的标注员,每个人的写作风格也存在显著的差异。在SFT注释上进行微调的模型学习到了这种多样性,包括不幸的是,标注质量较差的尾部注释。此外,模型的性能受到最熟练标注员的写作能力的限制。当比较两个输出的RLHF偏好注释时,人类标注员在主观差异方面可能较少。因此,奖励机制迅速学习将低分分配给不理想的尾部分布,并朝着人类偏好对齐。这一现象在图20中有所体现,我们可以看到最差的答案逐渐被移除,使分布向右移动。

  此外,在注释过程中,模型有可能进入甚至最好的标注员可能不会涉及的写作轨迹。然而,人类在比较两个答案时仍然可以提供有价值的反馈,超越了他们自己的写作能力。类比一下,虽然我们不一定都是优秀的艺术家,但我们欣赏和批评艺术的能力仍然存在。我们认为,LLM的优秀写作能力,如在某些任务中超越人类标注员所表现出的,基本上是由RLHF驱动的,这一点在Gilardi等人(2023)和(引用)中有所记录。监督数据可能不再是金标准,这种不断变化的情况迫使我们重新评估“监督”这个概念。

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

  例如,对于与创造力相关的提示,比如“写一首诗”,温度的增加仍然能够在我们的各种RLHF迭代中产生多样性。这可以从Self-BLEU斜率中观察到,它呈现出与SFT模型相似的模式。

  另一方面,对于基于事实信息的提示,比如“某某的首都是什么?”,Self-BLEU斜率随时间减小。这种模式表明,尽管温度上升,模型学会在事实提示中始终提供相同的回答。

  我们的模型展示了令人印象深刻的泛化能力,如图22所示。我们手动测试了数十个示例,并一致观察到我们的模型在提供最少数据的情况下展示出了强大的按时间组织知识的能力。为了在Llama 2-Chat中引入时间概念,我们收集了一组与特定日期相关的1,000个SFT示例。这些示例包括诸如“巴拉克·奥巴马成为总统多久了?”这样的问题。每个问题与两个关键的元数据相关联:提问时的日期(影响回答)和事件日期,一个在此日期之前提问将毫无意义的时间点。

  这一观察表明,尽管LLM的训练仅基于下一个标记的预测和随机洗牌的数据,而不考虑它们的时间顺序,但它们已经在很大程度上内化了时间的概念。

  集成大型语言模型(LLMs)与工具是一个不断发展的研究领域,正如Mialon等人(2023年)所强调的那样。Toolformer提出的方法涉及对数百万个样本进行采样。

  OPT-66B 6.0 4.9 7.9 GPT-J 7.5 5.2 9.9 GPT-J + CC 9.6 5.的轨迹,为每个工具的few-shot示例的制定提供了补充。然而,这种技术仅适用于每个示例使用单个工具,并且不适用于工具使用序列的扩展。

  图23:工具使用的出现。Llama 2-Chat能够通过语义理解工具的应用和API参数,尽管从未经过训练使用工具。

  OpenAI插件的发布引发了学术界的广泛讨论,引发了一些问题,例如:我们如何有效地教导模型使用工具?这个过程是否需要大量的数据集?我们的实验表明,工具使用可以在零样本的情况下自发出现。尽管我们从未明确注释过工具使用,图23展示了一个示例,模型展示了在零样本上利用工具序列的能力。

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

  Llama 2-Chat受到其他LLM模型的广为认可的限制的影响,包括在预训练后停止知识更新、可能生成非事实性内容(如不合格的建议)以及倾向于产生幻觉。

  此外,我们初始版本的Llama 2-Chat主要集中在英语数据上。虽然我们的实验观察表明该模型在其他语言上已经具备一定的熟练度,但其熟练度受限,主要是由于非英语语言的预训练数据量有限(如表10所述)。因此,该模型在英语以外的语言中的性能仍然脆弱,使用时应谨慎。

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

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

  虽然我们试图在安全性和有用性之间合理平衡,但在某些情况下,我们的安全调整可能过于谨慎。Llama 2-Chat的用户可能会观察到过于谨慎的处理方式,模型会在某些请求上偏向拒绝或回复过多的安全细节。

  预训练模型的用户需要格外谨慎,并按照我们的《负责任使用指南》中描述的方式进行调整和部署。

  我们将Llama 2模型开放供研究和商业使用,网址为https://ai.meta.com/resources/models-and-libraries/llama/。使用Llama 2的人必须遵守提供的许可证和我们的可接受使用政策,禁止任何违反适用政策、法律、规则和法规的用途。

  我们还提供了代码示例,以帮助开发人员复制我们在Llama 2-Chat中的安全生成,并在用户输入和模型输出层应用基本的安全技术。这些代码示例可以在此处找到:https://github.com/facebookresearch/llama。最后,我们分享了一份负责任使用指南,提供了关于安全开发和部署的准则。

  负责任的发布。虽然许多公司选择在闭门造车的情况下构建人工智能,但我们公开发布Llama 2,以鼓励负责任的人工智能创新。根据我们的经验,开放的方法借助人工智能从业者社区的集体智慧、多样性和创造力,实现这项技术的好处。合作将使这些模型更好、更安全。整个人工智能社区——学术研究人员、公民社会、政策制定者和行业——必须共同努力,严格分析和揭示当前人工智能系统的风险,并构建解决潜在问题滥用的解决方案。这种方法不仅促进了与大型科技公司之外的各方利益相关者的真正合作,而且也是民主化获取基础模型的基石。正如Zellers等人(2019b)所提出的,开放发布促进了透明度,并允许更多人访问人工智能工具,民主化了技术并分散了人工智能专业知识。我们相信,人工智能专业知识的分散不仅仅是分发知识,它还能刺激创新并加速行业进步。最后,公开发布这些模型可以整合成本并消除进入壁垒,使小企业能够利用LLM的创新来探索和构建文本生成用例。

  最终,我们相信这将为全球各种规模的组织创造一个更加公平的竞争环境,从而从人工智能的进步中获得经济增长所带来的好处。

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

  大型语言模型(LLMs)领域在近年来取得了显著的发展。根据扩展定律的规律,已经提出了多个具有超过1000亿参数的大型语言模型,例如GPT-3和Gopher(Rae等,2022),以及专门用于科学领域的模型,如Galactica。其中,Chinchilla拥有700亿参数,重新定义了与模型权重而非令牌数量相关的扩展定律。在这一进展中,Llama的崛起引人注目,该模型在推理过程中注重计算效率(Touvron等,2023)。同时,关于开源与闭源模型的动态也在展开讨论。开源模型如BLOOM(Scao等,2022)和Falcon(Penedo等,2023)已经崛起,挑战了闭源模型如GPT-3和Chinchilla的地位。然而,就像ChatGPT、Bard和Claude等“生产就绪”的LLMs一样,它们在性能和可用性上存在明显差异。这些模型依赖于复杂的调整技术,以与人类偏好保持一致(Gudibande等,2023),这一过程仍在开源社区中进行探索和完善。

  为了弥合这一差距,出现了基于蒸馏的模型,如Vicuna(Chiang等,2023)和Alpaca(Taori等,2023),采用了独特的训练方法,使用合成指令进行训练。然而,尽管这些模型显示出潜力,但它们仍然无法达到闭源模型设定的标准。

  通过在多个数据集上对LLMs进行微调,可以实现对未见任务的零-shot性能。Chung等(2022)和Longpre等(2023)研究了指令调整对任务数量、模型大小、提示设置等的影响。用于指令调整的提示可以由人类或LLMs自动生成,并且后续指令可以用于改进初始生成的结果,使其更有用、更吸引人且更公正(Ganguli等,2023;Madaan等,2023)。与指令调整相关的一种方法是思维链提示,即在面对复杂问题时,模型被提示解释其推理过程,以增加其最终答案正确的可能性。

  RLHF已经成为对大型语言模型进行微调的一种强大策略,可以显著提高模型的性能(Christiano等,2017)。该方法首次在文本摘要任务中由Stiennon等(2020)展示,并已扩展到其他一系列应用中。

  在这种范式中,模型根据人类用户的反馈进行微调,从而逐步使模型的响应更加符合人类的期望和偏好。Ouyang等(2022)证明了指令微调和RLHF的组合可以帮助解决仅通过扩大LLMs规模无法解决的事实性、毒性和有用性问题。Bai等(2022b)通过使用模型自身的自我批评和修订替代人工标记的微调数据,并在RLHF中使用模型替代人工评分者来部分自动化这种微调加RLHF的方法,这个过程被称为“从AI反馈中学习”(RLAIF)。对于调整后的LLMs进行红队测试的调查揭示了特定挑战,Ganguli等(2022)和Zhuo等(2023)的研究展示了各种成功的攻击类型及其对有害内容生成的影响。国家安全机构和各种研究人员(如Mialon等,2023)也对先进的新兴模型行为、网络威胁以及在生物战等领域的潜在滥用提出了警告。最后,由于加速的AI研究和对LLMs的过度依赖导致训练数据退化,更广泛的社会问题,如工作岗位的消失,也是需要考虑的问题(Acemoglu和Restrepo,2018;Autor和Salomons,2018;Webb,2019;Shumailov等,2023)。我们致力于与更广泛的政策、学术和行业社区就这些问题进行持续的交流和合作。

  在这项研究中,我们介绍了Llama 2,这是一系列具有70亿到700亿参数规模的新型预训练和微调模型。这些模型在与现有的开源聊天模型竞争中表现出了竞争力,并且在我们所检验的评估集上表现出了与某些专有模型相当的能力,尽管它们仍然落后于GPT-4等其他模型。我们详细阐述了实现我们模型所应用的方法和技术,并且非常强调它们与有益性和安全性原则的一致性。为了更有意义地为社会做出贡献并推动研究的进展,我们负责任地开放了Llama 2和Llama 2-Chat的访问权限。作为我们持续致力于透明度和安全性的一部分,我们计划在未来的工作中进一步改进Llama 2-Chat。

  本节内容为作者按姓氏字母顺序排列。我们感谢GenAI执行团队的领导和支持:Ahmad Al-Dahle, Manohar Paluri。

  本工作得以完成,要归功于一大群贡献者。我们对以下人员表示感谢,感谢他们的帮助:表16比较了2k和4k上下文预训练在长上下文基准测试中的性能。这两个模型都是以相同的架构和超参数为基准进行训练的,只是上下文长度不同。我们观察到在SCROLLS(Shaham等,2022)上有改进,其中平均输入长度为3.5k,在SQUAD(Rajpurkar等,2018)上没有性能下降。表17显示了更长上下文模型在各种通用任务上保持了强大的性能。分组查询注意力。自回归解码的标准做法是缓存序列中前一个标记的键(K)和值(V)对,以加快注意力计算速度。然而,随着上下文窗口或批次大小的增加,多头注意力(MHA)模型中与KV缓存大小相关的内存成本显著增加。对于更大的模型,其中KV缓存大小成为瓶颈,可以在多个头之间共享键和值投影,而不会对性能产生太大的降低。可以使用原始的多查询格式,其中只有一个KV投影(MQA,Shazeer,2019),或者使用具有8个KV投影的分组查询注意力变体(GQA,Ainslie等,2023)。

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

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

  因此,基于消融结果和推理扩展的便利性,对于34B和70B的Llama 2模型,我们选择使用GQA而不是MQA。表18:注意力架构消融。我们报告了所有任务的0-shot结果,除了MMLU(5-shot)和GSM8K(8-shot)。对于GSM8K和Human-Eval,我们报告了maj@1和pass@1的结果。对于NQ和TriviaQA,我们报告了EM。对于所有其他任务,我们报告了准确率。

  图24:多查询变体可以在更大的批次大小下实现更高的吞吐量,并且在较小的批次上显示类似的延迟。输出长度固定为128个标记。第一个数据点对应于批次大小为1,然后我们将其加倍,直到模型内存不足。对于256个标记的上下文,MHA变体在批次大小为1024时触发内存不足错误,对于2k上下文,批次大小为128时触发内存不足错误,而MQA和GQA在这些设置中成功运行。

  图24显示了在使用8个80 GiB A100和张量并行性的实验中,30B的GQA和MQA消融模型与MHA基准相比的推理速度如何变化。在这些运行中,我们只是在所有GPU上复制了MQA的KV头,因此MQA的KV缓存大小变得与GQA相等,两个变体的行为非常相似(MQA只是具有稍大的FFN维度)。

  在表格23中,我们报告了在SQUAD上的零样本和少样本结果,以及在QUAC上的零样本和一样本实验。在所有的评估设置和模型中,Llama 2表现最好,除了QUAC的零样本实验,Llama 1 30B稍微更好一些。

  表26展示了超人偏好数据的详细统计信息。总共,我们每周收集了14批次的人类偏好数据(即超人安全性+有用性),其中包含超过100万个二进制模型生成比较。一般来说,随着时间推移,我们吸纳更多的注释员并且他们对任务也变得更加熟悉,后续批次的样本数量也会增加。我们还有意地收集更多的多轮样本,以增加RLHF数据的复杂性,因此每个样本的平均标记数也会相应增加。

  在图25中,我们绘制了随着批次变化的偏好评分变化。可以清楚地看到,随着时间的推移,具有相似回答的样本(例如,微不足道地更好或不确定)的比例显著增加,而具有更强偏好(例如,显著更好)的样本则在同时减少。这反映了我们迭代式模型更新和偏好数据注释过程的特性 - 随着时间推移,使用效果更好的Llama 2-Chat模型进行响应采样,注释员很难从两个同样高质量的回答中选择一个更好的。

  在SFT中,高质量的数据对于对齐至关重要。我们在微调过程中与注释平台密切合作,并选择了一种课程注释策略。在第一个模型中,注释员被要求使提示相对简单,然后逐渐过渡到更复杂的提示,并教授新的技能给Llama 2-Chat。我们在我们的有用性偏好数据上展示了这种课程注释的示例,如图26所示。通过将模型生成的得分分配给更极端的值,形成二分模式和更大的间隔,可以使这种分布转变更加显著。上述观察结果表明,在未来的工作中需要投资于奖励校准,因为强化学习算法(如PPO)对于奖励分布的变化非常敏感。

  我们在Meta Safety测试集上对安全辅助损失的影响进行了消融实验,结果如表29所示。正如预期的那样,使用定制的损失函数可以提高在将奖励分数设为0.5(Sigmoid之前的负数)时,对不安全回复的召回率,并为RLHF提供更好的安全奖励信号。教导模型区分安全和不安全的生成结果也提高了模型在三个子类上的准确性。

  Llama 2-Chat with GAtt在我们的人工评估中能够在最多20轮对话中100%地引用属性。我们将评估的属性限制在公众人物和爱好方面。

  现在,注意力已经超过了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的零-shot泛化。我们在推理时尝试设置GAtt训练中不存在的约束条件。例如,“只用一句话回答”,模型保持一致,如图28所示。

  我们首先将GAtt应用于Llama 1,该模型的上下文长度为2048个标记,然后进行了4096个标记的最大长度微调。我们测试了GAtt是否可以处理超过2048个标记的情况,结果显示该模型似乎能够理解超出此窗口的属性。这一有希望的结果表明,GAtt可以作为一种适用于长上下文的高效技术。

  为了衡量我们奖励模型的鲁棒性,我们收集了一组关于帮助性和安全性的测试提示,并要求注释员根据7分量表(分数越高越好)使用三重评审来评判答案的质量。如附录中的图29所示,我们观察到我们的奖励模型整体上与人类偏好相当一致。需要注意的是,尽管我们的模型是使用成对排名损失进行训练的,但这使我们能够将奖励作为一种逐点度量来使用。

  在本节中,我们将介绍关于评估人工智能模型的人工评估方法和数据收集过程。

  为了比较不同模型的性能,我们收集了一组多样化的4000多个单轮和多轮对话的提示。我们手动收集了一些单轮对话的提示,涵盖了以下几个类别:事实性问题、写作和内容创作、语言辅助、推荐和对话。对于多轮对话的提示,我们让标注员与另一个模型进行交互,生成一组多轮对话的提示。为了确保公平性,我们要求标注员使用四种不同的交互方法来收集多轮对话的提示:(a) 使用ChatGP

上一篇:文天祥的名言十篇
下一篇:红与黑读书笔记