深入理解RLHF技术

news2024/10/6 12:25:14

在《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算力共享平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1871183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript的单线程与任务队列

目录 一、JavaScript为什么设计为单线程? 二、任务队列 👋🏻 扩展:异步队列里的宏任务与微任务 一、JavaScript为什么设计为单线程? JavaScript语言的一大特点就是单线程,换言之就是同一个时间只能做一…

三元和磷酸铁锂电池有什么区别?

现在的电动车大多都会使用到锂电池,在常见的锂电池分为两种,一种是三元锂电池另外一种是磷酸铁锂电池,面对这两种锂电池时,它们到底有什么不同? 1、材料不同 这两种锂电池的不同之处便是材料不同,磷酸铁锂…

中霖教育:税务师考试通过率怎么样?

税务师考试的通过率通常在20%至30%的范围内,涵盖五个科目:《税法一》、《税法二》、《财务与会计》、《涉税服务实务》和《涉税服务相关法律》,成绩有效期为五年。 针对税务师备考,有效的学习策略至关重要。 1、熟悉各科的题型和…

柯桥商务英语培训under是“在下面”,dog是“狗”,那underdog是什么意思?

英语中有很多单词 拆开看都认识 但合在一起意思就变了 就比如这个表达:underdog 大家都知道:under是下面,dog是狗 那么underdog是啥意思呢? 在小狗下面? 还是活得连狗都不如? 当然没有那么简单 但我…

C++日期类的完整实现,以及this指针的const修饰等的介绍

文章目录 前言一、日期类的实现二、this指针的const修饰总结 前言 C日期类的完整实现&#xff0c;以及this指针的const修饰等的介绍 一、日期类的实现 // Date.h #pragma once#include <iostream> using namespace std;#include <assert.h>class Date {// 友元函…

利用Python控制终端打印字体的颜色和格式

利用Python控制终端打印字体的颜色和格式—操作详解&#xff08;ANSI转义序列&#xff09; 一、问题描述二、ANSI转义序列三、具体代码和显示效果&#xff08;看懂这段代码&#xff0c;以后可随心控制字体的打印格式&#xff09; 欢迎学习交流&#xff01; 邮箱&#xff1a; z……

ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验

文章目录 什么是ONLYOFFICE &#xff1f;ONLYOFFICE 桌面编辑器 8.1 发布&#xff1a;新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE &#xff1f; https://www.onlyoffice.com/zh/off…

光伏发电项目是如何提高开发效率的?

随着全球对可再生能源需求的持续增长&#xff0c;光伏发电项目的高效开发成为关键。本文将深入探讨如何在实际操作中提高光伏发电项目的开发效率。 一、优化选址流程 1、数据收集与分析&#xff1a;利用卫星地图和遥感技术&#xff0c;收集目标区域的光照资源、地形地貌、阴影…

【图像分类】Yolov8 完整教程 |分类 |计算机视觉

目标&#xff1a;用YOLOV8进行图像分类。 图像分类器。 学习资源&#xff1a;https://www.youtube.com/watch?vZ-65nqxUdl4 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 1、文件结构化 划分数据集&#xff1a;train,val,test 知道怎么划分数据集很重要。 文件夹…

OSI七层模型TCP/IP四层面试高频考点

OSI七层模型&TCP/IP四层&面试高频考点 1 OSI七层模型 1. 物理层&#xff1a;透明地传输比特流 在物理媒介上传输原始比特流&#xff0c;定义了连接主机的硬件设备和传输媒介的规范。它确保比特流能够在网络中准确地传输&#xff0c;例如通过以太网、光纤和无线电波等媒…

等保测评初级简答题试题

基本要求&#xff0c;在应用安全层面的访问控制要求中&#xff0c;三级系统较二级系统增加的措施有哪些&#xff1f; 答&#xff1a;三级比二级增加的要求项有&#xff1a; 应提供对重要信息资源设置敏感标记的功能&#xff1b; 应按照安全策略严格控制用户对有敏感标记重要…

MySQL高级-索引-使用规则-单列索引联合索引

文章目录 1、单列索引2、联合索引3、查看表索引4、创建 name 和 phone 索引5、查询 phone17799990010 and name韩信6、执行计划 phone17799990010 and name韩信7、创建联合唯一索引 idx_user_phone_name8、再次执行计划 phone17799990010 and name韩信9、使用了USE INDEX提示来…

为什么叫云计算?云计算的优势有哪些

说起云计算大家并不会感到陌生&#xff0c;那么为什么叫云计算&#xff1f;云计算技术的引入通常会使企业的信息技术应用更高效、更可靠、更安全。云计算支持用户在任意位置、使用各种终端获取应用服务。使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性&a…

从RLHF到DPO再到TDPO,大模型对齐算法已经是「token-level」

在人工智能领域的发展过程中&#xff0c;对大语言模型&#xff08;LLM&#xff09;的控制与指导始终是核心挑战之一&#xff0c;旨在确保这些模型既强大又安全地服务于人类社会。早期的努力集中于通过人类反馈的强化学习方法&#xff08;RLHF&#xff09;来管理这些模型&#x…

mmdetection2.28修改backbone不使用预训练参数、从头训练

背景 最近需要测试一下在backbone部分如果不使用预训练参数的话&#xff0c;模型需要多少轮才能收敛所使用的backbone是mmcls.ConvNeXtmmdetection版本为2.28.2&#xff0c;mmcls版本为0.25.0 修改流程 最简单的方法&#xff0c;直接去mmcls的model zoo里找到对应backbone的…

新能源汽车CAN总线故障定位与干扰排除的几个方法

CAN总线是目前最受欢迎的现场总线之一,在新能源车中有广泛应用。新能源车的CAN总线故障和隐患将影响驾驶体验甚至行车安全,如何进行CAN总线故障定位及干扰排除呢? 目前,国内机动车保有量已经突破三亿大关。由于大量的燃油车带来严峻的环境问题,因此全面禁售燃油车的日程在…

ResNet-50算法

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、理论知识储备 1.CNN算法发展 AlexNet是2012年ImageNet竞赛中&#xff0c;由Alex Krizhevsky和Ilya Sutskever提出&#xff0c;在2012年ImageNet竞赛中&a…

防火墙双双机热备

设备直路部署&#xff0c;上下行连接交换机 如 图所示&#xff0c;DeviceA和DeviceB的业务接口都工作在三层&#xff0c;上下行分别连接二层交换机。上行交换机连接运营商的接入点&#xff0c;运营商为企业分配的IP地址为1.1.1.3和1.1.1.4。现在希望DeviceA和DeviceB以负载分担…

鸿蒙 雷达图 绘制 人生四运图

let radius = Math.min(this.context.width, this.context.height) / 2 - 20;let centerX = this.context.width / 2;let centerY = this.context.height / 2;// 绘制圆环this.context.strokeStyle = #E4E4E4;const numRings = 5;const ringInterval = 1;for (let i = 0; i <…

Zookeeper:基于Zookeeper的分布式锁

一、Zookeeper分布式锁原理 二、Zookeeper JavaAPI操作 1、Curator介绍 Curator是Apache Zookeeper的Java客户端。常见的Zookeeper Java API&#xff1a; 原生Java API。ZkClient。Curator。 Curator项目目标是简化Zookeeper客户端的使用。Curator最初是Netfix研发的&#xf…