深入理解RLHF技术

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高考填报志愿,要做到知己知彼兼顾平衡

寒窗苦读,无非就是希望能够考上一所理想的大学,不过自从高考改革以后,高考结束后只是第一阶段,接下来第二阶段应对高考填报志愿也同样重要。 如何选择合适的院校、专业,考生和家长都需要做好充足的准备,在收…

零拷贝技术(zero copy),DMA,mmap,sendfile

在一些高性能的IO场景下我们经常能听到零拷贝技术,这是个不错的话题。 零拷贝指的是内核态与用户态之间的数据拷贝,而这两个区域的数据拷贝只能依靠CPU,但是CPU最重要的作用应该是运算。 一、DMA的由来 在没有DMA之前,磁盘的IO…

武汉星起航:欧洲市场巨擘,亚马逊欧洲站重塑全球电商格局

在全球电商的浩瀚星海中,亚马逊欧洲站如一颗耀眼星辰,其卓越服务、海量用户群及尖端的物流网络熠熠生辉。在英国、德国、法国、意大利和西班牙这五大欧洲经济强国中,亚马逊凭借其无与伦比的市场领导力和消费者信任,稳固地占据了电…

个人网站搭建-步骤(持续更新)

域名申请 域名备案 域名解析 服务器购买 端口转发 Nginx要在Linux上配置Nginx进行接口转发,您可以按照以下步骤进行操作: 安装Nginx(如果尚未安装): 使用包管理工具(如apt, yum, dnf, 或zypper&#x…

PLC数据采集案例

--------天津三石峰科技案例分享 项目介绍 项目背景 本项目为天津某钢铁集团下数字化改造项目,主要解决天津大型钢厂加氢站数字化改造过程中遇到的数据采集需求。项目难点PLC已经在运行了,需要采集里面数据,不修改程序,不影响P…

C++编程(五)单例模式 友元

文章目录 一、单例模式(一)概念(二)实现方式1. 饿汉式2. 懒汉式 二、友元(一)概念(二)友元函数1.概念2.语法格式3. 使用示例访问静态成员变量访问非静态成员变量 (三&…

Vue3.3 的 defineOptions 的使用,方便在 setup 语法糖中为组件命名和控制父子属性透传,包含在线运行实例欧

defineOptions 是 Vue3.3 的新的宏&#xff0c;可以通过 defineOptions 宏在 <script setup> 中使用选项式 API&#xff0c;也就是说可以在一个宏函数中设置 name, props, emits, render, 控制是否允许父子非 props 的属性透传等功能。 defineOptions 可以直接在 setup …

uni-app picker多列选项

预期实现的效果&#xff1a; 选中后的效果&#xff1a; // Dom部分 <template><picker mode"multiSelector" :range"ssqRange" range-key"name" columnchange"ssqColumnChange" change"ssqChange" class"p…

【ajax实战05】文章封面发布

一&#xff1a;实现效果 二&#xff1a;实现步骤 1 准备标签结构和样式 html结构样式 <div class"cover"><label for"img">封面&#xff1a;</label><label for"img" class"place"></label><inpu…

如何精准分析人形机器人运动数据?

全球“机器换人”进程加速,人形机器人有望成为AI下一个重要落地应用场景;EtherCAT-Analyzer具备分析人形机器人所有关节和电池与主站的通讯信息,快速掌握节点网络状态! 前言 随着人形机器人行业的发展及《中国制造2025》的全面实施,传统的脉冲模式控制很大程度上制约了机…

当了面试官才知道:做好这3点,面试成功率至少提高50%

关于辉哥&#xff1a; 资深IT从业者&#xff0c; 曾就职于阿里、腾讯、美团、中信科等互联网公司和央企&#xff1b; 两岁小男孩的父亲。 不定期分享职场 | 婚姻 | 育儿 | 个人成长心得体会 关注我&#xff0c;一起学习和成长。 最近作为公司社招面…

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include"CommunityToolkit.Mvvm" Version"8.2.2" /><PackageReference Include"Microsoft.Extensions.Hosting" Version"8.0.0" /><PackageReference Include&q…

必应bing搜索广告投放介绍,投放的广告形式和效果

必应Bing搜索广告以其独特的市场定位、高质量的用户群体和强大的全球覆盖能力&#xff0c;成为众多企业拓展业务、提升品牌影响力的重要渠道。作为微软旗下的一款搜索引擎&#xff0c;必应不仅在美国市场占据重要份额&#xff0c;其在全球范围内的影响力也不容小觑。对于寻求国…

MySQL 基础概念

MySQL逻辑架构 MySQL 服务器逻辑架构图 最上层的服务并不是MySQL所独有的&#xff0c;大多数基于网络的客户端/服务器的工具或者服务都有类似的架构&#xff0c;比如连接管理、授权认证、安全等等。 大多数MySQL的核心服务都在第二层&#xff0c;包括查询解析、分析、优化、…

【JavaEE进阶】Spring AOP使用篇

目录 1.AOP概述 2.SpringAOP快速入门 2.1 引入AOP依赖 2.2 编写AOP程序 3. Spring AOP详解 3.1 Spring AOP 核心概念 3.1.1切点(Pointcut) 3.1.2 连接点 (Join Point) 3.1.3 通知(Advice) 3.1.4 切面(Aspect) 3.2 通知类型 3.3PointCut 3.4 切面优先级 3.5 切点表…

经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2)

经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2) 2022 年 11 月&#xff0c;ChatGPT 成功面世&#xff0c;成为历史上用户增长最快的消费者应用。与 Google、FaceBook等公司不同&#xff0c;OpenAI 从初代模型 GPT-1 开始&#xff0c;始终贯彻只有解码器&#xff0…

安卓webview内h5页面调用录音设置

h5页面调用录音接口getUserMeia在webview中有可能不成功&#xff0c;进入错误回调&#xff0c;这个时候webview尽可能设置下面这些权限就会好。

Linux系统编程(七)进程间通信IPC

进程间通讯的7种方式_进程间通信的几种方法-CSDN博客 管道 pipe&#xff08;命名管道和匿名管道&#xff09;&#xff1b;信号 signal&#xff1b;共享内存&#xff1b;消息队列&#xff1b;信号量 semaphore&#xff1b;套接字 socket&#xff1b; 1. 管道 内核提供&#x…

华为云安全防护,九河云综合分解优劣势分析

随着全球化的发展&#xff0c;越来越多的企业开始寻求在国际市场上扩展业务&#xff0c;这一趋势被称为企业出海。然而&#xff0c;企业在海外扩张面临诸多隐患与安全挑战&#xff0c;其中因为地域的不同&#xff0c;在安全性方面与国内相比会变得薄弱&#xff0c;从而导致被黑…

展开说说:Android列表之RecyclerView

RecyclerView 它是从Android5.0出现的全新列表组件&#xff0c;更加强大和灵活。用于显示列表形式 (list) 或者网格形式 (grid) 的数据&#xff0c;替代ListView和GridView成为Android主流的列表组件。可以说Android客户端只要有表格的地方就有RecyclerView。 RecyclerView 内…