论文阅读03(基于人类偏好微调语言模型)

1.主题

基于人类偏好微调语言模型(Fine-Tuning Language Models from Human Preferences)
出处: Fine-Tuning Language Models from Human Preferences、

2.摘要

奖励学习使得强化学习(RL)可以应用于那些通过人类判断来定义奖励【1. 关键词是什么】 的任务,通过向人类提问来建立奖励模型。大多数关于奖励学习的研究使用了模拟环境,但复杂的价值信息通常以自然语言表达【2. 对比】,我们认为将奖励学习应用于语言是使RL在实际任务中实用且安全的关键。在本文中,我们基于生成预训练语言模型的进展,将奖励学习应用于四个自然语言任务:继续生成正面情感文本或物理描述性语言,以及TL;DR和CNN/Daily Mail数据集上的摘要任务【3. 任务】。对于风格化续写任务,我们仅通过5000次人类比较就取得了良好结果。对于摘要任务,通过60,000次人类比较训练的模型能够复制整句话但跳过不相关的前言;这导致合理的ROUGE分数和人类标签者的优异表现,但可能利用了标签者依赖简单启发式的事实 【4. 实验结果】

1. 奖励学习: 通过人类的反馈来定义奖励,从而指导强化学习(RL)。
2. 模拟环境: 之前的研究主要在虚拟环境中进行,但这些环境往往过于简单,无法反映现实世界的复杂性。【比如选择最短的路径通关游戏,相比于自然语言,复杂度相差甚远】
4. 主要任务: 奖励模型使得强化学习在处理任务更有效【指的是自然语言那类任务】
5. 实验结果:

  1. 风格化续写:仅通过5000次人类比较就取得了良好结果,这表明人类反馈在指导模型生成方面非常有效。
  2. 摘要任务:通过60,000次人类比较训练的模型能够生成合理的摘要,尽管这种方法可能依赖了人类标签者使用简单启发式的事实。

3.引言

我们希望将强化学习应用于那些仅通过人类判断来定义的复杂任务,在这些任务中,只有通过询问人类才能判断结果的好坏【1. 目的】。为此,我们可以首先使用人类标签来训练一个奖励模型,然后优化该模型。尽管有大量通过与人类互动来学习此类模型的研究,但这些研究直到最近才被应用于现代深度学习,并且即便如此,也仅应用于相对简单的模拟环境(Christiano等,2017;Ibarz等,2018;Bahdanau等,2018)。相比之下,在现实世界中,人类需要向AI代理指定复杂目标,这可能涉及并需要自然语言,这是表达价值观念的丰富媒介。当代理必须与人类进行交流以提供更准确的监督信号时,自然语言尤为重要(Irving等,2018;Christiano等,2018;Leike等,2018)。
自然语言处理最近取得了显著进展。一种成功的方法是先在无监督数据集上预训练一个大型生成语言模型,然后对该模型进行监督任务的微调【2.做法与对比】(Dai和Le,2015;Peters等,2018;Radford等,2018;Khandelwal等,2019)。这种方法通常显著优于从头开始训练监督数据集,并且一个单一的预训练语言模型通常可以通过微调在许多不同的监督数据集上达到最先进的性能【3. 做法的优势】(Howard和Ruder,2018)。在某些情况下,不需要微调:Radford等(2019)发现,经过生成训练的模型在无需额外训练的情况下(零样本)在NLP任务上表现良好。
将强化学习应用于自然语言任务有着悠久的历史。许多这方面的工作使用算法定义的奖励函数,例如翻译的BLEU(Ranzato等,2015;Wu等,2016)、摘要的ROUGE(Ranzato等,2015;Paulus等,2017;Wu和Hu,2018;Gao等,2019b)、基于音乐理论的奖励(Jaques等,2017)或故事生成的事件检测器(Tambwekar等,2018)。Nguyen等(2017)在BLEU上使用了RL,但应用了几个错误模型来模拟人类行为。Wu和Hu(2018)和Cho等(2019)从现有文本中学习连贯性模型,并将其用作摘要和长文生成的RL奖励。Gao等(2019a)通过将奖励学习应用于一篇文章一次构建了一个交互式摘要工具。使用人类评价作为奖励的实验包括Kreutzer等(2018),他们使用离线策略奖励学习进行翻译,以及Jaques等(2019),他们将Jaques等(2017)的修改版Q学习方法应用于对话中的隐式人类偏好。Yi等(2019)从人类那里学习奖励以微调对话模型,但对奖励进行了平滑处理以允许监督学习。我们参考Luketina等(2019)对涉及语言作为组件的RL任务和使用迁移学习进行RL结果的调查。
基于奖励模型德训练过程

