DPO微调SmolVLM:如何实现AI与人类偏好深度对齐

Pyimagesearch

人工智能模型,特别是大型语言模型和视觉-语言模型(VLM),经常面临一个严峻挑战:尽管它们生成的响应在技术上可能正确,但这些输出可能缺乏用户期望的细致入微、类人品质。例如,一个聊天机器人可能会提供准确的信息,但语气过于刻板或粗鲁;或者一个VLM可能会用不相关的细节来描述图像,尽管它最大化了其内部似然分数。在这种情况下,传统的监督式微调方法显得力不从心,因为它们没有考虑到人类偏好或主观有用性。

偏好优化通过训练模型根据人类或代理判断,从一组选项中区分并选择“更好”的响应,从而弥补了这一差距。这种范式允许模型优先考虑清晰度、情商或安全性等品质,超越单纯的流畅性,生成更符合人类意图的输出。

虽然人类反馈强化学习(RLHF)和AI反馈强化学习(RLAIF)等方法在模型对齐中发挥了重要作用,但它们通常会带来显著的复杂性、不稳定性和高计算成本。直接偏好优化(DPO)作为一种更简单但有效的替代方案出现,它直接从偏好数据中学习,无需单独的奖励模型或复杂的强化学习循环。本文探讨了DPO的原理,并演示了其在微调SmolVLM模型以改进人类对齐方面的应用。

什么是偏好优化?

偏好优化涵盖了一类微调技术,旨在使机器学习模型,特别是语言模型(LM)和视觉-语言模型(VLM)等生成模型,与人类或代理评估保持一致。模型不再仅仅预测下一个词元,而是被优化以生成被评估者(可以是人类标注者或另一个AI模型)认为是“更可取”的输出。这对于使生成式AI在实际应用中更有用、更安全、更具吸引力至关重要。

偏好优化的核心是向模型呈现成对的输出(例如,一个首选,一个被拒绝),并调整其内部参数,以增加生成首选响应的概率。这种方法超越了僵化的、基于规则的对齐,能够根据定性判断进行细粒度控制——这是一项人类擅长但机器无法固有学习的任务。

技术类型

人类反馈强化学习(RLHF)
RLHF是一种广泛采用的对齐大型语言模型的方法,尤其在ChatGPT等模型中得到应用。它涉及一个三步过程:

  1. 监督式微调(SFT): 初始基础模型在精心策划的提示-响应对数据集上进行微调,以提供一个基础模型。

  2. 奖励建模: 人类标注者对SFT模型生成的多个输出进行排序。然后,这些人类排名被用于训练一个单独的“奖励模型”,该模型学习为新输出分配分数,模仿人类判断。

  3. 策略优化: SFT模型使用强化学习算法(通常是近端策略优化PPO)进一步微调,以最大化奖励模型预测的分数。

尽管RLHF带来了令人印象深刻的对话和编码能力,但其流程计算密集且复杂,需要训练多个模型并在训练循环中进行大量采样。

AI反馈强化学习(RLAIF)
RLAIF沿用了RLHF的结构,但用一个预训练了现有“人类”评分的AI“偏好代理模型”取代了人类标注者。这使得偏好判断能够可扩展地泛化,显著降低了人工标注成本。尽管RLAIF加速了迭代并减少了人力,但它引入了放大现有模型偏差的风险。尽管如此,它在旨在实现可扩展AI对齐的项目中已被证明是有效的。

直接偏好优化(DPO)
DPO是一种基于偏好的微调方法,它根据人类反馈直接优化模型的策略,使其偏好某些输出而非其他输出。与RLHF不同,DPO无需训练单独的奖励模型和使用强化学习算法。相反,它通过直接优化模型生成首选响应相对于非首选响应的似然性来简化过程。DPO包含一个动态的、按示例的重要性权重,可防止模型退化,这可能发生在朴素的概率比目标中。

身份偏好优化(IPO)
IPO通过引入正则化项来扩展DPO。该项阻止模型偏离参考模型(通常是原始监督式微调模型)过远。这有助于保持流畅性和任务特定知识,防止对噪声或稀疏偏好数据过拟合,并确保对齐不会导致模型核心能力的退化。在数学上,IPO通过身份约束增强了DPO损失,将稳定性融入到偏好学习过程中。

群组相对策略优化(GRPO)
随DeepSeek-R1等模型引入的GRPO是一种强化学习技术,它根据跨响应组的相对偏好来优化模型行为。GRPO不依赖单一奖励信号或二进制偏好对,而是为给定提示生成多个候选响应,并使用自动化、基于规则或启发式反馈对其进行评估。这使得GRPO特别适用于具有可验证结果的领域,例如数学、编程或逻辑谜题,在这些领域中,无需人工标注即可确定正确性。GRPO采样一组响应,使用自动化规则分配分数,进行相对排名,然后应用PPO风格的更新,从而无需价值函数,简化了训练。

直接偏好优化(DPO)详解

RLHF风格微调大型语言模型的一个主要挑战是其固有的复杂性。学习奖励函数然后通过强化学习对其进行优化常常导致不稳定、显著的计算开销和实现困难。直接偏好优化(DPO)通过消除单独的奖励模型并仅使用偏好比较直接优化最终策略,提供了一种强大的替代方案。

从奖励到策略:变量变换的洞察

DPO首先考虑经典的RLHF设置,该设置旨在最大化预期奖励,同时通过KL散度约束使微调策略接近参考策略(通常是监督式微调模型)。在此设置下,最优策略已知遵循玻尔兹曼分布,并由指数化的奖励函数加权。挑战在于,精确的奖励函数和归一化项是未知的且难以近似。

