在自然语言处理领域,大型语言模型(LLMs)的广泛应用和显著性能提升,使得对这些模型进行更精确的人类偏好对齐变得尤为重要。为此,研究人员提出了多种微调方法,其中一种备受关注的方法是强化学习从人类反馈(RLHF)。RLHF方法主要分为基于奖励和无奖励两种类型,而最近,一种名为直接偏好优化(DPO)的无奖励方法因其在学术基准测试中的出色表现而备受瞩目。
然而,尽管DPO在学术领域取得了成功,但在实际应用中,如ChatGPT和Claude等最成功的应用,却采用了基于奖励的方法,如近端策略优化(PPO)。这引发了一个问题:DPO是否真的比PPO更适合LLM?为什么PPO在学术基准测试中表现不佳?
为了回答这些问题,清华大学的吴翼团队进行了一项深入的研究,他们对DPO和PPO的算法特性进行了理论和实证研究,并揭示了PPO在微调LLM时取得最佳性能的关键因素。
首先,吴翼团队通过理论分析发现,DPO可能存在一些基本的局限性。他们发现,DPO可能会找到有偏差的解决方案,这些解决方案利用了模型输出和偏好数据集之间的分布偏移。此外,他们还发现,DPO的性能在很大程度上受到模型输出和偏好数据集之间分布偏移的影响。
这些发现表明,尽管DPO在学术基准测试中表现良好,但在实际应用中,它可能无法提供与基于奖励的方法(如PPO)相同的性能。
为了提高PPO在RLHF中的实际性能,吴翼团队对PPO的算法组件进行了消融研究,并发现了一些关键因素,这些因素对于PPO的最佳性能至关重要。
首先,他们发现优势归一化对于提高PPO的性能至关重要。通过将优势值归一化到一个固定范围内,可以帮助PPO更好地学习到有用的特征,从而提高其性能。
其次,他们发现大批量大小对于提高PPO的性能也很重要。通过使用更大的批量大小,可以增加PPO的样本效率,从而提高其性能。
最后,他们发现使用指数移动平均更新参考模型对于提高PPO的性能也很重要。通过使用指数移动平均更新参考模型,可以帮助PPO更好地跟踪模型的变化,从而提高其性能。
为了验证他们的发现,吴翼团队在一系列RLHF测试平台上对DPO和PPO进行了广泛的实验,包括对话生成任务和更具挑战性的代码生成任务。
实验结果表明,PPO在所有情况下都能够超越其他对齐方法,并在具有挑战性的代码竞赛任务中取得了最先进的结果。特别是,在CodeContest数据集上,他们的34B参数PPO模型在10@1k指标上从16.4%提高到22.4%,超过了41B参数的AlphaCode模型。
然而,需要注意的是,这项研究的结果可能受到所使用的特定数据集和实验设置的影响。因此,在将这些结果应用于实际应用之前,需要进行更多的研究来验证这些发现。此外,尽管PPO在这项研究中表现良好,但其他基于奖励的方法也可能具有类似的优势,需要进一步研究来确定最佳的RLHF方法。