听伯克利博士给你讲解Llama 2的技术细节
文章来源于品玩GenAI,作者大模型机动组
文章翻译自《Llama 2: an incredible open LLM》
原文作者|NATHAN LAMBERT
Llama 2 模型是什么:Llama 2 相较于上一代其训练数据提升了40%,包含了70亿、130亿和700亿参数 3个版本。Llama 2 接受了 2 万亿个 tokens 的训练,其上下文长度是 Llama 的两倍,其微调模型也接受了超过 100 万个人类注释的训练。
它是开源的吗:其实从技术上来讲,它不是完全开源的,因为其开发和使用并没有完全面向全体公众开放。但在开源社区中它仍然非常有用。
Llama 2的能力: 通过广泛的基准测试,我第一次确信有一款开源模型的能力达到了 ChatGPT 的水平(编码除外)。
Llama 2的成本: 推出Llama 2 这样的模型需要大量的预算和资金调配。(如果按照市场价格计算,偏好数据这一项的预算将达到2500 万美元),此外还需要非常庞大的研发团队。制作一款通用模型的基础投入就是这么庞大。
其他构件:没有迹象表明 Llama 2从其他奖励模型或数据集进行 RLHF。
关于 Meta AI:Meta AI 这个组织显然与Yann Lecun 以及最初的 FAIR 有很大的区别。
代码/数学/推理:论文中没有过多讨论代码数据和RLHF过程。
多轮一致性:Meta 提出一种提高多轮一致性的新方法GAtt,它的灵感来源于上下文蒸馏法。在我们更好的理解如何根据需要来训练模型之前,这些通常是提高模型性能的好手段。
奖励模型: 使用两种奖励模型来避免 Anthropic 工作中发现的安全性与有用性的权衡。
数据控制:大量关于分配控制的评论(正如我所说是 RLHF 的关键)。这很难重现。
RLHF流程:采用一套两阶段RLHF方法。这种方法从拒绝采样开始,然后进行拒绝采样+近端策略优化(PPO),用这种方法表明 RLHF 的重要性,并证明LLM的卓越写作能力在根本上是由RLHF所驱动的
生成模型:根据具体情况来调整温度参数。
安全/危害评估:论文用了几乎一半的内容来进行安全评估总结。出于安全目的,论文给出了详细的背景调查以及RLHF过程。当然文章显示的结果并不完美,但我认为这是想正确方向迈出的第一步。
许可声明:Meta 表示,Llama 2模型可用于商业用途,但如果用户的产品每月活跃用户数 >= 7 亿,则需要填写申请表格才能访问,用户还可以从 HuggingFace 中心下载模型。
基础模型
Meta 的训练语料库包括来自公开来源的新数据组合,其中不包括来自 Meta 产品或服务的数据。Meta努力剔除某些已知的包含大量个人隐私信息的网站数据。并让其在 2 万亿个Token 的数据上进行了训练,因为这样可以更好地权衡性能和成本,对最真实的数据源进行上采样,以增加知识和减少幻觉。
偏好数据
Meta 采用的是二分类模型评价指标,而不是其他更复杂的反馈类型。这有点像1-8级的李克特量表,但定性为 "明显更好、更好、稍好、可忽略不计的好或者是不确定"。
Meta 使用多轮偏好,即从不同模型检查点获取模型响应,以产生模型之间的多样性。以这种方式改变所使用的完成度会使偏好数据更加多样化,并为他们稍后部署的一些迭代 RLHF 提供支持。
将数据收集的重点放在有用性和安全性上,并在收集数据时对每个数据源使用不同的指导原则。这与 Anthropic 的工作形成了鲜明对比。
该团队在收集的信息中添加了额外的安全元数据,展示了模型在每一轮中的安全响应。当这些信息被传递到建模阶段时,他们 "不包括任何所选响应不安全而其他响应安全的例子,因为我们相信更安全的响应也会更受人类青睐"。
Meta 没有详细说明记录的其他元数据,但这很可能是为了识别潜在的错误和数据问题。其他需要标记的内容可能是令人迷惑的提示或是需要工具解决的问题等。
为分发管理部署迭代收集:"每周分批收集人工注释。随着我们收集到更多偏好数据,我们的奖励模型也得到了改进,我们能够为《Llama 2-Chat》逐步训练出更好的版本"。
规模之大令人咋舌(如果假定供应商提供的数据大致是市场价格,那么仅数据一项就可能花费 2000 多万美元),回合数远远超过通常可用的回合数。请注意,他们没有比较或使用开放式助手数据,而这些数据也可用作偏好数据。下图总结了这一步的数据。
奖励模型
在进行RLHF 之前的起点奖励模型是在开源数据上训练出来的,"我们没有观察到开源偏好数据集的负迁移",因此他们将其保留给了后来的模型。这些最初的模型被用于供应商早期数据的采样。
保留了Anthropic 的一些无害性数据(90% 是他们自己的数据),但论文没有解释为什么需要这些数据。
此外,按照论文中的标准,模型只训练了一个 epoch 。这是为了避免过度拟合,而奖励模型很容易出现这种情况。
奖励模型的平均准确率仍然只有 65-70%),但也对与集合中 "明显不同 "的标签进行了测试,结果更好(当贴标者的偏好共识很强时,准确率可达 80-90%)!
还有一些有趣的点:
在奖励模型损失函数中增加一个边际项(与偏好的置信度成正比),提高了有用性。这是 OpenAI 和 Anthropic 所使用的损失函数的延续,看起来是一个非常合理的决定,只要来自标记者的分数不是太嘈杂(Meta 也使用了每对 3 票的共识)。
随着模型在他们的设置中逐渐收敛,模型比较之间的偏好三角会随着数据供应商的批次而减少。
作者将他们的奖励模型与 GPT4 作为奖励模型进行了比较,仅从在开源数据上训练的奖励模型表现来看并没有击败 GPT4。
我们注意到,奖励模型的准确性是 Llama 2-Chat 最终性能的最重要代表之一。
RLHF 和微调
质量是你所需要的一切。
第三方 SFT 数据可从许多不同来源获得,但我们发现,其中许多数据的多样性和质量都不够高,尤其是在将 大语言模型与对话式指令对齐方面...... 通过撇开来自第三方数据集的数百万个示例,使用来自我们自己的基于供应商的注释工作的较少但质量较高的示例,我们的结果有了明显改善。我们发现,数以万计的 SFT 注释足以获得高质量的结果。
我们还观察到,不同的注释平台和供应商可能会导致明显不同的下游模型性能,这突出了数据检查的重要性,即使在使用供应商提供注释的情况下也是如此。为了验证我们的数据质量,我们仔细检查了一组 180 个示例,比较了人类提供的注释和模型通过人工检查生成的样本。出乎意料的是,我们发现由 SFT 模型生成的样本输出往往能与人类注释者手写的 SFT 数据相媲美,这表明我们可以调整优先级,将更多的注释精力投入到基于偏好的 RLHF 注释中。
[事实证明,强化学习非常有效,特别是考虑到其成本和时间效益。我们的研究结果强调,RLHF 成功的关键因素在于它在整个注释过程中促进了人类与 LLM 之间的协同作用。即使是熟练的注释者,每个人的写作也会有很大的差异。根据 SFT 注释进行微调的模型可以学习这种多样性,不幸的是,其中也包括执行不力的注释的尾部。此外,该模型的性能受制于最熟练注释者的写作能力。
在整个 RLHF 阶段,迭代奖励建模数据的积累与模型的改进同时进行,对于确保奖励模型保持在分布范围内至关重要。
拒绝采样(RS)的搜索范围更广(每次提示的代数更多),而 PPO 对每个奖励模型的更新更多。
不同方法之间的最终差异并不明显(与 WebGPT 的研究结果类似)。
在 RLHFV4 中,他们只使用了拒绝采样,然后在最后一步使用 PPO 和拒绝采样进行微调(在某些评估中,PPO 略胜一筹)。
评估
在回顾这些结果时,我们必须注意到,由于提示集的局限性、评审指南的主观性、单个评分者的主观性以及比较世代的固有困难,人类评价可能会产生一定的问题。
校准奖励模型得分与人类标注者对某对动物的偏好(误差仍然很大)--这是一条直线,人类偏好越高,得分就越高。我怀疑这种类型的行为极难获得。
他们将自己的奖励模型与在开源数据集上训练的奖励模型进行了比较。这有助于说明开源领域的可能性。
同时在 ChatGPT 和 Llama 2-Chat 输出上评估模型,以避免模型因自身风格偏差而增强自身结果。这是我在论文中最满意的地方之一。
对评分者间可靠性指标的使用很有意思(应该有更多人使用这些指标),比如 Gwet 的 AC1/2,它们都是经过适当设计的统计工具。当模型胜率比较平均时,内部收益率就会下降,因此显示平局的结果应考虑更大的误差条。
承认人工评估的局限性:大量的评估提示集没有涵盖所有实际用途,缺乏编码/推理评估,而且只评估了最终的对话回合。
安全性
后话
我们在 Meta 的研究超级集群(RSC)(Lee 和 Sengupta,2022 年)以及内部生产集群上对我们的模型进行了预训练。
有了这两个集群的设置,我们就能比较这些不同类型的互连对大规模训练的适用性。
我们的开放式发布策略意味着其他公司无需承担这些预培训成本,从而节省了更多的全球资源。
如果在 Llama 2 版本发布之日,由被许可人或为被许可人或被许可人的关联公司提供的产品或服务的月活跃用户在一个自然月超过 7 亿,那您必须向 Meta 申请许可,Meta 可自行决定是否授予您许可,除非 Meta 以其他方式明确授予您此类权利,否则您无权行使本协议项下的任何权利。
微信扫码关注该文公众号作者