【LLM第三篇】名词解释:RLHF——chatgpt的功臣

news2024/11/16 7:46:44

RLHF (Reinforcement Learning from Human Feedback) ,直译为:“来自人类反馈的强化学习”。RLHF是一种结合了强化学习和人类反馈的机器学习方法,主要用于训练大模型以执行复杂的任务,尤其是当这些任务难以通过传统的奖励函数来精确定义时。

主要原理:

RLHF主要包含下面四个组件:

1.预训练模型(pre-trained model):开始于一个预训练模型,如在大量文本数据上预训练的大语言模型

2.人类反馈(human feedback):收集关于模型输出质量的人类反馈,这些反馈可以能包括对生成的文本进行标注或者评分,并提供改进的指导。

3.奖励建模(reward modeling):使用人类反馈来训练一个奖励模型,这个奖励模型学习根据人类反馈来给模型生成的输出评分。

4.强化学习(reinforcement learning):利用奖励模型作为奖励函数,使用标准的强化学习或者深度学习算法来继续训练原始模型,优化模型的输出以最大化奖励模型给出的分数。

要解决的问题:

解决传统强化学习面临的一些问题,尤其是奖励工程(reward engineering)困难和缺少高质量反馈的挑战。在许多复杂任务重,定义一个精确的奖励函数非常困难,RLHF通过直接从人类反馈中学习,避免了这一问题,使得模型更好的适应特定的任务和预期行为。

RLHF的应用比较广泛,从聊天机器人、文本生成到更复杂的决策制定和游戏中都有广泛的应用。通过人类反馈,模型能够在更为复杂和抽象的层面学习,并输出的结果更符合人类的预期和价值观。

也常用于大语言模型,eg:openai的gpt-3,用于改善模型在特定任务上的表现,生成更符合人类期望的语言、问题回答或者执行任务。

核心内容说完了,下面我们看看LLM是怎么提出来要用RLHF的。关键问题在于:如何评价GPT生成的文本好不好呢?好的定于是基于人类价值观的,你们如何让GPT学到人类的价值观呢?

过去几年里各种 LLM 根据人类输入提示 (prompt) 生成多样化文本的能力令人印象深刻。然而,对生成结果的评估是主观和依赖上下文的,例如,我们希望模型生成一个有创意的故事、一段真实的信息性文本,或者是可执行的代码片段,这些结果难以用现有的基于规则的文本生成指标 (如 BLUE 和 ROUGE) 来衡量。除了评估指标,现有的模型通常以预测下一个单词的方式和简单的损失函数 (如交叉熵) 来建模,没有显式地引入人的偏好和主观意见。

如果我们 用生成文本的人工反馈作为性能衡量标准,或者更进一步用该反馈作为损失来优化模型,那不是更好吗?这就是 RLHF 的思想:使用强化学习的方式直接优化带有人类反馈的语言模型。RLHF 使得在一般文本数据语料库上训练的语言模型能和复杂的人类价值观对齐。

RLHF 技术分解

RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,这里我们按三个步骤分解:

  1. 预训练一个语言模型 (LM) ;
  2. 聚合问答数据并训练一个奖励模型 (Reward Model,RM) ;
  3. 用强化学习 (RL) 方式微调 LM。

Step 1. 预训练语言模型

首先,我们使用经典的预训练目标训练一个语言模型。对这一步的模型,OpenAI 在其第一个流行的 RLHF 模型 InstructGPT 中使用了较小版本的 GPT-3; Anthropic 使用了 1000 万 ~ 520 亿参数的 Transformer 模型进行训练;DeepMind 使用了自家的 2800 亿参数模型 Gopher。

这里可以用额外的文本或者条件对这个 LM 进行微调,例如 OpenAI 对 “更可取” (preferable) 的人工生成文本进行了微调,而 Anthropic 按 “有用、诚实和无害” 的标准在上下文线索上蒸馏了原始的 LM。这里或许使用了昂贵的增强数据,但并不是 RLHF 必须的一步。由于 RLHF 还是一个尚待探索的领域,对于” 哪种模型” 适合作为 RLHF 的起点并没有明确的答案。

接下来,我们会基于 LM 来生成训练奖励模型 (RM,也叫偏好模型) 的数据,并在这一步引入人类的偏好信息。

Step 2. 训练奖励模型

