面向聊天机器人微调的直接偏好优化:一项实证研究

arXiv cs.CL 论文

摘要

本文对直接偏好优化(DPO)在大型语言模型微调中的应用进行了实证研究,表明DPO简化了训练流程,在实现竞争性性能的同时,也解决了训练不稳定性问题。

arXiv:2606.12881v1 公告类型:新 摘要:我们提出了一种使用直接偏好优化(DPO)(一种强化学习技术)对大型语言模型进行微调的方法。我们的实验结果表明,DPO简化了训练流程,提高了计算效率,并实现了具有竞争力的性能。使用BLEU、ROUGE和余弦相似度指标进行的评估表明,模型能够有效学习和收敛,但仍需进一步研究以解决观察到的训练不稳定性问题。
查看原文
查看缓存全文

缓存时间: 2026/06/12 08:50

# 直接偏好优化在聊天机器人微调中的实证研究
来源:https://arxiv.org/html/2606.12881

###### 摘要

我们提出了一种使用直接偏好优化(DPO)微调大语言模型的方法,这是一种强化学习技术。实验结果表明,DPO简化了训练流程,提高了计算效率,并取得了具有竞争力的性能。使用BLEU、ROUGE和余弦相似度指标的评估表明模型能够有效学习并收敛,但观察到训练不稳定性问题,需要进一步研究。

机器学习,ICML

## 1 引言

