文献阅读:RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback

  • 文献阅读:RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback
    • 1. 文章简介
    • 2. 方法介绍
      • 1. 整体方法说明
    • 3. 实验结果
      • 1. RLHF vs RLAIF
      • 2. Prompt的影响
      • 3. Self-Consistency
      • 4. Labeler Size的影响
      • 5. 标注数据的影响
    • 4. 总结 & 思考
  • 文章链接:https://arxiv.org/abs/2309.00267

1. 文章简介

这篇文章是Google在今年9月发表的一篇文章,顾名思义,其核心的idea就是将RLHF当中的human部分直接替换为AI,直接用LLM的Feedback来finetune模型,考察其得到的模型效果。

结论而言其得到的模型效果有了不输RLHF后的模型效果,证明了上述策略的可行性。

怎么说呢,这个结论多少有些情理之中又有些意料之外……

情理之中是在于说已经有多个实验证明了LLM在标注任务上的效果不弱于人类,甚至比人类有着更稳定的标注效果,因此用LLM来替代人类的标注有其一定的道理。

另一方面,意料之外则是因为LLM毕竟还是模型,用模型自己来finetune模型总觉得会引入bias,在其本身的训练feature没有获得增加的情况下,对于模型效果的最终提升来说总觉得有些不可靠……

不过,anyway,还是让我们言归正传,来看看文中到底是做了怎么样的实验以及得出了怎么样的结论吧。

2. 方法介绍

1. 整体方法说明

首先,我们给出RLHF与RLAIF的完整pipeline示意图如下:

在这里插入图片描述

可以看到,整体来说,RLHF和RLAIF唯一的区别就是将RM模型所需的标注从人工换成了另一个LLM的自动标注结果。

下面,我们来看一下其中具体的细节实现。

对于一个标准的RLHF过程,可以拆解为以下三部分的内容:

  1. Supervised finetuned Model (SFT)

  2. RM model

    使用人工标注结果训练一个二分类模型:

    L = − E ( x , y w , y l ) ∼ D [ l o g σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) ] L = -\mathop{E}\limits_{(x, y_w, y_l) \sim D} [\mathop{log}\sigma(r_{\phi}(x, y_w) - r_{\phi}(x, y_l))] L=(x,yw,yl)DE[logσ(rϕ(x,yw)rϕ(x,yl))]

  3. Reinforce Learning

    m a x θ E [ r ϕ ( y ∣ x ) − β D K L ( π θ R L ( y ∣ x ) ∣ ∣ π S F T ( y ∣ x ) ) ] \mathop{max}\limits{\theta} \mathop{E}[ r_{\phi} (y|x) - \beta \mathop{D}_{KL} (\pi_{\theta}^{RL}(y|x) || \pi^{SFT} (y|x))] maxθE[rϕ(yx)βDKL(πθRL(yx)∣∣πSFT(yx))]

而RLAIF就是将2中的标注结果替换为人工标注的结果,其用于query大模型的prompt示例如下:

在这里插入图片描述

可以看到,文中使用的prompt主要包含四部分的内容:

  1. Preamble
    • 对任务的整体介绍
  2. Few-Shot example
    • optional,一些具体的case样例
  3. query
    • 具体的query,在文中就是summary任务
  4. ending
    • 回答的提示词

但是,实际在实验过程当中,文中发现LLM的回答对于summary的位置信息还是挺敏感的,也就是说当LLM对summary出现的位置具有一定的倾向性,比如说比较倾向于选择先给出的summary这样。

而另一方面,在请求模型时,为了优化模型调用的效果,文中还使用了类似CoT之类的prompt调优的方法。

下图是文中实际使用的LLM进行标注的流程示意图:

在这里插入图片描述

可以看到,这里主要是加入了如下一些变化:

  1. 引入COT方法
  2. 对于输出的结果,分别用两个概率来表示其preference。
  3. 对于每一组summary都query两次,消除其出现位置对模型输出的影响,然后将两次结果进行平均作为最终的输出;

3. 实验结果

下面,我们来看一下文中实际的实验效果。

1. RLHF vs RLAIF

首先,文中给出了人对于RLHF与RLAIF的结果的喜好程度比例如下:

在这里插入图片描述

可以看到:

  • RLHF与RLAIF都超越了SFT模型的生成效果,但是两者相互之间却没有显著的效果差异。

下面是一个具体的生成case展示:

在这里插入图片描述

2. Prompt的影响

下面,我们来考察一下prompt对RLAIF效果的影响。

文中主要研究了三方面的prompt tuning的效果影响:

  1. preamble的准确性
  2. In-Context Learning
  3. CoT

给出文中的实验结果表格如下:

在这里插入图片描述

其中,AI Labeler Aligned表示标注结果与人工标注结果的一致性。

可以看到:

  • Preamble对模型效果的影响最大;
  • CoT同样可以给模型带来一定的效果增益;
  • few-shot (in-context learning)对模型效果并没有什么增益,甚至可能会带来伤害;

3. Self-Consistency

