Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

仅靠开源数据复刻出LLaMA3指令学习效果,在线迭代RLHF全流程解决方案来了

图片
AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文作者熊伟是伊利诺伊香槟分校的在读博士生,其导师为 Tong Zhang 与 Nan Jiang。他的主要研究方向是 RLHF 与机器学习理论。邮箱: wx13@illinois.edu

基于人类反馈的强化学习 (RLHF) 使得大语言模型的输出能够更加符合人类的目标、期望与需求,是提升许多闭源语言模型 Chat-GPT, Claude, Gemini 表现的核心方法之一。在此之前,传统的开源解决方案是基于离线数据集的直接偏好优化 (DPO),并获得了一系列的明显超出 SFT 的开源模型。然而,在过去的几个月中,许多研究表现,在线迭代版本的 RLHF 算法通常要明显超过他们的离线版本。与此同时,开源社区在这个领域暂时还没有一个完整的、易于复现的全流程解决方案。

近日,来自 UIUC、Salesforce 的研究人员基于 ICML 2024 论文《Iterative Preference Learning from Human Feedback: Bridging Theory and Practice for RLHF under KL-Constraint》与其他一些领域相关工作实现了完全基于开源数据、模型的在线迭代 RLHF 全流程: (1) 有监督学习;(2) 奖励函数与偏好函数的建模;(3) 以及基于 DPO 的迭代 RLHF,并基于 LLaMA3-8B 得到目前最先进水平的开源 RLHF 模型。此外,研究人员还将模型、代码、数据、和参数选择全部开源到 GitHub 与 hugging face,以便社区人员能够复现和进一步在这个方向进行研究。

图片

                               Figure 1 最终模型与 LLaMA3-8B-it 对比

图片

  • 论文地址:https://arxiv.org/pdf/2405.07863
  • 奖励模型 / 偏好模型建模: https://github.com/RLHFlow/RLHF-Reward-Modeling
  • 迭代 RLHF: https://github.com/RLHFlow/Online-RLHF
  • Huggingface RLFlow: https://huggingface.co/RLHFlow

离线 RLHF 与在线迭代 RLHF

离线直接偏好优化 (offline DPO) 由于基于深度强化学习算法 PPO 的 RLHF 方案训练的不稳定性以及对 GPU 资源的不友好 (需要同时加载多个模型),开源社区通常使用直接偏好优化算法 (DPO), 在离线的偏好数据集上进行有监督学习,具体地说:

  • 离线偏好数据集收集:首先随机采样一个 prompt,并使用 SFT 模型以及更加强大的语言模型 (GPT-4, Claude, LLaMA2-Chat-70B) 收集两个回复,最后让人类 / GPT-4 标注其更喜欢的回复;
  • 在离线数据集上使用 DPO/Slic/IPO 等损失函数进行有监督学习

由于离线偏好数据集的回复通常由更加强大的语言模型 (GPT-4, Claude, LLaMA2-Chat-70B) 收集,并用以训练 10B 以下的模型,所以可以看成是一种特殊的蒸馏方式。此外,研究人员在论文中证明了在这种情况下,需要离线数据集对全空间有较好的覆盖,此时才能保证 DPO 能学习到最优策略。

在线迭代 RLHF 相反,在线迭代 RLHF 并不完全依赖于外部专家模型的回复,而是通过当前模型自己生成的回复组成的偏好数据集进行学习,具体的说,此时既可以从一个离线数据集开始,也可以完全从零开始,在每一轮迭代中,

  • 模型选择:首先依据历史数据对模型进行训练,从而得到两个模型;
  • 数据收集:对每条 prompt, 用两个模型采样 2 条回复,并让外部偏好模型进行标注,总共收集 m 个偏好数据对加入历史数据集中。

可见为了实现在线迭代 RLHF,(1) 首先需要一个外部偏好模型,以及 (2) 需要明确每轮的模型选取策略。

基于开源数据集的偏好模型建模

