人工智能咨询培训老师叶梓 转载标明出处
语言模型在理解和执行指令方面取得了显著成功,但依赖人工标注数据的监督式微调需要大量标记数据,这不仅成本高昂,而且可能限制了模型识别和纠正负面属性或错误能力。另一方面,基于人类反馈的强化学习虽然能够从所有数据中学习,但需要学习一个奖励函数,这可能导致与人类价值观的不一致,并且优化过程极其复杂。来自加州大学伯克利分校的研究人员提出了一种名为Chain of Hindsight(CoH)的技术,旨在通过人类反馈进一步提升语言模型的性能,该方法超越了传统的监督式微调(SFT)和基于人类反馈的强化学习(RLHF)方法。图1为人类评估在摘要和对话任务中CoH与其他方法的成对比较。
想要掌握如何将大模型的力量发挥到极致吗?2024年10月26日叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。
留言“参加”即可来叶老师的直播间互动,1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。互动交流,畅谈工作中遇到的实际问题。
方法
Chain of Hindsight技术的核心思想是模仿人类如何通过语言形式的反馈进行学习。具体而言CoH技术将所有类型的反馈转化为句子序列,然后利用这些序列对模型进行微调,从而利用语言模型的理解能力。模型在训练时会考虑一系列模型生成的输出及其对应的反馈,通过这种方式,模型学会了基于反馈生成输出,同时学会识别和纠正负面属性或错误。
研究者们采用了一个标准的Transformer模型架构,该架构是因果关系和仅解码器(decoder-only)的,这与之前在注意力机制方面的研究工作是一致的。这意味着在每个时间步,模型只能关注到之前的时间和它自身。给定一个由标记表示的文本,标准的因果语言建模目标是最大化文本的对数似然,即。在CoH中,通过结合多个模型输出和反馈来构建x,然后将其用于指令微调。例如,当模型被提示向儿童解释神经网络时,它会生成多个响应,然后将这些响应组合成一个序列,并与基于人类评分的反馈指令配对。
图 2 展示了一个例子。在训练阶段,模型会被展示正面和负面的反馈,分别用“Bad”和“Good”表示,模型被训练以预测更符合后者反馈的输出,例如:“如何向6岁的儿童解释神经网络?Bad: {一个较差的回答} Good: {一个优秀的回答}。”此外,该框架还允许整合自然语言反馈,如:“你如何向6岁的儿童解释神经网络?Bad: {一个次优的回答} Good: {一个杰出的回答}”,这提供了额外的任务特定指导和上下文。通过纳入更广泛的正面和负面反馈,进一步增强了模型的性能。在本研究中,选择了基于评分生成的模板化反馈,而不是来自人类循环的开放式反馈。根据不同的任务,反馈类型会有所不同。
自然语言反馈示例:
- 一个好的摘要:{positive},一个更差的摘要:{negative}
- 你是一个有帮助的助手:{positive},你是一个无用的助手:{negative}
- 一个坏的回答是{negative},一个好的回答是{positive}
理论上,可以使用来自人类循环的开放式反馈。在本研究中,选择使用基于评分的预定模板生成反馈。在推理阶段,用“Good”形式的正面反馈提示模型,以引导模型生成有利的输出。
为了使模型能够从反馈中学习,要求模型预测由模型生成的每个标记。由于在推理时对其他标记应用损失会阻碍模型生成,所以通过掩蔽实现了这一点,可以表示为:,其中表示标记是否不属于反馈。换句话说,如果不属于反馈,则为1;如果它属于反馈,则为0。模型被训练为预测给定先前标记的每个非反馈标记。
算法 1 展示了使用Chain of Hindsight从反馈中对语言模型进行对齐的过程。需要预训练的语言模型M和人类反馈数据集D,以及最大的训练迭代次数n。对于每次迭代,从数据集D中随机抽取一小批模型输出及其相关评分,通过结合采样的模型输出和基于评分的反馈来构建训练序列,然后在这些训练序列上指导微调模型M。
在训练过程中,使用模型输出及其相应的人类偏好数据集,例如正面和负面评分,从中抽取模型输出的小批量样本。为了生成自然语言中的事后反馈,随机抽取一个反馈格式并结合人类评分。将事后反馈和模型输出组合成事后链,作为自回归模型的输入。目标是自回归地预测输入序列,使用交叉熵损失来优化模型。在最后一个模型输出序列的每个时间步上平均损失。在人类偏好学习的情况下,正面和负面数据通常彼此相似(例如,Anthropic有用和无害的数据集)。由于CoH在预测另一个示例时对模型进行了条件限制,模型可以简单地“复制”示例而无需学习理解底层任务。为了解决这个问题,在训练期间随机掩蔽了0%到5%的过去标记,这有助于规范模型并防止其过度拟合在训练期间看到的特定示例。为了保持模型在一般语言建模任务上的性能,添加了一个正则化项,以最大化预训练数据集的对数似然,遵循先前的工作。
监督式微调(SFT)是偏好学习中常用的一种方法,涉及使用正面标记的数据进行微调。然而,本方法与SFT不同,因为它纳入了正面和非正面评分的数据以及反馈输入。与SFT相比,CoH利用了更广泛的信息。条件SFT与决策Transformer模型有相似之处,涉及使用反馈作为前缀标记的条件训练SFT。本质上,CoH和条件SFT都使用反馈标记作为条件输入。然而,区别在于CoH利用了反馈-示例对的序列,使本方法能够在进行预测时考虑更全面的信息。SFT的非可能性损失在传统SFT框架中引入了对负面评分数据的非可能性损失。与基于人类反馈的强化学习(RLHF)相比,CoH提供了一个更简单的训练过程,它在性能方面一贯优于RLHF。
实验
研究者使用了三个数据集来学习人类反馈:
-
WebGPT 数据集:这个数据集包含了19,578个比较,每个例子包括一个问题、一对模型答案和元数据。这些答案由人类根据偏好得分进行评分,这有助于识别两个答案中更好的一个。
-
HH 数据集:Anthropic的Helpful and Harmless(HH)数据集包含了人类评分的对话。这个数据集中的每个例子由一对人类和语言模型之间的对话组成,其中人类标记者标记了一个对话作为偏好。
-
摘要数据集:摘要数据集包含了人类对于模型生成摘要的反馈。人类评估者被要求从两个选项中选择较优的摘要。
在评估基准和指标方面,研究者考虑了自动评估和人类评估在摘要和对话基准上的表现。他们使用了以下评估指标:
-
摘要基准:研究者使用了TL;DRs数据集进行自动评估和人类评估。这个数据集包含了来自reddit.com的约300万个帖子以及原始发帖者(TL;DRs)撰写的摘要。研究者使用了Stiennon等人提供的过滤版本,包含了123,169个帖子。评估指标包括摘要的覆盖度(从原始帖子中覆盖了多少重要信息)、准确性(摘要中的陈述在多大程度上是帖子的一部分)、连贯性(摘要本身阅读起来有多容易)和整体质量。
-
对话基准:研究者还在Anthropic的Helpful and Harmless(HH)数据集的验证部分进行了评估,每个例子包括一对人类和大型语言模型之间的对话,其中一个对话被人类标记为偏好。评估对话时,他们考虑了有用性和无害性等指标。为了收集评估数据,研究者构建了使用正面例子的“伪”对话。他们用模型的输出替换了之前对话中的每个模型响应,这是通过在人类响应和过去的模型输出的基础上对模型进行条件限制来生成的。他们采取这种方法而不是让人类直接与微调后的模型聊天,以重用人类生成的数据,因为收集互动数据可能成本很高且容易受到数据质量问题的影响。
在基线方面,研究者的主要基线是SFT、SFT的非可能性(SFT-U)、条件SFT(C-SFT)和RLHF。他们使用GPT-J 6B和OPT作为基础预训练模型,尽管其他语言模型也可以使用。他们采用了PPO算法来实现RLHF基线,并调整了PPO和奖励学习的超参数以获得最佳结果。为了确保公平比较,他们仔细调整了所有其他基线的培训超参数。
图 3 展示了在摘要数据集的测试集上,本模型与基线模型(包括预训练模型、SFT、条件SFT、SFT的非可能性和RLHF)之间的ROUGE得分比较。CoH方法在所有指标上都显著优于基线,包括RLHF。
为了进一步评估CoH方法的性能,研究者进行了人类评估,如表 1 所示。他们聘请了75名精通英语的人类评估者从第三方平台提供评分。在成对比较中,评估者被要求根据上述三个指标选择两个摘要中更好的一个(或打成平手)。结果显示,CoH在与人类偏好保持一致方面显著优于RLHF和条件SFT。
图 4 展示了在HH数据集上对CoH方法与RLHF和SFT基线的对话任务评估。SFT在预训练模型的基础上显示出显著的改进;增加非可能性会降低性能,这表明非可能性损害了模型的生成能力;条件SFT在SFT的基础上显示出改进,展示了从负面例子中学习的好处;RLHF表现第二好,但被CoH显著超越。
表 2 展示了对话任务的人类评估结果。CoH在与人类偏好保持一致方面显著优于RLHF和条件SFT。
研究者还评估了在只有二元反馈的情况下,而不是默认设置中的二元反馈和细粒度语言反馈的组合,CoH方法的性能。他们将这个没有自然语言反馈的基线称为CoH w/o LF。为了评估这些变体的性能,他们进行了一个专注于摘要领域的人类评估任务,使用了75名人类评估者的输入。结果显示,他们的默认方法和“w/o LF”变体都显著优于RLHF。他们的发现还表明,包含自然语言反馈可以增强结果。人类偏好评级显示,有语言反馈的模型比没有语言反馈的模型多出14.1%的偏好,而没有语言反馈的模型则收到了11.6%的偏好。这些结果证明了CoH框架的有效性。由于CoH框架提供了将自然语言反馈纳入培训的灵活性,设计更有效的自然语言反馈是他们未来的一个方向。
为了评估CoH在不同模型大小上的效用,研究者进行了全面评估。图 5 展示了不同模型大小对CoH方法相对于SFT基线和RLHF性能的影响。值得注意的是,对于较小的模型大小,CoH与SFT基线相比表现出较小的性能下降。然而,随着模型大小的增加,CoH一致地超越了所有SFT和RLHF基线,并显示出正的扩展趋势,表明其在增强模型性能方面的有效性随着模型复杂性的增加而增加。
表 3 展示了基于人类评估的摘要任务中自然语言反馈的消融研究的平均胜率。结果显示,CoH方法在与人类偏好保持一致方面显著优于RLHF。
最后,研究者比较了CoH方法在开源人类偏好数据集上的表现,与在ShareGPT数据上使用的SFT方法进行了比较。他们与Koala进行了比较,Koala涉及使用ShareGPT数据进行监督微调。他们保持了SFT和CoH在开源数据集上模型和训练超参数的一致性。
研究者还通过微调ShareGPT和开源数据集将CoH与Koala集成在一起;在这里,开源数据集提供了正面和负面的例子,而ShareGPT仅提供了正面例子。他们使用与Koala相同的人类评估,通过聘请第三方人类评估者对各种模型生成的响应进行成对比较。这些评估基于ShareGPT独有的保留集的问题。结果显示,CoH方法在性能上与Koala相当。另外CoH+Koala的组合方法在人类评级的基础上超越了Koala。与此同时,条件SFT和SFT都远远落后于Koala。这突显了CoH在利用人类偏好进行学习方面的有效性。
通过这项研究可以看到,将人类反馈以一种创新的方式融入语言模型的训练中,可以显著提升模型的性能和适用性,使其更好地服务于人类社会的需求。
论文链接:https://arxiv.org/pdf/2302.02676
项目链接:GitHub - forhaoliu/chain-of-hindsight: Chain-of-Hindsight, A Scalable RLHF Method