在本文中,我们结合了自然语言处理中的预训练进展和人类偏好学习。我们使用从人类偏好中训练的奖励模型,通过强化学习而不是监督学习来微调预训练的语言模型。根据Jaques等(2017;2019)的研究,我们使用KL约束来防止微调模型偏离预训练模型。我们将我们的方法应用于两类任务:以匹配目标风格(如正面情感或生动描述性语言)的方式继续文本,以及对CNN/Daily Mail或TL;DR数据集(Hermann等,2015;Völske等,2017)中的文本进行摘要。我们的动机是处理那些没有或不足的监督数据集的NLP任务,以及那些程序化奖励函数是我们真实目标的糟糕代理的任务。
对于风格化续写任务,我们使用5,000个人类比较(每次选择4个续写中的最佳一个)进行微调,使得微调后的模型在86%的情况下被人类更喜欢,而对比零样本学习为77%,对比监督学习的情感网络为77%【体现出无监督预训练+微调的效果更好】。对于摘要任务,我们使用60,000个人类样本来训练模型,这些模型可以大致描述为“智能复制器”:它们通常从输入中复制整句话,但会跳过不相关的开头。这种复制行为自然地从数据收集和训练过程中出现;我们没有使用任何显式的复制机制(如See等,2017;Gehrmann等,2018)。一种解释是,复制是一种容易准确的方式,因为我们没有指示标签者惩罚复制,而是指示他们惩罚不准确。它还可能反映了一些标签者检查复制作为快速确保摘要准确性的一种启发式方法。确实,人类标签者显著更喜欢我们的模型而不是监督微调的基线,甚至比人类编写的参考摘要还要喜欢,但不如复制前三句话的基线 【好处:这种行为(跳过不相干部分)并不是通过显式的复制机制实现的,而是在数据收集和训练过程中自然出现的】
对于摘要任务,我们继续收集额外数据,并在策略改进时重新训练我们的奖励模型(在线数据收集)。我们还测试了离线数据收集,使用原始语言模型的数据来训练奖励模型;离线数据收集显著降低了训练过程的复杂性。对于TL;DR数据集,人类标签者71%的时间更喜欢在线数据收集训练的策略,而在定性评估中,离线模型通常提供不准确的摘要。相比之下,对于风格化续写任务,我们发现离线数据收集效果同样好。这可能与风格任务所需的数据非常少有关;Radford等(2017)显示,生成训练的模型可以从很少的标签样本中学习分类情感。
在并行工作中,Böhm等(2019)也使用人类评估来学习摘要的奖励函数,并使用RL优化该奖励函数。他们的工作更详细地调查了CNN/Daily
Mail数据集上学习的策略和奖励函数,而我们更广泛地探索了从人类反馈中学习,并在更大的计算规模上进行探索。因此,我们考虑了几个额外的任务,探索了在线奖励模型训练和更多数据的效果,并对大规模语言模型进行了奖励建模和RL微调。

1. 奖励模型增强强化学习对任务处理的过程:

  • 奖励模型训练
    1.Context(上下文): 从上下文开始,这里指输入的一段文字或语境。
    2. Policy(策略):基于上下文生成多个(例如四个)可能的续写(continuation)。
    3. Human Labeler(人类标签者): 这些生成的续写被送给人类标签者,人类根据自己的判断对这些续写进行评分或选择最好的续写。
    4. Reward Model(奖励模型): 人类标签者的选择结果被用于训练奖励模型。奖励模型根据人类的反馈生成对应的奖励信号。
    5. Loss(损失): 奖励模型根据生成的奖励信号计算损失,并通过优化过程不断改进自身。

  • 策略训练
    1. Context(上下文): 同样从上下文开始。
    2. Policy(策略): 基于上下文生成续写。
    3. Reward Model(奖励模型): 使用训练好的奖励模型对生成的续写进行评估,生成奖励信号。
    4. Loss(损失): 策略模型根据奖励信号计算损失,并通过优化过程不断改进策略。

在在线情况下,这两个过程是交替进行的,也就是说,奖励模型和策略会不断地互相优化,形成一个循环。【优化点】

2. 好处: 奖励模型和策略模型在互相优化的过程中,策略模型会逐渐生成更符合人类偏好的回答,奖励模型也会越来越准确地评估这些回答。【不断优化回答,使其适应上下文环境进行有效反馈】