文中还考察一了一下生成结果的self-consistency,具体来说,就是通过调整生成的随机性,然后多次生成进行average作为RM模型的训练数据,实验得到的结果如下:

在这里插入图片描述

可以看到:

  • self-consistency的实验结果并不很好,多次sample取均值之后发现其结果反而有所下降。

文中给出一种猜测可能是由于设置随机性较高之后使得生成质量受到了影响。

4. Labeler Size的影响

文中同样考察了一下Label模型的size对标注结果的影响:

在这里插入图片描述

可以看到:

  • 模型size越大,模型的标注效果越好。

这也是符合直觉的,毕竟模型的size越大,模型的效果越好,对应的标注效果也应该越好。

5. 标注数据的影响

最后,文中还考察了一下随着标注数据的增加,RLHF与RLAIF效果的变化。

在这里插入图片描述

可以看到:

  • RLAIF可以更快速地达到一个较好的水平上,但是随着标注数据的增加,模型效果的提升很快达到了一个瓶颈,不会随着标注数据的增加而持续提升;
  • 而另一方面,RLHF的效果随着标注数据的增加提升的相对较慢,但是会有一个持续的提升趋势。

这个结果也是make sense的,毕竟RLAIF并没有额外的信息输入,只能说是更有效地利用现有训练数据对模型进行训练,因此其效果的提升总是会有一个极限的,而相对的,RLHF则是持续地给模型增加额外的输入特征,因此模型总是可以持续地进行优化的。

但是另一方面,正如文章所说,考虑到所需的数据量和标注成本,RLAIF作为一个替代方案已经足够有效和划算了。

4. 总结 & 思考

综上,我们可以看到,由于当前LLM本身拥有的强大理解能力和效果,用LLM来替换RLHF当中的人工标注部分获得的RLAIF可以获得和人工标注相类似的效果,这个和目前大量的使用LLM来进行标注的工作中的结论是一致的。

然后,同样的,由于LLM本身不会有额外的信息传入,因此虽然RLAIF能够获得超过SFT,并获得和RLHF相当的效果,其效果的上限较之RLHF依然存在一定的差距,只不过要看到相对明显的差距需要大量的标注数据,这个成本是非常可观的,因此整体上来说RLAIF是一个相当好用的RLHF的替代品。

最后,文中还考察了一下标注过程的prompt调优,发现随即因子的引入会伤害模型的表达,另外CoT和好的preamble非常的关键,但是in-context learning则不是那么重要,这个和我们平时的prompt调优的感觉也是相似的。

但尽管如此,prompt工程这方面的结论的可靠性和一致性我个人实在是觉得有点过低了,仿佛炼丹,充满了玄学色彩,感觉还是不太好控制,不知道是不是只有我一个人这么觉得……

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

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

相关文章

CVE-2020-11978 Apache Airflow 命令注入漏洞分析与利用

简介 漏洞软件&#xff1a;Apache Airflow影响版本&#xff1a;< 1.10.10 环境 Vulhub 漏洞测试靶场 复现步骤 进入 /root/vulhub/airflow/CVE-2020-11978/ 目录运行以下命令启动环境 # 初始化数据库 docker compose run airflow-init # 开启服务 docker compose up -…

ChatGPT 现在可以看、听和说话了!

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【HUAWEI】单臂路由

目录 ​ &#x1f96e;写在前面 &#x1f96e;2.1、拓扑图 &#x1f96e;2.2、操作思路 &#x1f96e;2.3、配置操作 &#x1f363;2.3.1、LSW4配置 &#x1f363;2.3.2、R2配置 &#x1f363;2.3.3、测试网络 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &…

LeetCode每日一题 | 309.买卖股票的最佳时机含冷冻期

题目链接&#xff1a; 309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 算法图解&#xff1a; 解题代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();vector&…

解决Excel无法打开文件“xxx.xlsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式!匹配的问题

文章目录 1. 复现错误2. 分析错误3. 解决错误 1. 复现错误 今天在开发过程中&#xff0c;测试指给我一个bug&#xff0c;如下图所示&#xff1a; 于是&#xff0c;我拿到这个文件标准模板.xlsx&#xff0c;尝试使用WPS打开看看&#xff0c;如下图所示&#xff1a; 如上图所示&a…

Node18.x基础使用总结(二)

Node18.x基础使用总结 1、Node.js模块化1.1、模块暴露数据1.2、引入模块 2、包管理工具2.1、npm2.2、npm的安装2.3、npm基本使用2.4、搜索包2.5、下载安装包2.6、生产环境与开发环境2.7、生产依赖与开发依赖2.8、全局安装2.9、修改windows执行策略2.10、安装包依赖2.11、安装指…

Sentinel学习(2)——sentinel的使用,引入依赖和配置 对消费者进行流控 对生产者进行熔断降级

前言 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 本篇博客介绍sentinel的使用&#x…

前端架构师之02_ES6_高级