RM 的训练是 RLHF 区别于旧范式的开端。这一模型接收一系列文本并返回一个标量奖励,数值上对应人的偏好。我们可以用端到端的方式用 LM 建模,或者用模块化的系统建模 (比如对输出进行排名,再将排名转换为奖励) 。这一奖励数值将对后续无缝接入现有的 RL 算法至关重要。

关于模型选择方面,RM 可以是另一个经过微调的 LM,也可以是根据偏好数据从头开始训练的 LM。例如 Anthropic 提出了一种特殊的预训练方式,即用偏好模型预训练 (Preference Model Pretraining,PMP) 来替换一般预训练后的微调过程。因为前者被认为对样本数据的利用率更高。但对于哪种 RM 更好尚无定论。

关于训练文本方面,RM 的提示 - 生成对文本是从预定义数据集中采样生成的,并用初始的 LM 给这些提示生成文本。Anthropic 的数据主要是通过 Amazon Mechanical Turk 上的聊天工具生成的,并在 Hub 上可用 (https://huggingface.co/datasets/Anthropic/hh-rlhf),而 OpenAI 使用了用户提交给 GPT API 的 prompt。

关于训练奖励数值方面,这里需要人工对 LM 生成的回答进行排名。起初我们可能会认为应该直接对文本标注分数来训练 RM,但是由于标注者的价值观不同导致这些分数未经过校准并且充满噪音。通过排名可以比较多个模型的输出并构建更好的规范数据集。

对具体的排名方式,一种成功的方式是对不同 LM 在相同提示下的输出进行比较,然后使用 Elo 系统建立一个完整的排名。这些不同的排名结果将被归一化为用于训练的标量奖励值。

这个过程中一个有趣的产物是目前成功的 RLHF 系统使用了和生成模型具有 不同 大小的 LM (例如 OpenAI 使用了 175B 的 LM 和 6B 的 RM,Anthropic 使用的 LM 和 RM 从 10B 到 52B 大小不等,DeepMind 使用了 70B 的 Chinchilla 模型分别作为 LM 和 RM) 。一种直觉是,偏好模型和生成模型需要具有类似的能力来理解提供给它们的文本。

接下来是最后一步:利用 RM 输出的奖励,用强化学习方式微调优化 LM。

Step 3. 用强化学习微调

长期以来出于工程和算法原因,人们认为用强化学习训练 LM 是不可能的。而目前多个组织找到的可行方案是使用策略梯度强化学习 (Policy Gradient RL) 算法、近端策略优化 (Proximal Policy Optimization,PPO) 微调初始 LM 的部分或全部参数。因为微调整个 10B~100B+ 参数的成本过高 (相关工作参考低秩适应 LoRA 和 DeepMind 的 Sparrow LM) 。PPO 算法已经存在了相对较长的时间,有大量关于其原理的指南,因而成为 RLHF 中的有利选择。

事实证明,RLHF 的许多核心 RL 进步一直在弄清楚如何将熟悉的 RL 算法应用到更新如此大的模型。

让我们首先将微调任务表述为 RL 问题。首先,该策略 (policy) 是一个接受提示并返回一系列文本 (或文本的概率分布) 的 LM。这个策略的行动空间 (action space) 是 LM 的词表对应的所有词元 (一般在 50k 数量级) ,观察空间 (observation space) 是可能的输入词元序列,也比较大 (词汇量 ^ 输入标记的数量) 。奖励函数是偏好模型和策略转变约束 (Policy shift constraint) 的结合。

PPO 算法确定的奖励函数具体计算如下:将提示 输入初始 LM 和当前微调的 LM,分别得到了输出文本 ,将来自当前策略的文本传递给 RM 得到一个标量的奖励 。将两个模型的生成文本进行比较计算差异的惩罚项,在来自 OpenAI、Anthropic 和 DeepMind 的多篇论文中设计为输出词分布序列之间的 Kullback–Leibler (KL) 散度的缩放,即 。这一项被用于惩罚 RL 策略在每个训练批次中生成大幅偏离初始模型,以确保模型输出合理连贯的文本。如果去掉这一惩罚项可能导致模型在优化中生成乱码文本来愚弄奖励模型提供高奖励值。此外,OpenAI 在 InstructGPT 上实验了在 PPO 添加新的预训练梯度,可以预见到奖励函数的公式会随着 RLHF 研究的进展而继续进化。

最后根据 PPO 算法,我们按当前批次数据的奖励指标进行优化 (来自 PPO 算法 on-policy 的特性) 。PPO 算法是一种信赖域优化 (Trust Region Optimization,TRO) 算法,它使用梯度约束确保更新步骤不会破坏学习过程的稳定性。DeepMind 对 Gopher 使用了类似的奖励设置,但是使用 A2C (synchronous advantage actor-critic) 算法来优化梯度。

作为一个可选项,RLHF 可以通过迭代 RM 和策略共同优化。随着策略模型更新,用户可以继续将输出和早期的输出进行合并排名。Anthropic 在他们的论文中讨论了迭代在线 RLHF,其中策略的迭代包含在跨模型的 Elo 排名系统中。这样引入策略和 RM 演变的复杂动态,代表了一个复杂和开放的研究问题。

RLHF 的未来

尽管 RLHF 取得了一定的成果和关注,但依然存在局限。这些模型依然会毫无不确定性地输出有害或者不真实的文本。这种不完美也是 RLHF 的长期挑战和动力 —— 在人类的固有领域中运行意味着永远不会到达一个完美的标准。

收集人类偏好数据的质量和数量决定了 RLHF 系统性能的上限。RLHF 系统需要两种人类偏好数据:人工生成的文本和对模型输出的偏好标签。生成高质量回答需要雇佣兼职人员 (而不能依赖产品用户和众包) 。另一方面,训练 RM 需要的奖励标签规模大概是 50k 左右,所以并不那么昂贵 (当然远超了学术实验室的预算) 。目前相关的数据集只有一个基于通用 LM 的 RLHF 数据集 (来自 Anthropic) 和几个较小的子任务数据集 (如来自 OpenAI 的摘要数据集) 。另一个挑战来自标注者的偏见。几个人类标注者可能有不同意见,导致了训练数据存在一些潜在差异。

除开数据方面的限制,一些有待开发的设计选项可以让 RLHF 取得长足进步。例如对 RL 优化器的改进方面,PPO 是一种较旧的算法,但目前没有什么结构性原因让其他算法可以在现有 RLHF 工作中更具有优势。另外,微调 LM 策略的一大成本是策略生成的文本都需要在 RM 上进行评估,通过离线 RL 优化策略可以节约这些大模型 RM 的预测成本。最近,出现了新的 RL 算法如隐式语言 Q 学习 (Implicit Language Q-Learning,ILQL) 也适用于当前 RL 的优化。在 RL 训练过程的其他核心权衡,例如探索和开发 (exploration-exploitation) 的平衡也有待尝试和记录。探索这些方向至少能加深我们对 RLHF 的理解,更进一步提升系统的表现。

RLHF的局限性

尽管 RLHF 模型在训练 AI 代理执行从机器人、视频游戏到 NLP 等复杂任务方面取得了令人印象深刻的成果,但使用 RLHF 并非没有局限性。

  • 人类偏好数据成本高昂。收集第一手人类反馈的需求可能会造成一个代价高昂的瓶颈,限制 RLHF 流程的可扩展性。Anthropic 10和 Google 11都提出了 AI 反馈强化学习 (RLAIF) 的方法,即让另一个 LLM 评估模型响应来取代部分或全部人类反馈,其结果与 RLHF 相当。
  • 人类的输入具有高度主观性。要就“高质量”的输出到底是什么达成坚定的共识,几乎是不可能的,因为人类评估者不仅会对所谓的“事实”产生不同的意见,还会对“适当的”模型行为究竟应该如何理解存在分歧。因此,人类的分歧使得据以判断模型性能的“标准答案”无法形成。
  • 人类评估者可能会犯错,甚至故意采取对抗性和恶意行为。人类对模型的引导并不总是出于善意,他们可能怀抱着真诚的反对意见,也可能故意操纵学习过程。Wolf 等人在 2016 年的一篇论文中提出,有毒行为应被视为人机交互中的一个基本预期,并建议需要一种方法来评估人类输入的可信度。12 2022 年,Meta AI 发布了一篇关于对抗性人类输入的论文(ibm.com 外部链接),研究了使用自动化方法“从高质量数据中获得最大学习效率,同时对低质量和对抗性数据具有最大稳健性”。该论文对各种“操纵”行为进行了分类,并确定了它们扭曲反馈数据的不同方式。
  • RLHF 存在过度拟合和偏见的风险。如果收集到的反馈来自一个非常有限的群体,那么当模型被其他群体使用,或者被用来处理与评估者持有某些偏见相关的主题时,可能会出现性能问题。

参考资料

首先介绍一些相关的开源工作:

关于 RLHF 的第一个项目,来自 OpenAI:
https://github.com/openai/lm-human-preferences

一些 PyTorch 的 repo:

  • https://github.com/lvwerra/trl
  • https://github.com/CarperAI/trlx
  • https://github.com/allenai/RL4LMs

此外,Huggingface Hub 上有一个由 Anthropic 创建的大型数据集:
https://huggingface.co/datasets/Anthropic/hh-rlhf

相关论文包括在现有 LM 前的 RLHF 进展和基于当前 LM 的 RLHF 工作:

  • TAMER: Training an Agent Manually via Evaluative Reinforcement (Knox and Stone 2008)
  • Interactive Learning from Policy-Dependent Human Feedback (MacGlashan et al. 2017)
  • Deep Reinforcement Learning from Human Preferences (Christiano et al. 2017)
  • Deep TAMER: Interactive Agent Shaping in High-Dimensional State Spaces (Warnell et al. 2018)
  • Fine-Tuning Language Models from Human Preferences (Zieglar et al. 2019)
  • Learning to summarize with human feedback (Stiennon et al., 2020)
  • Recursively Summarizing Books with Human Feedback (OpenAI Alignment Team 2021)
  • WebGPT: Browser-assisted question-answering with human feedback (OpenAI, 2021)
  • InstructGPT: Training language models to follow instructions with human feedback (OpenAI Alignment Team 2022)
  • GopherCite: Teaching language models to support answers with verified quotes (Menick et al. 2022)
  • Sparrow: Improving alignment of dialogue agents via targeted human judgements (Glaese et al. 2022)
  • ChatGPT: Optimizing Language Models for Dialogue (OpenAI 2022)
  • Scaling Laws for Reward Model Overoptimization (Gao et al. 2022)
  • Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback (Anthropic, 2022)
  • Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviors, and Lessons Learned (Ganguli et al. 2022)
  • Dynamic Planning in Open-Ended Dialogue using Reinforcement Learning (Cohen at al. 2022)
  • Is Reinforcement Learning (Not) for Natural Language Processing?: Benchmarks, Baselines, and Building Blocks for Natural Language Policy Optimization (Ramamurthy and Ammanabrolu et al. 2022)

欢迎去看看这篇文章

还有这个

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

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

相关文章

系统权限控制插件封装-实现系统权限控制插件化

背景:按照传统的开发方式方式,每次新开发一个系统,就需要花费大量时间精力去搭建权限控制模块,如果我们把权限控制这一整个模块都抽离成一个独立的权限控制插件,支持单命令安装,全面暴露参数与方法&#xf…

Linux Ubuntu(玩客云) qBittorrent docker BT下载(qbittorrent 密码错误无法登录 ip地址被禁止登录等)

提示: 需要提前安装Docker 根据qBittorrent官网的更新日志https://www.qbittorrent.org/news ,4.6.1.0包含一个重大更新。可以看到自4.6.1.0开始,qBittorrent将弃用adminadmin默认密码,采用随机密码,将在终端控制台输出…

伦敦银软件下载完成后如何开始交易?

在伦敦金投资的整个流程中,进行伦敦银软件的下载可以说也是重要的一步。伦敦银软件是由交易平台提供的,也是交易服务的具体体现。没有平台,我们就不能下单,也不能入场。那么,伦敦银软件下载完成后如何开始交易呢&#…

找不到msvcr120.dll无法继续执行

windows(新安装的系统)安装mysql,报错MSVCR120.dll找不到 官方下载地址 https://www.microsoft.com/zh-CN/download/details.aspx?id40784&wd&eqid9eba4d380059694e00000004658ce260 安装上就好了

Spring AI实战之一:快速体验(OpenAI)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于Spring AI Spring Boot、Spring Cloud、Spring Data,作为一名Java程序员,相信您对这些概览早已耳熟能详,或者天天在用…

1802907-91-0,甲基四嗪PEG4羧酸一种胺反应试剂

基本信息: 中文名称:甲基四嗪-四聚乙二醇-羧基,甲基四嗪PEG4羧酸 英文名称:Methyltetrazine-PEG4-acid,Methyltetrazine-PEG4-COOH CAS号:1802907-91-0 分子式:C20H28N4O7 分子量&#xff…

双翻斗雨量计学习

双翻斗雨量计用户手册(脉冲型) 本仪器由雨量计壳体、承雨口、漏斗、翻斗支撑、上漏斗雨量调节支架、上漏斗、汇集漏斗、计数翻斗雨量调节支架、计数翻斗、干簧管安装架、轴承螺钉、出水漏斗、腿部支架、干簧管、水平泡、调节支撑板、控制盒、调平装置、接…

我国破碎筛分设备市场规模逐渐扩大 砂石骨料为主要应用领域

我国破碎筛分设备市场规模逐渐扩大 砂石骨料为主要应用领域 破碎筛分设备是将物料进行破碎分级,并按照一定规格进行筛分的机械设备。破碎筛分设备具有高效率、移动速度快、节省人力等优点。根据配置组合不同,破碎筛分设备可分为辊式、颚式、圆锥式、旋回…

【C】语⾔内存函数--超详解

1. memcpy 使⽤和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 这个函数在遇到 \0 的时候并不会停下来。 如果source和destination有任何的重叠&am…

若依框架dialog弹窗取消点击空白出关闭

如果想全局取消的话就找到main.js在里面加上下面的一行代码,添加完成之后记得清楚浏览器缓存重新加载js文件。 Element.Dialog.props.closeOnClickModal.default false;如果想指定某个弹窗取消点击空白处关闭,那么就找到那个弹窗加上。添加完毕之后刷新…

python对私钥或者Cookie设置和读取环境变量

1. 开发环境 MAC 2. 设置python脚本中的私钥或者cookie的环境变量 vim ~/.bash_profile 打开文件 export COOKIEmy_cookie 设置环境变量 执行source ~/.bash_profile 3.读取环境变量 在pycharm中创建test_env.py文件 import os# 获取环境变量 api_key os.getenv(COOKI…

Java设计模式 _行为型模式_责任链模式

一、责任链模式 1、责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为型模式。该模式会为请求创建一个接收者对象的链。在这个责任链里,通常每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求&…

Linux运维:centos环境变量

前言 在 Linux 运维工作中,管理环境变量是至关重要的一项任务。在 CentOS 环境下,正确配置环境变量可以使系统更加高效和易于管理。 本文将重点讨论 CentOS 环境下的环境变量设置,并就python的环境变量配置方案进行讲解(不包含Ano…

汽车软件研发工具链丨怿星科技新产品重磅发布

“创新引领未来”聚焦汽车软件新基建,4月27日下午,怿星科技2024新产品发布会在北京圆满举行!智能汽车领域的企业代表、知名大企业负责人、投资机构代表、研究机构代表齐聚现场,线上直播同步开启,共同见证怿星科技从单点…

ubuntu下载zotero

https://www.zotero.org/download/ 下载完安装包之后,打开到这个位置右键点击打开终端 打开终端输入 ./zotero 随后进入到zotero弹出窗口直接next安装即可

(1)AB_PLC Studio 5000软件与固件版本升级

AB_PLC Studio 5000软件与固件版本升级 1. 软件版本升级2. 固件版本升级1. 软件版本升级 使用将老程序从19版本升级到33版本。 step1:双击程序.ACD文件,打开界面如下。 step2:点击更改Controller,选择我们的新CPU的型号和版本号。点击确定 step3:点击确定,等待。 st…

21物联1班shift五次

1.选择推荐选项 2.等待 3.点击取消 4.选择查看问题详细信息 5.点击txt文件 6.找到system文件夹,将sethc改为qqq,将cmd文件改为sethc文件 7.单击完成。重新启动虚拟机。连续按五次shift出现cmd框,修改密码

【解疑】ZIP分卷压缩文件如何设置和取消密码?

压缩大文件,我们可以设置压缩成ZIP分卷文件,这样更利于传输和存储。如果分卷文件比较重要,还可以设置密码保护,那ZIP分卷压缩文件的密码如何设置和取消呢?下面一起来看看吧! 设置ZIP分卷密码: …

AI时代:人工智能大模型引领科技创造新时代

目录 前言一. AI在国家战略中有着举足轻重的地位1.1 战略1.2 能源1.3 教育 二. AI在日常生活中扮演着重要角色2.1 医疗保健2.2 智能客服2.3 自动驾驶2.4 娱乐和媒体2.5 智能家居 三. AI的未来发展趋势 总结 前言 随着AI技术的进步,新一代的AI技术已经开始尝试摆脱依…

买入期权是什么意思?

今天期权懂带你了解买入期权是什么意思?买入期权:也称看涨期权。一种赋予其持有者以特定的价格、在特定的到期日当天或之前买入某种资产的权力的金融工具。 买入期权是什么意思? 买入期权也称看涨期权。即赋予其持有者在到期日或到期日之前按…