理想情况下,在线迭代学习的外部偏好信号应当由一组有代表性的人类给出,用以模拟模型部署所面对的用户。由于人类标注价格昂贵,研究人员选择基于开源数据集,训练一个奖励函数或者成对偏好函数,根据 UW 与 Allen AI 提出的评估奖励函数质量的 rewardbench 结果,训练所得到的模型达到开源模型的最佳表现 (Cohere RM 并不开源):
图片
同时,研究人员收集清洗了开源偏好数据集中的 prompt 集合,可视化结果如下

图片

数据收集策略选择

在原始论文中,研究者推导出一般性的策略选取原则:

利用现有数据的信息选取主要模型:首先在历史收集到的所有数据集上运行 DPO (也可以替换为 Slic, IPO 等算法), 获得主要模型;

最大化差异进行探索帮助主要模型学习:由于主要模型仅仅利用历史数据,它能够收敛的前提是收集到的在线数据能够源源不断的提供新的信息,这启发研究人员在选择第二个模型时从下面的集合中选择相对于主要模型不确定性比较大的方向进行探索:

图片

由于对于神经网络不确定性估计没有解析解,研究人员解释上述策略选择原则为:在保证辅助策略距离主要模型不要太远的情况下,尽可能最大化他们的差异,这启发研究人员通过调整采样参数来获得主要模型的变种,结合一些现有文献中流行的启发式方法拒绝采样进行探索,具体实现流程如下所示:

图片

主要结果

研究人员基于 LLaMA3-8B 实现了全流程训练,如 Table 1 所示,所得到的最终模型在指令跟随测试中大幅度超出现有的 < 10B 开源模型水平,同时大幅度超出 offline DPO 基准,这验证了在线迭代 RLHF 的卓越效果。

图片

                               Table 1 最终模型与其他 LLM 在指令跟随测试中的结果比较。

为了理解在线迭代 RLHF 对模型推理、数学、代码等能力的影响,研究人员也在标准的学术测试集上进行测试:

图片

                                  Table 2 学术测试集结果。

经历在线迭代 RLHF 之后,模型在这些测试上并没有明显的性能下降,并在部分基准上获得了较为明显的提升。研究人员认为这是回答风格的变化使得模型能够更高效地使用在预训练与有监督学习阶段获得的知识。

与此同时,研究人员也进行了一系列的消融实验。首先,研究人员发现 RLHF 之后的模型通常会面临回复长度大幅度增加的问题,为此他们提出可以在奖励函数中加入长度惩罚,实验结果表明,这样一个简单的修改可以大幅度将最终模型的平均输出长度从 656 token 降低到 382 token。此外研究人员还使用了开源社区的 UltraRM-13B 作为基准 (在 reward bench 上大约排名第 30) 训练了一个模型,其在指令跟随测试与学术能力测试中都明显差于基于作者所训练的 SOTA 开源奖励函数得到的模型。

图片

                                      Table 3 消融实验结果。

总结

该项目提供了在线迭代 RLHF 全流程的实现,并展示完全基于开源数据集与开源模型,可以得到达到当前最先进水平的 < 10B 语言模型。同时,作者将模型、代码、数据、以及参数选择全部开源到 GitHub 与 hugging face,以使得开源社区可以复现技术报告中的结果。

尽管已经取得显著进展,这个项目仍然有许多潜在的方向亟待继续探索。首先,由于资源限制,研究人员采用了基于丰富开源偏好数据集训练的奖励奖励 / 偏好函数作为外部信号来源。未来,如何开发出一个更加准确和稳定的偏好函数,以提高模型的泛化和实用性,仍然需要进一步研究。

其次,虽然当前启发式的探索策略在一些实例研究中效果不错,考虑到语言模型回复的指数大小的空间,如何设计更高效的探索仍然值得进一步研究。

最后,在消融实验中,研究人员发现简单的长度惩罚可以缓解 RLHF 的长度偏见。虽然此方法有效,但仍有空间发现更多高效的技术手段,以进一步改善模型的输出质量和用户体验。
工程RLHFICML 2024
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

迭代 技术

模型的权重在训练期间的一次更新。迭代包含计算参数在单个批量数据上的梯度损失。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

拒绝采样技术

在数学中,拒绝抽样是用来从分布产生观测值的基本技术。它也被称为接受拒绝方法或“接受 - 拒绝算法”,是一种蒙特卡罗方法

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
推荐文章
暂无评论
暂无评论~