DPO的关键洞察是“变量变换”。通过对最优策略方程取对数并重新排列,奖励函数可以直接用策略本身来重新表达。这种“奖励即策略”的观点允许DPO将此表达式整合到标准偏好模型中,例如布拉德利-特里模型。该模型通常取决于给定输入下两个响应之间奖励的差异。当基于策略的奖励表达式被代入布拉德利-特里模型时,有问题的归一化项会抵消,从而得到一个完全用模型策略表达的偏好概率。

DPO目标函数

有了这个公式,DPO损失可以写成偏好和拒绝响应对数据集上的负对数似然。这个目标函数直接鼓励模型增加偏好响应的对数概率,同时减少被拒绝响应的对数概率。一个超参数,通常被称为逆温度,控制这些偏好决策的锐度。该目标有效地衡量了当前模型的策略与观察到的人类偏好对齐的程度,并惩罚了首选响应比被拒绝响应可能性更低的情况。

梯度如何工作

检查DPO损失的梯度提供了模型如何更新的机械理解。如果模型已经正确地将首选响应排在被拒绝响应之上,则梯度将很小,表明需要最小的调整。然而,如果模型错误地将首选响应排在被拒绝响应之下,则梯度将更大,更强烈地推动模型偏向首选响应。这种更新机制本质上是自我纠正的,并随着模型偏好反转的严重程度动态调整。

DPO在实践中如何运作

DPO的实际实现包括三个主要步骤:

  1. 数据集创建: 为给定提示采样候选完成,并确定首选响应,通常通过人类反馈或代理评分机制。

  2. 设置参考策略: 建立参考策略,通常是监督式微调模型或通过最大似然估计在首选完成上训练的基线模型。

  3. 优化: 使用标准梯度下降法最小化DPO目标函数,直接更新模型参数以与偏好数据对齐。

使用DPO微调SmolVLM

为了演示DPO的实际应用,我们可以微调像Hugging Face的SmolVLM这样的视觉-语言模型。对于此实现,我们使用OpenBMB RLHF-V-Dataset,该数据集包含5,733个人类偏好对,其中包含针对各种指令(包括详细描述和问答)的细粒度片段级更正,用于对齐。

加载SmolVLM并配置LoRA

首先加载预训练的SmolVLM模型及其对应的处理器。为了使微调更高效且计算成本更低,配置并应用了低秩适应(LoRA)。LoRA是一种参数高效的微调技术,它向模型现有权重添加小的、可训练的矩阵,与完全微调相比,显著减少了训练期间需要更新的参数数量。

加载和格式化数据集

接下来,加载OpenBMB RLHF-V-Dataset并将其拆分为训练集和测试集。然后应用自定义格式化函数来预处理数据。该函数解析原始文本,将其结构化为带有明确“用户”和“助手”角色的聊天式格式,并为选择和拒绝的答案创建单独的条目。模型的处理器用于将聊天模板应用于这些文本输入。此外,数据集中的图像被调整大小以防止处理过程中出现内存不足错误。这种转换确保数据以正确的格式进行DPO训练,为每个提示提供明确的首选和拒绝响应。

DPO微调

模型和数据集准备就绪后,DPO微调即可开始。使用DPOConfig对象定义训练参数,指定输出目录、批大小、梯度累积步数和训练周期数等详细信息。然后使用加载的模型、配置的LoRA设置、准备好的数据集和训练参数初始化DPOTrainer实例。训练循环进行,根据DPO损失优化模型。在训练期间,观察到模型开始为测试数据集中选择的答案分配更高的分数。例如,在一个观察中,到第三个周期结束时,奖励准确率达到62.5%,表明对齐有所改进。随着更长的训练时间和更多原始数据集样本,预计这种准确率会进一步提高。训练完成后,保存微调后的模型。

测试微调模型

最后,在测试集的新示例上测试微调后的SmolVLM模型。一个实用函数准备文本和图像输入,使用模型的generate方法生成响应,然后解码输出。当在示例图像和提示上进行测试时,观察到模型生成的响应具有描述性且事实准确,与原始数据集中的首选答案而非被拒绝答案非常相似。这一实际演示突显了DPO算法在增强AI响应以使其更对齐、更以人为中心方面的有效性。

总结

偏好优化领域对于使AI模型与人类期望对齐至关重要。虽然RLHF和RLAIF等初始方法依赖于复杂的反馈循环,但直接偏好优化(DPO)、身份偏好优化(IPO)和群组相对策略优化(GRPO)等新策略正在推动该领域的发展。每种方法都提供了解释和应用偏好的独特方式,其中GRPO尤其引入了基于群组的结构以适应多样化反馈。

DPO以其优雅的基础脱颖而出。通过巧妙的变量变换,将传统的奖励最大化问题转化为直接的策略学习目标,DPO消除了对显式奖励建模的需求,简化了优化过程。这种视角转变使得DPO因其效率和有效性而在实际对齐任务中越来越受欢迎。

DPO在微调SmolVLM模型中的实际应用证明了其效用。该过程涉及仔细加载和准备模型、格式化偏好数据集以及执行DPO微调步骤。结果表明,DPO成功地增强了模型的响应,使其更符合人类偏好。这一实际演示强调了DPO在开发更以人为本的AI系统方面的潜力。

DPO微调SmolVLM:如何实现AI与人类偏好深度对齐 - OmegaNext AI 新闻