在《LLM对齐“3H原则”》这篇文章中,我们介绍了LLM与人类对齐的“3H”原则,但是这些对齐标准主要是基于人类认知进行设计的,具有一定的主观性。因此,直接通过优化目标来建模这些对齐标准较为困难。本文将介绍基于人类反馈的强化学习方法(RLHF),引入人类反馈的指导,以便更好地对齐大语言模型。
1、RLHF介绍
为了加强大语言模型与人类价值观的一致性,基于人类反馈的强化学习旨在利用收集到的人类反馈数据指导大语言模型进行微调,从而使得大语言模型在多个标准(例如有用性、诚实性和无害性)上实现与人类的对齐。
RLHF首先需要收集人类对于不同模型输出的偏好,然后使用收集到的人类反馈数据训练奖励模型,最后基于奖励模型使用强化学习算法(如Proximal Policy Optimization,PPO)微调大语言模型。这种将人类反馈纳入大语言模型训练过程的方法已成为实现人类对齐的主要技术途径之一。
2、RLHF算法系统
RLHF算法系统主要包括三个关键组成部分:需要与人类价值观对齐的模型、基于人类反馈数据学习的奖励模型以及用于训练大语言模型的强化学习算法。
具体来说,待对齐模型一般指的是经过预训练、具备一定通用能力的大语言模型。然而,这些模型并没有与人类价值观对齐,在下游任务中可能表现出不合适甚至有害的行为。例如,InstructGPT针对具有175B参数的GPT-3模型进行对齐。GPT-3在大规模语料上进行了预训练,但是在一些特殊场景下仍然会生成不恰当的输出内容。
奖励模型的作用是为强化学习过程提供指导信号,反映了人类对于语言模型生成文本的偏好,通常以标量值的形式呈现。奖励模型既可以采用人类偏好数据对已有的语言模型继续微调,也可以基于人类偏好数据重新训练一个新的语言模型。
虽然原始的InstructGPT采用了较小的GPT-3(只有6B参数)作为奖励模型,现阶段的研究通常认为使用与待对齐模型规模相同或者更大规模的奖励模型可以获得更好的对齐效果,主要是因为较大规模的奖励模型可以更好地理解待对齐模型的知识与能力范围,从而提供更为合适的指导信号,例如LLaMA-2使用相同的检查点初始化待对齐模型和奖励模型。在训练过程中,基于奖励模型提供的反馈信号,RLHF使用特定的强化学习算法进行大语言模型的训练。目前,PPO算法是一种被广泛用于人类对齐的强化学习算法。
3、RLHF的关键步骤
RLHF整体训练框架分为三个阶段,下面分阶段进行具体介绍。
3.1 监督微调
为了让待对齐语言模型具有较好的指令遵循能力,通常需要收集高质量的指令数据进行监督微调。指令数据一般包括任务描述和示例输出,可以由人类标注员针对特定任务编写,也可以由大语言模型自动生成。
在InstructGPT中,人类标注员为多个生成任务(如开放性问答、头脑风暴、日常聊天等)编写提示和相应的示例输出(例如“列出五种恢复职业热情的方法”)。
3.2 奖励模型训练
第二步是使用人类反馈数据训练奖励模型。具体来说,首先使用语言模型针对任务指令生成一定数量的候选输出。随后,邀请标注员对于输出文本进行偏好标注,这个标注过程可以采用多种形式,其中最常用的是对候选文本进行排序标注,这样可以有效减少多个标注员之间的不一致情况。
进一步,使用人工标注的偏好数据进行奖励模型的训练,使其能够建模人类偏好。在InstructGPT中,标注员将模型生成的输出按照最佳到最差的顺序进行排序,并据此训练奖励模型来预测这个排序。
3.3 强化学习训练
在这一步骤中,语言模型对齐被转化为一个强化学习问题。具体来说,待对齐语言模型担任策略实施者的角色(称为策略模型),它接收提示作为输入并返回输出文本,其动作空间是词汇表中的所有词元,状态指的是当前已生成的词元序列。奖励模型则根据当前语言模型的状态提供相应的奖励分数,用于指导策略模型的优化。
为了避免当前训练轮次的语言模型明显偏离初始(强化学习训练之前)的语言模型,通常会在原始优化目标中加入一个惩罚项(如KL散度)。例如,InstructGPT使用PPO算法来优化待对齐语言模型以最大化奖励模型的奖励。对于每个输入提示,InstructGPT计算当前语言模型与初始语言模型生成结果之间的KL散度作为惩罚项。KL散度越大,意味着当前语言模型越偏离初始语言模型。这个对齐过程可以进行多次迭代,从而更好地对齐大语言模型。
4、SFT与RLHF
我们可以将文本生成问题看作为一个基于强化学习的决策过程。具体来说,当给定一个提示作为输入时,大语言模型的任务是生成与任务指令相匹配的输出文本。这个生成过程可以被分解为一系列逐个词元的生成步骤。在每个步骤中,大语言模型会根据已有的策略模型(即模型本身)在当前状态下的情况(包括当前已生成的词元序列以及可利用的上下文信息)来选择下一个动作,即生成下一个词元。
在这种设定下,我们优化的目标是让大语言模型能够不断优化其生成策略,生成更高质量的输出文本,获得更高的奖励分数。
总体来说,RLHF和SFT可以被视为两种优化大语言模型决策过程的训练方法。在RLHF中,我们首先学习一个奖励模型,然后利用该奖励模型通过强化学习算法(如PPO)来改进大语言模型。而在SFT中,我们则采用了Teacher-Forcing的方法,直接优化模型对实例输出的预测概率。
从本质上说,SFT所采用的这种词元级别的训练方式是一种“行为克隆”(模仿学习的一种特殊算法)。它利用教师的行为数据(即每个步骤的目标词元)作为监督标签,来直接训练大语言模型模仿教师的行为。
在实现上,SFT主要依赖于序列到序列的监督损失来优化模型,而RLHF则主要通过强化学习方法来实现大模型与人类价值观的对齐。本质上来说,为了学习教师的生成策略,SFT采用了基于示例数据的“局部”优化方式,即词元级别的损失函数。作为对比,RLHF则采用了涉及人类偏好的“全局”优化方式,即文本级别的损失函数。
4.1 SFT的优缺点
SFT已经成为一种主要的大语言模型微调方法,能够显著提升大语言模型在各种基准测试中的性能,增强在不同任务上的泛化能力。它在实现上简单、灵活、可拓展性较强,还可以用于构建很多特定功能,例如帮助大语言模型建立聊天机器人的身份。
关于SFT,人们普遍认为其作用在于“解锁”大语言模型的能力,而非向大语言模型“注入”新能力。因此,试图通过SFT激发大语言模型的非内生能力时,可能会出现一些负面问题。当待学习的标注指令数据超出了大语言模型的知识或能力范围,例如训练大语言模型回答关于模型未知事实的问题时,可能会加重模型的幻象(Hallucination)行为。
OpenAI强化学习研究团队的负责人、PPO算法的作者JohnSchulman在一场关于RLHF的讲座中提出了一个有趣的观点:通过蒸馏较大模型来训练较小模型可能会增加模型生成幻觉文本的可能性,从而可能影响大语言模型的事实准确性。实际上,目前无论学术界和工业界都在大量使用GPT-4进行指令微调数据的蒸馏,在这一过程中除了要考虑指令数据本身的质量外,还需要进一步关注模型自身的知识与能力边界,从而减少微调过程中所产生的负面效应,如上述提到的幻象问题。
此外,作为一种基于行为克隆的学习方法,SFT旨在模仿构建标注数据的教师的行为,而无法在这一过程中进行有效的行为探索。然而,标注者在写作风格、创作水平和主题偏好等方面经常存在一定的差异,这些都会使得标注数据中出现不一致的数据特征,进而影响SFT的学习性能。因此,在SFT阶段,高质量的指令数据(而非数量)是影响大语言模型训练的主要因素。
4.2 RLHF的优缺点
OpenAI首先将RLHF用于生成符合人类偏好的文本摘要,进一步使用这一技术研发了InstructGPT模型。在早期的研究中,研究人员主要关注使用RLHF加强模型对于人类价值观的遵循,减少模型输出的有害性。
在最近的研究中,相关研究发现RLHF在减少有害内容输出的同时,也能够有效增强模型的综合能力,这一点在LLaMA-2的论文中有着充分讨论。LLaMA-2通过广泛的实验证明RLHF可以同时提高模型的有用性和无害性分数,并从两个方面解释了RLHF相比SFT的潜在优势。
首先,在RLHF算法中,标注员主要为训练过程提供偏好标注数据,而不是直接生成示例数据,因此它可以减少标注员之间的不一致。其次,与编写示例数据相比,偏好标注更为简单易行。标注员甚至可以评估超出自己创作水平的模型输出质量,使得模型能够探索标注员能力之外的状态空间,而不用受限于给定的教师示例。上述这两个方面都使得RLHF在数据标注阶段相比SFT更加具有优势,更加容易充分发挥人类指导的作用。
在模型学习阶段,RLHF通过对比模型的输出数据(区分“好”输出与“坏”输出)来指导大语言模型学习正确的生成策略,它不再强迫大语言模型模仿教师的示例数据,因此可以缓解上述提到的SFT所导致的幻象问题。在RLHF方法中,奖励模型非常重要。一般来说,奖励模型应该能够了解待对齐的大语言模型的知识或能力范畴。例如,LLaMA-2采用了待对齐语言模型的检查点来初始化奖励模型。
实际上,RLHF已被证明是减少GPT-4幻觉生成的重要方法。然而,RLHF也继承了经典强化学习算法的缺点,如样本学习效率低和训练过程不稳定等问题。因此,当训练语言模型时,RLHF需要依赖于经过SFT的模型作为策略模型的初始模型,从而快速达到较好的表现。这也是InstructGPT采用SFT作为RLHF方法的第一步的主要原因。
此外,RLHF的过程通常会持续多轮,这是一个复杂的迭代优化过程,其中涉及了很多重要细节的设定(例如提示选择、奖励模型训练、PPO的超参数设置以及训练过程中对超参数的调整),都会影响整个模型的性能,对于精确的高效复现提出了较大挑战。
总的来说,SFT特别适合预训练后增强模型的性能,具有实现简单、快速高效等优点;而RLHF可在此基础上规避可能的有害行为并进一步提高模型性能,但是实现较为困难,不易进行高效优化。未来的研究仍然需要探索更为有效的对齐方法,同时结合SFT与RLHF的优点。
此外,还需要关注当模型能力达到较强水平后更为有效的对齐方法。针对这个问题,OpenAI提出了“超级对齐”(Super-alignment)这一研究方向,旨在能够有效监管具有超级智能的人工智能系统。
【推广时间】
AI的三大基石是算法、数据和算力,其中数据和算法都可以直接从国内外最优秀的开源模型如Llama 3、Qwen 2获得,但是算力(或者叫做GPU)由于某些众所周知的原因,限制了大部分独立开发者或者中小型企业自建基座模型,因此可以说AI发展最大的阻碍在于算力。
给大家推荐一个性价比超高的GPU算力平台:UCloud云计算旗下的Compshare算力共享平台。