现在有许多方法可以使大型语言模型(LLM)与人类偏好保持一致。以人类反馈为基础的强化学习(RLHF)是最早的方法之一,并促成了ChatGPT的诞生,但RLHF的成本非常高。与RLHF相比,DPO、IPO和KTO的成本明显更低,因为它们不需要奖励模型。

虽然DPO和IPO的成本较低,但它们仍需训练两个不同的模型。首先是监督微调(SFT)步骤,即训练模型按指令回答问题,然后使用SFT模型作为初始化和参考,以使模型与人类偏好一致。

ORPO是另一种新的LLM对齐方法,这种方法甚至不需要SFT模型。通过ORPO,LLM可以同时学习回答指令和满足人类偏好。

在本文中,我将解释ORPO并介绍其相关的内容,最后将展示如何使用消费级硬件将Mistral 7B转换为聊天模型。

ORPO:Monolithic Preference Optimization without Reference Model

作者通过展示SFT步骤在对齐流程中并不理想来很好地论证了ORPO的动机。虽然在指令数据集上微调模型确实使模型适应在特定领域回答指令,但生成人类可能拒绝的答案的概率也增加了。

被选中和被拒绝的响应可能有很多共同点:相同的领域、相同的格式等,因此生成与任务相关但不正确的答案的概率增加。而DPO可以降低被拒绝响应的概率,同时增加被选择响应的概率,即在上图中的曲线之间增大差距。偏好优化技术是在包含以下内容的数据集上训练的:

提示
 选择的答案
 被拒绝的答案