大语言模型(LLM)的快速发展已经彻底改变了从机器翻译、文本摘要到对话生成和情感分析等各种自然语言处理(NLP)任务。传统的微调方法通常需要大量的计算资源和复杂的训练流程,其中包含奖励建模等中间步骤。为了解决这些挑战,我们探索了直接偏好优化(DPO),这是一种无需奖励建模、直接基于人类偏好优化模型的强化学习方法。使用DPO的动机在于,它是一种能够有效优化与传统RLHF(基于人类反馈的强化学习)算法相同目标(即受KL散度约束的奖励最大化)的算法。然而,DPO因其实现简单和易于训练而脱颖而出。本质上,DPO的更新机制通过引入动态的、每个样本的重要性权重,提高偏好响应相对于非偏好响应的相对对数概率。这种方法缓解了使用朴素概率比目标时常见的模型退化问题。与现有算法类似,DPO依赖于一个理论偏好模型(如Bradley-Terry模型)来衡量奖励函数与经验偏好数据的一致性。与传统方法使用该偏好模型训练奖励模型,然后基于学到的奖励模型优化策略不同,DPO通过变量变换的方式,将偏好损失直接重新定义为策略的函数。这使得DPO能够基于人类偏好数据集,使用简单的二元交叉熵目标来优化策略,最终产生一个与从偏好数据中推导出的隐式奖励函数对齐的最优策略(Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。

在本文中,我们详细介绍了使用DPO微调预训练语言模型cognitivecomputations/dolphin-2.1-mistral-7b的方法。我们利用一个高质量、人工标注的偏好数据集来训练模型,旨在实现跨多种NLP任务的高效且有效的性能。我们的实验结果展示了DPO在简化性、效率和适应性方面的优势,同时也指出了进一步改进的方向。

我们的研究在此基础上,将DPO应用于预训练的LLM(cognitivecomputations/dolphin-2.1-mistral-7b),并评估其在多种NLP任务上的性能。我们使用的DPO框架由关键方程描述,这些方程对一个响应优于另一个响应的概率进行建模,并定义了一个最大化该概率的优化目标。策略更新规则来自损失函数的梯度,确保了高效且有效的学习。

为了训练模型,我们使用了argilla/ultrafeedback-binarized-preferences-cleaned数据集,该数据集提供了专门为DPO训练设计的高质量人工标注偏好数据。该数据集通过严格的清洗过程解决了早期数据集中存在的问题(如标签不匹配)。我们将数据集随机划分为训练集和验证集,并进行了预处理步骤以确保计算资源的高效利用。

我们的评估指标包括BLEU、ROUGE和余弦相似度,它们衡量文本生成质量的不同方面:BLEU关注精确率,ROUGE强调召回率,余弦相似度则捕捉生成文本与参考文本之间的语义相似性。此外,我们还使用WebGPT和Elizabot数据集进行了评估,以衡量模型在知识型和对话型场景中的表现。人工评估进一步提供了关于模型准确性和对话风格的定性见解。

在接下来的章节中,我们将展示实验结果,详细描述训练过程、损失函数的收敛情况以及性能指标。我们讨论了研究结果的意义以及未来研究的潜在方向,特别关注训练过程中观察到的不稳定性及其可能原因。

## 2 背景/相关工作

大语言模型(LLM)的发展以多个重要里程碑为标志,尤其是基于Transformer的架构如GPT-3、BERT及其后继者。这些模型因其生成连贯且上下文相关文本的能力,在众多NLP任务中树立了新的标杆。这些聊天机器人能够检测用户意图、理解对话上下文,并提供个性化的响应,使其更自然、更贴合用户需求。这种上下文理解和个性化水平是对话AI领域向前迈出的重要一步,有助于缩小人机交互之间的差距(Ceresnak, 2024 (https://arxiv.org/html/2606.12881#bib.bib2))。然而,针对特定应用微调这些模型仍然是一个复杂且资源密集的过程。传统的微调技术通常依赖于带标签数据集的监督学习,而这可能受限于训练数据的质量和多样性。此外,它们需要对所有参数进行调整,面临着高计算和内存需求的挑战。这促使了参数高效微调(PEFT)技术的发展,该方法通过选择性更新参数来平衡计算效率与性能(Balne et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib1))。

最近的进展引入了强化学习(RL)方法来解决其中一些局限性。近端策略优化(PPO)和其他RL算法已显示出在通过与环境或人类反馈的交互来优化LLM方面的潜力。具体来说,PPO在使用随机梯度上升优化“替代”目标函数之前,通过与环境交互来采样数据,而标准的策略梯度方法则对每个数据样本进行一次梯度更新(Schulman et al., 2017 (https://arxiv.org/html/2606.12881#bib.bib4))。尽管取得了这些进展,该过程通常仍然涉及奖励建模这一中间步骤,这增加了复杂性和计算负担。

直接偏好优化(DPO)作为一种新颖的方法出现,它通过直接基于人类偏好优化策略来简化这一过程。与传统方法需要创建和维护一个奖励模型不同,DPO以更直接的方式利用偏好数据来调整模型的策略。这种方法不仅减少了计算开销,而且使模型更紧密地与人类判断和期望保持一致。

## 3 方法

我们将DPO应用于一个预训练的语言模型。

### 3.1 直接偏好优化(DPO)

直接偏好优化(DPO)是一种强化学习方法,旨在不经过奖励建模的中间步骤,直接根据人类偏好优化语言模型。与传统方法不同,DPO利用一个理论框架,允许基于偏好数据直接调整策略(Xu et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib5))。

DPO算法可以通过以下关键方程和概念来描述。

DPO使用一个偏好模型,其中对于给定的提示\(x\)和响应\(y_1\)和\(y_2\),\(y_1\)优于\(y_2\)的概率被建模为:

\[
P(y_1 \succ y_2 | x) = \sigma(r(x, y_1) - r(x, y_2)),
\tag{1}
\]

其中\(\sigma\)是sigmoid函数,\(r\)是奖励函数(Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。

DPO的优化目标是最大化以下目标:

\[
\mathcal{L}_{\text{DPO}} = \mathbb{E}_{(x,y_1,y_2) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \left( \log \frac{\pi_{\theta}(y_1|x)}{\pi_{\theta}(y_2|x)} - \log \frac{\pi_{\text{ref}}(y_1|x)}{\pi_{\text{ref}}(y_2|x)} \right) \right) \right]
\tag{2}
\]

其中\(\beta\)是一个常数缩放因子,\(\pi_{\theta}\)和\(\pi_{\text{ref}}\)分别是当前策略和参考策略(Xu et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib5); Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。

策略更新规则来自损失函数的梯度:

\[
\nabla_{\theta} \mathcal{L}_{\text{DPO}} = \mathbb{E}_{(x,y_1,y_2) \sim \mathcal{D}} \left[ \left( \sigma(\Delta r) - 0.5 \right) \left( \frac{\nabla_{\theta} \pi_{\theta}(y_1|x)}{\pi_{\theta}(y_1|x)} - \frac{\nabla_{\theta} \pi_{\theta}(y_2|x)}{\pi_{\theta}(y_2|x)} \right) \right]
\tag{3}
\]

其中\(\Delta r = r(x, y_1) - r(x, y_2)\)(Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。

DPO相对于传统强化学习方法具有以下优势:

- **简化性**:通过直接优化策略而无需学习显式奖励模型,DPO简化了训练流程(Xu et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib5))。
- **高效性**:直接优化过程使DPO计算效率高,减少了与奖励模型学习和RL微调相关的开销(Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。
- **性能**:实证研究表明,DPO在情感调节、摘要生成和对话生成等多种任务中可以达到与PPO相当或更优的性能(Xu et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib5); Rafailov et al., 2023 (https://arxiv.org/html/2606.12881#bib.bib3))。
- **适应性**:DPO对分布偏移具有鲁棒性,能够有效处理不同的输入分布(Xu et al., 2024 (https://arxiv.org/html/2606.12881#bib.bib5))。

### 3.2 预训练模型

我们使用的预训练模型是cognitivecomputations/dolphin-2.1-mistral-7b,它是Mistral 7B模型的一个微调版本,并采用了ChatML模板。该模型基于MistralAI的Mistral架构,并根据Apache-2.0许可证分发。模型在Dolphin数据集上训练,该数据集是微软Orca的开源实现。该模型未经审查,开发者已对数据集进行过滤以消除偏见并确保合规性。因此,该模型可以回应各种问题(包括潜在的不道德问题),原因在于其对请求的高度顺应性。

### 3.3 数据集

#### 3.3.1 数据集描述

我们使用的DPO数据源是argilla/ultrafeedback-binarized-preferences-cleaned,选择它的原因如下:

- 该数据集提供了专门为大型语言模型(LLM)的直接偏好优化(DPO)训练设计的高质量人工标注偏好数据。
- 该数据集由Argilla创建,旨在解决早期DPO数据集中存在的问题(如标签不匹配)。
- 该数据集经过清洗过程,包括添加批评意见和完善现有数据,以确保其准确反映真实世界的人类偏好。

#### 3.3.2 训练-验证划分

我们将数据集随机划分为11000条用于训练,2750条用于验证。

#### 3.3.3 输入预处理

在训练过程中,我们将最大提示长度设置为512,将提示和答案合并后的最大长度设置为1024,并采用左侧截断,以通过过滤掉长样本并仅保留重要信息来降低内存需求和计算成本。

### 3.4 DPO和参考模型结构

#### 3.4.1 DPO模型结构

我们应用了4比特精度量化、带有QLoRA配置的PEFT以及Flash Attention,以提高效率和可扩展性,尤其适用于大规模模型和长序列。对于PEFT配置,我们使用LoRA,lora alpha设置为128,dropout率为0.05。这三种技术显著减少了训练和存储所需的参数和内存。

#### 3.4.2 参考模型结构

该模型结构用于参考模型。

### 3.5 损失函数

我们使用sigmoid函数作为损失函数,并将问题视为二元交叉熵损失,同时加入KL散度作为额外惩罚项。KL散度的权重由beta控制,beta越高,散度越小。

### 3.6 评估指标

#### 3.6.1 BLEU

BLEU(双语评估替补)分数衡量机器生成文本与参考文本之间的对应关系,重点关注精确率。它通常用于评估从一种语言到另一种语言的机器翻译文本质量。

#### 3.6.2 ROUGE

ROUGE(面向召回的摘要评估替补)分数衡量机器生成文本与参考文本之间n-gram、词序列和词对的重叠程度,强调召回率。

#### 3.6.3 余弦相似度

余弦相似度广泛应用于文本分析和自然语言处理应用中,用于衡量文档或句子之间的相似度。每个句子被分词化为一个向量,余弦相似度则计算为这些向量的点积除以其模长的乘积。与BLEU和ROUGE等指标不同,余弦相似度提供了更侧重于内容的分析,更有效地捕捉文本之间的上下文和语义相似性。

#### 3.6.4 人工评估

我们还人工审查了训练后模型和预训练模型生成的答案,根据事实准确性、连贯性、整体有用性和对话风格对每个响应进行评估,以确定哪个答案更好。

#### 3.6.5 评估方法

- **WebGPT数据集**:我们使用了另一个名为WebGPT Comparisons的数据集,该数据集包含提示以及对应的两个生成答案及其各自的分数。在我们的分析中,我们从这个数据集中选取了前100个提示,分别输入到训练后模型和预训练模型中以生成响应。作为参考答案,我们使用了WebGPT数据集中得分较高的答案。然后,我们应用BLEU、ROUGE和余弦相似度指标,分别比较训练后模型生成的答案与参考答案、以及预训练模型生成的答案与参考答案。最后,我们比较了平均得分。

相似文章

超越聊天机器人的直接偏好优化

Hugging Face Blog

直接偏好优化(DPO)被应用于聊天机器人之外的OCR任务,显示出在多个模型家族中文本退化的显著减少,平均减少了59.4%。

GroupDPO:内存高效的分组直接偏好优化

arXiv cs.CL

GroupDPO 引入了一种内存高效的分组直接偏好优化算法,该算法利用每个提示的多个候选响应,通过解耦反向传播来减少峰值内存使用。该方法在离线和在线对齐设置中均展现出相比标准 DPO 的持续改进。

xi-DPO:通过比率奖励边际的直接偏好优化

arXiv cs.LG

本文介绍了 xi-DPO,这是一种新颖的偏好优化方法,通过将目标重构为最小化与最优比率奖励边际的距离,解决了 SimPO 中的超参数调整难题。实验结果表明,xi-DPO 在开放基准测试中优于现有方法。