3. 举例:

  • 奖励模型训练
    1. Context(上下文): 输入:“你好!今天的天气怎么样?”
    2. Policy(策略): 生成四个可能的续写:
    续写1:“天气很好,适合外出。”
    续写2:“我不知道,你可以看看天气预报。”
    续写3:“今天天气晴朗,温度适中。”
    续写4:“今天可能会下雨,记得带伞。”
    3. Human Labeler(人类标签者): 人类标签者选择最好的续写。假设他们选择续写3:“今天天气晴朗,温度适中。”
    4. Reward Model(奖励模型): 人类标签者的选择结果(续写3)用于训练奖励模型。奖励模型根据这个选择生成对应的奖励信号,例如给续写3一个高分。
    5. Loss(损失): 奖励模型计算生成的奖励信号与实际选择的偏差,并通过优化过程不断改进自身。

  • 策略训练
    1. Context(上下文): 再次输入:“你好!今天的天气怎么样?”
    2. Policy(策略): 策略模型基于上下文生成一个续写。例如,生成:“今天天气晴朗,适合外出。”
    3. Reward Model(奖励模型): 使用训练好的奖励模型对生成的续写进行评估,假设奖励模型给这个续写打了高分,因为它符合之前人类选择的标准。
    4. Loss(损失): 策略模型根据奖励信号计算损失,并通过优化过程改进策略,使其更倾向于生成高质量的续写。

4. 引言核心内容:

1. 研究动机:希望将强化学习应用于复杂任务 【自然语言】,这些任务仅通过人类判断来定义,且需要自然语言来表达复杂的价值概念。
2. 现状分析:虽然之前有大量研究通过与人类互动来学习模型,但这些研究主要应用于简单的模拟环境。现代深度学习下的奖励学习仍然主要集中在相对简单的环境中 【自然语言和模拟环境经过奖励学习的比较】
3. 自然语言处理的进展:预训练大型生成语言模型,然后对其进行监督任务的微调,这种方法在许多监督数据集上表现优异,甚至在某些情况下无需微调即可在NLP任务中表现良好。
4. 强化学习在自然语言任务中的应用:过去的工作主要使用算法定义的奖励函数,但本文结合了自然语言处理中的预训练进展和人类偏好学习,通过奖励模型进行强化学习微调。
总的来说, 提出了一种新的方法,将人类偏好与预训练语言模型相结合,通过强化学习进行微调,以解决自然语言处理中的复杂任务。这种方法特别适用于没有或不足的监督数据集,以及那些程序化奖励函数不充分的任务。

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

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

相关文章

深度学习windows环境配置

1 下载CUDA和cudnn 详见文章 CUDA与CUDNN在Windows下的安装与配置(超级详细版)_windows cudnn安装-CSDN博客 我电脑的CUDA下载链接如下 ​​​​​https://developer.nvidia.com/cuda-12-1-0-download-archive?target_osWindows&target_archx86…

Validation校验

文章目录 Validation校验作用依赖坐标UserController接收客户端注册用户请求的方法请求参数封装实体User的结构校验分组 Validation校验 作用 服务端接收前端传递的请求从参数的时候,可以对请求参数进行自动校验。 场景:通过postman向服务端发送一个注…

指纹浏览器与虚拟机的区别及在跨境电商中的应用

在如今数字化世界中,隐私和安全变得愈发重要。许多人在网络上进行敏感操作,如网上购物、在线银行、社交媒体管理等。为了保护自己的隐私,人们常常会寻求一些额外的工具,比如指纹浏览器和虚拟机。这两种工具在保护个人隐私方面都有…

东郊到家类型小程序APP软件基于SpringBoot开发的系统源码

项目背景 在快节奏的现代生活中,人们越来越追求高效、便捷的生活方式。上门服务作为一种新型的服务模式,正逐渐受到广大用户的青睐。而这一切的背后,离不开技术的强大支撑。今天,我们就来探讨一下上门服务类型软件的技术魅力&…

4. DSL入门_01

1. 常见的DSL (1) 查询所有: 查询出所有数据,一般测试的时候使用,例如: match_all .但是受分页限制,一般返回10条数据 (2) 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引中匹配&a…

数据结构和算法(2)---- Stack 的原理和实现

Stack 的定义和结构 栈(Stack)是仅限于在表尾进行插入和删除的线性表 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何元素的栈称为空栈,栈也被称为先进后出(Last In First Out)的线性表,简称LIFO结构…

为什么能通过文本分析情感?

通过文本分析情感,通常称为情感分析(Sentiment Analysis)或意见挖掘(Opinion Mining),是自然语言处理(NLP)的一个分支。这项技术能够识别和提取文本中的主观信息(对呀&am…

Linux操作系统处理器调度基本准则和实现

1,基本概念 在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、低效)选择一个进程并将…