1 类和继承 1.1 class类 JavaScript 语言中&#xff0c;生成实例对象的传统方法是通过构造函数。 // ES5 创建对象 // 创建一个类&#xff0c;用户名 密码 function User(name,pass){// 添加属性this.name name;this.pass pass; } // 用 原型 添加方法 User.prototype.sho…

华为云云耀云服务器L实例评测|搭建CounterStrike Source Delicated Server(CS起源游戏服务器)

华为云云耀云服务器L实例评测&#xff5c;搭建CounterStrike Source Delicated Server&#xff08;CS起源游戏服务器&#xff09; #【有奖征文】华为云云服务器焕新上线&#xff0c;快来亲身感受评测吧&#xff01;# ⭐️ CounterStrikeSource&#xff08;CS起源是Valve的一款…

ChatGPT架构师:语言大模型的多模态能力、幻觉与研究经验

来源 | The Robot Brains Podcast OneFlow编译 翻译&#xff5c;宛子琳、杨婷 9月26日&#xff0c;OpenAI宣布ChatGPT新增了图片识别和语音能力&#xff0c;使得ChatGPT不仅可以进行文字交流&#xff0c;还可以给它展示图片并进行互动&#xff0c;这是一次ChatGPT向多模态进化的…

【计算机取证篇】Windows禁用驱动程序签名教程

【计算机取证篇】Windows禁用驱动程序签名教程 高级启动—【蘇小沐】 文章目录 【计算机取证篇】Windows禁用驱动程序签名教程1、实验环境 &#xff08;一&#xff09;驱动问题&#xff1a;驱动安装失败&#xff08;二&#xff09;高级启动&#xff1a;F7禁用驱动程序强制签名…

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理②

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理② 第十八章 Linux系统对中断的处理 ②18.3 Linux中断系统中的重要数据结构18.3.1 irq_desc数组18.3.2 irqaction结构体18.3.3 irq_data结构体18.3.4 irq_domain结构体18.3.5 irq_chip结构体 18.4 在设备树中指定中断_在…

JAVA设计模式-代理模式

一.概念 在软件开发中&#xff0c;也有一种设计模式可以提供与代购网站类似的功能。由于某些原因&#xff0c;客户端不想或不能直接访问一个对象&#xff0c;此时可以通过一个称之为“代理”的第三者来实现间接访问&#xff0c;该方案对应的设计模式被称为代理模式。 ​ 代理模…

12、Kubernetes中KubeProxy实现之iptables和ipvs

目录 一、概述 二、iptables 代理模式 三、iptables案例分析 四、ipvs案例分析 一、概述 iptables和ipvs其实都是依赖的一个共同的Linux内核模块&#xff1a;Netfilter。Netfilter是Linux 2.4.x引入的一个子系统&#xff0c;它作为一个通用的、抽象的框架&#xff0c;提供…

【刷题笔记10.2】LeetCode: 罗马数字转整数

LeetCode: 罗马数字转整数 一、题目描述 二、分析 方法一&#xff1a; 将给定字符串s中的"IV", “IX”, “XL”, “XC”, “CD”, “CM” 全部替换为其他字符如&#xff1a;a, b, c, d, e, f 这种&#xff0c;然后就可以遍历累加了。 s s.replace("IV",…

华为云云耀云服务器L实例评测 | 实例评测使用之体验评测:华为云云耀云服务器管理、控制、访问评测

华为云云耀云服务器L实例评测 &#xff5c; 实例评测使用之体验评测&#xff1a;华为云云耀云服务器管理、控制、访问评测 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀…

深度学习笔记_1、定义神经网络

1、使用了PyTorch的nn.Module类来定义神经网络模型;使用nn.Linear来创建全连接层。(CPU) import torch.nn as nn import torch.nn.functional as F from torchsummary import summary# 定义神经网络模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()…

小程序编译器性能优化之路

作者 | 马可 导读 小程序编译器是百度开发者工具中的编译构建模块&#xff0c;用来将小程序代码转换成运行时代码。旧版编译器由于业务发展&#xff0c;存在编译慢、内存占用高的问题&#xff0c;我们对编译器做了一次大规模的重构&#xff0c;采用自研架构&#xff0c;做了多线…

px4的gazebo仿真相机模型报错解决办法,返回值256

&#x1f449;事情起因&#xff1a;我想做关于PX4无人机的摄像头仿真&#xff0c;根据PX4的官网文件 Tools/sitl_gazebo文件夹里面有对应的模型可以使用&#xff0c;我就想在mavros_posix_sitl文件里面修改vehicle参数&#xff0c;比如直接将vehicle“iris_stereo_camera”。然…

【前段基础入门之】=>CSS 中对颜色数值的四种表达方式!

导语&#xff1a; 在通过 CSS 设置元素样式的时候&#xff0c;对于颜色的定义&#xff0c;有以下四种表达方式。 文章目录 方式一&#xff1a;【颜色名】方式二&#xff1a;rgb 或 rgba方式三&#xff1a;&#xff1a;HEX 或 HEXA方式四&#xff1a;HSL 或 HSLA 方式一&#xf…