RLHF and alternatives: ORPO

RLHF 及其替代方案:ORPO

2024年4月5日

Argilla, MantisNLP

简介

这是一系列关于人类反馈强化学习替代方案的博客文章,由 Argilla 和 MantisNLP 团队共同努力创建。请确保您已阅读本系列之前的文章,以充分理解上下文和讨论的进展,然后再继续阅读本文。滚动到页面底部以转到本系列的下一篇博文。

在之前的文章中,我们首先分析了执行监督式微调(SFT)和人类反馈强化学习(RLHF)的努力,以及拥有高质量数据的重要性(第一篇 和 第二篇 博文)。然而,RLHF 复杂且通常不稳定,因此我们研究了一种有前景的替代方案,即直接偏好优化(DPO),以便在不需要 RL 的情况下使 LLM 与人类偏好对齐(第三篇 博文)。尽管如此,DPO 并不能解决所有缺点,例如,需要大量的偏好数据才能进行微调。为了解决这个问题,研究人员提出了新的方法。其中一些是人工智能反馈强化学习(RLAIF)或自博弈微调(SPIN)(第四篇 和 第五篇 博文)。为了更好地进行数据对齐,我们还探讨了身份偏好优化 (IPO) 和卡尼曼-特沃斯基优化(KTO)的优势(第六篇 和 第七篇 博文)。

为了改进这个过程,已经从不同的角度开发了几种方法。然而,您是否曾想过在 SFT 期间直接实施 RL?这正是 赔率比偏好优化 (ORPO) 所建议的。

SFT 在模型对齐技术中的作用

目前,模型数量持续增加,训练每个模型都需要大量的资源和时间。因此,当我们想要根据我们的需求定制它们时,我们会应用 指令微调和偏好对齐。首先,我们使用特定于我们希望模型执行的任务的指令来微调模型。然后,通过偏好微调,我们改进其响应,确保它们准确并避开任何有害或不道德的内容,并优化其在其他 NLP 任务中的性能。

然而,这种方法涉及多个模型和训练阶段才能达到预期的结果(想想 RLHF 及其 SFT、RM 和 PPO 步骤,或者 DPO 及其 SFT 和 DPO 阶段)。并且,在所有这些方法的中心,SFT 在实现成功收敛方面起着至关重要的作用

模型对齐技术比较。来源:https://arxiv.org/html/2403.07691v2

尽管之前的研究已经阐明了 SFT 在对齐中的相关性,但研究人员对其进行了深入分析,并发现了一个缺点。SFT 增加了获得所需 token 的可能性,但同时也提高了生成不良结果的概率。这导致人们寻找一种机制,该机制仍然可以使模型适应特定领域,但同时惩罚不良响应。这就是 ORPO 的由来。

在 HH-RLHF 数据集上对 OPT-350M 模型进行微调期间,选择和拒绝响应的对数概率。来源:https://arxiv.org/html/2403.07691v2

赔率比偏好优化 (ORPO)

您可以在此处查看官方 GitHub 存储库。如果您想深入了解实际应用,ORPO 功能已集成到 Hugging Face 的 TRL 库中的ORPO trainer中。

ORPO 将指令微调和偏好对齐结合在一个过程中,使其无需参考模型,并且计算效率更高。它不仅在资源方面更有效率,而且还节省内存,并应执行更少的 FLOP。

ORPO 通过使用基于赔率比的损失来惩罚不良响应以及传统的负对数似然损失 (NLL) 来创建新的目标,从而使其能够区分有利和不利的响应。因此,它包括两个主要组成部分

  • SFT 损失: 用于传统语言因果建模的 NLL 损失函数,最大化生成参考 token 的概率。
  • 相对比率损失:最大化生成有利响应和不利响应之间的赔率比。

这些组件共同指导 LLM 适应特定领域的期望生成,并反对拒绝响应集中的生成。

ORPO 真的有效吗?

为了评估这种方法,研究人员研究了它在各种模型尺寸上的表现,从较小的 125-M 参数模型到较大的 1.3-B 参数模型,并使用了 Anthropic 的 HH-RLHF 和二元化 UltraFeedback(以及 Argilla 的清理版本)偏好数据集。研究结果表明,ORPO 优于其他算法。当使用 AlpacaEval 基准来遵循指令时,ORPO 在 Phi-2、Llama-2 或 Mistral 等模型上获得了更好的结果,尤其是在后者上,它在 AlpacaEval2.0 上达到了 12.20%。在多轮指令跟随任务中,ORPO 也表现出色,在 MT-Bench 上获得了 7.32 的分数,与其他大型语言模型相当,尽管它没有在多轮对话数据上进行训练。

Mistral-ORPO-α (7B) 和 Mistral-ORPO-β (7B) 按类别的 MT-Bench 结果。Mistral-ORPO-α 专门在 HuggingFaceH4/ultrafeedback_binarized 上进行微调;而 Mistral-ORPO-β 专门在 UltraFeedback 清理版本的 61k 个实例上进行微调,argilla/ultrafeedback-binarized-preferences-cleaned,由 Argilla 提供。来源:https://arxiv.org/html/2403.07691v2

当比较 ORPO 与 SFT、PPO 和 DPO 的胜率和奖励分布时,在所有模型尺寸和两个数据集中都观察到了增长。在第一种情况下,ORPO 优于 SFT 和 PPO,最高胜率达到 85%;而 DPO 的胜率则显示出与模型尺寸成比例的增长。此外,在检查词汇多样性后,很明显 ORPO 倾向于为期望的 token 分配更高的概率,并生成更具体的响应。

使用不同对齐方法训练的模型的 AlpacaEval 2.0 分数。来源:https://arxiv.org/html/2403.07691v2

一些局限性

虽然 ORPO 已经展示出令人鼓舞的结果,但其在各种任务和领域中的通用性,或者在扩展到更大的语言模型时,仍有待彻底检验。与常用的 DPO 和 RLHF 之外的其他偏好对齐算法进行更广泛的比较分析将是有益的。此外,探索 ORPO 与这些算法集成的潜力可能会提供有价值的见解。

结论

ORPO 凭借其基于似然比的新颖方法,为模型对齐提供了一个全新的视角,这可能会带来显着的资源效率提升。其方法简单而有效,能够微调语言模型,使其不仅适应特定领域,还能对齐其响应。在 LLM 变得越来越普遍且实验越来越频繁的情况下,ORPO 将自己定位为一种有价值的替代方案。虽然还需要进一步的研究和实验,但到目前为止的结果是很有希望的。

想了解更多?

这是专门讨论 RLHF 替代方案的系列博客文章的第八篇。第一篇第二篇第三篇第四篇第五篇第六篇第七篇文章也可以在我们的网站上找到。

Argilla 和 Mantis NLP 团队很乐意帮助您解答关于使用监督式微调、强化学习或直接偏好优化来训练 LLM 的准备步骤的任何问题。

Argilla 的 LLM 数据平台目前支持所有数据整理步骤,Mantis NLP 则为整个过程提供端到端支持。