windows端口被占用问题,杀死进程

描述:端口被占用 在使用IntelliJ IDEA运行程序时,可能会遇到端口占用的情况,这通常由以下几个原因引起: 1、同一程序多次启动:如果你没有正确关闭之前运行的程序实例,再次尝试运行相同的程序时,…

数据库系统概论(超详解!!!) 第十四节 数据库恢复技术

1.事务的基本概念 1.事务 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务和程序是两个概念, 在关系数据库中,一个事务可以是一条SQL语句&#xff…

Leetcode3185. 构成整天的下标对数目 II

Every day a Leetcode 题目来源&#xff1a;3185. 构成整天的下标对数目 II 解法1&#xff1a;哈希 本质思路类同经典的“两数之和”。枚举右&#xff0c;用哈希表维护左。 枚举 j&#xff0c;并维护 cnt[x] 表示所有满足 i < j 的下标 i 中&#xff0c;有几个 hours[i]…

5个视频人声分离方法:一键批量分离人声和背景音乐(操作指南)

视频人声分离指的是从视频文件中提取人声部分&#xff0c;将其与背景音乐分离。想要将视频人声分离&#xff0c;可以使用手机上的音频人声分离app、或电脑端专业的人声分离软件和在线剪辑工具实现&#xff0c;只需要导入文件就可以实现视频人声分离。 本文整理了以下几款视频人…

分治精炼宝库----归并排序应用( ´◔︎ ‸◔︎`)

目录 一.基本概念: 二.归并排序&#xff1a; 三.交易逆序对总数&#xff1a; 四.计算右侧小于当前元素的个数&#xff1a; 五.翻转对&#xff1a; 六.合并k个有序链表&#xff1a; 一.基本概念: &#x1f43b;在计算机科学中&#xff0c;分治法是一种很重要的算法。字面上的…

ImportError: No module named createrepo

我在用createrepo命令创建本地源时,出现如下: ImportError: No module named createrepo原因估计就是之前升级python2.6为2.7时导致(系统为centos7),看网上很多说, 修改/usr/share/createrepo/genpkgmetadata.py 第一行的python路径,但我试了根本无效 我是重新通过yu…

QtCreator/VS中制作带有界面的动态库

1、首先创建动态库项目 class UNTITLED25_EXPORT Untitled25 {public:Untitled25(); };2、直接右键创建同名窗口类进行覆盖 3、引入global头文件并添加到处宏</

Cadence 16.6与17.4个人学习版推荐

一. 简介与下载 Cadence个人学习版是基于Cadence官方发行的安装包做了适当精简和优化的二次打包版本&#xff0c;包括了Cpature原理图设计、PSpice 电路仿真以及Allegro PCB设计等以电子产品设计为主的主要功能&#xff0c;能满足绝大部分硬件工程师的使用需求。 学习版预先已…

SpringBoot使用AutoConfigure实现依赖库自动导入配置

我们知道导入配置有两种&#xff0c;一种是Value&#xff0c;一种是ConfigurationProperties&#xff0c;将对应的类标记为Component即可导入。但是被注解标识的类创建Bean有一个前提&#xff0c;只对启动类所在的包路径下的所有带有Component等注解的类才会创建Bean。如果我们…

高中生都知道:Mybatis-Plus如何生成内置Sql的?

一&#xff1a;文章背景 本文从源码的角度进行分析Mybatis-Plus&#xff0c;为了阅读且吸收的更顺利&#xff0c;希望读者有以下基础: 对Java、Spring、Mybatis、Mybatis-Plus有一定的了解/使用基础对底层源码有略微学习&#xff0c;哪怕是为了框架二开、框架扩展或知识储备本…

【C++】循环、控制流语句、指针

8、循环&#xff08;loops&#xff09;&#xff08;1&#xff09;for loops for循环非常灵活&#xff0c;可以做很多事情。上图红框框出来的代码块就是一个for循环。 for是关键字 for后面内容分为三部分&#xff0c;每部分用分号&#xff1b;隔开 第一部分A是变量的声明&…

20240623(26.0) 重要财经新闻

财经关注 ► 券商中国&#xff1a;北交所于6月21日晚间受理了3家企业的IPO申请。6月20日晚间&#xff0c;沪深交易所各受理了1家IPO申请。这也意味着&#xff0c;三大交易所IPO受理全部恢复。与此同时&#xff0c;三大交易所IPO上市委会议也已经全部重启。 ► 全球多地近期遭遇…