用判断对齐大语言模型

1、写作动机:

目前的从反馈中学习方法仅仅使用判断来促使LLMs产生更好的响应,然后将其作为新的示范用于监督训练。这种对判断的间接利用受到无法从错误中学习的限制,这是从反馈中学习的核心精神,并受到LLMs的改进能力的制约。

2、主要贡献:

• 首次系统地探讨了将LLMs与判断对齐的方法。

• 引入了一个新颖的框架CUT(对比不可能性学习),通过直接和明确地从判断中学习,促进了LLMs的对齐。值得注意的是,CUT允许基于判断进行细粒度的不当内容检测和校正。 

3、背景知识-从反馈中学习:

从反馈中学习的现有方法可以分为两个不同的类别:提示和微调,它们通过LLMs的参数是否更新来区分。

提示: 提示不改变LLMs的参数。相反,它利用对先前响应的语言反馈,以促使生成更好的响应。

微调: 微调旨在直接训练一个更好的LLM。

4、将LLMs与判断对齐的预备知识:

假设有一组指令-响应-判断三元组(x,y,j),其中指令x = [x1,...,xM],响应y = [y1,...,yN],判断j = [j1,...,jQ]都是长度分别为M、N和Q的token序列。响应可能存在某些缺陷,或者被认为完全令人满意。判断提供了对响应的优点和缺点的分析。判断可以由人类标注员或AI评判模型起草。

将LLMs与判断对齐的目标是使LLM保留在优点中提到的适当行为,更重要的是解决弱点,以防止未来的错误行为。

一些先前的解决方案:

前向预测: 前向预测是指顺序预测响应及其判断的过程,具体来说,LLM在最大似然估计(MLE)目标下被训练,首先基于指令x生成响应y,然后基于组合序列[x,y]生成判断j。

从语言反馈中的模仿学习: 从语言反馈中的模仿学习(ILF)要求LLM在给定反馈j的情况下改进初始响应y。改进后的响应yˆ,与初始指令x配对,用于在MLE目标下微调LLM。

追溯法: 追溯法根据响应y收到的标量奖励重写指令x。例如,如果一个响应收到低于一定阈值的标量奖励,则在原始指令中添加短语“生成正确答案”;否则,添加“生成错误答案”。显然,这种方法可以自然地扩展到我们的问题设置中。具体来说,LLM被训练生成响应y,条件是序列[x,j]。

然而,在前向预测中,学习生成判断不一定会转化为增强的响应生成,因为响应生成先于判断生成。ILF只利用正面数据(即改进的响应),限制了模型识别和纠正在负面判断中强调的弱点或错误的能力。至于追溯法,使用不令人满意的响应作为MLE目标必然增加了生成不令人满意响应的风险。

5、CUT框架:

CUT的核心思想可以总结为从对比中学习。我们对不同条件下的响应生成进行对比,以阐明LLM应该保持的适当行为以及需要进行调整的具体内容。基于这些见解,对适当内容使用MLE训练,对不适当内容使用不可能性训练(UT)。

5.1将判断纳入对齐:

将指令-响应对称为“对齐”,如果响应忠实地遵循指令并满足人类期望 x −→ y。否则,判断描述了响应中存在的错误或缺陷。假设任务是生成一个有意满足判断的响应,可以推断出响应始终与组合输入 [x, j] −→ y 对齐。

Align-P:LLM对原始指令x生成满意的响应y。因此,授予积极的判断j以承认LLM的出色表现。很明显,响应y与指令x以及组合输入[x, j]都对齐。

Align-N:LLM在生成过程中出现了一些错误,导致响应y不满意。因此,负面判断j详细说明了相应的批评意见。对于Align-N,y在原始指令x方面不对齐。然而,考虑x和j作为整体,y确实与组合输入[x, j]对齐。

Misalign:在Align-N中的真实负面判断被替换为虚假的积极判断j。在这种情况下,响应y既不与原始指令x对齐,也不与组合指令和判断[x, j]对齐。

5.2 从对比中学习:

Align-N vs. Misalign:尽管Align-N和Misalign在x −→ y方面不对齐,但它们在任务[x, j] −→ y方面显示出相反的极性。由于LLMs具有强大的上下文学习能力,从Align-N到Misalign的对齐转换通常伴随着响应的生成概率下降,特别是对于与真实负面判断强相关的标记。

将Align-N和Misalign示例分别输入LLM以获取token生成概率pθ(yt|y<t, x, j −)和pθ(yt|y<t, x, j +)。将在条件为j −的情况下生成概率显著增加的与j +相比的token视为不适当的token(例如,图2中的“a”)。具体而言,采用以下标准:

其中λ≥1是一个超参数,用于权衡检测不适当token的精度和召回率。对识别的不适当token应用UT目标,以推动LLM探索替代生成。对于其他token,使用标准的MLE损失:

Align-P vs. Align-N:尽管Align-P和Align-N在[x, j] −→ y方面都对齐,但只有Align-P在仅考虑指令(x −→ y)时对齐。基本上,它表明LLM应根据是否引入负面判断来输出不同的响应。

具体而言,使用以下MLE目标训练这个比较:

其中1(x −→ y)是一个指示函数,如果x和y对齐,则返回1,否则返回0。

最后,CUT的总体损失将这两个对比的损失函数结合在一起:LCUT​=L1​+L2​。


6、实验:

在两种对齐设置中对CUT进行实验:(1)离线对齐,其中使用现成的与模型无关的指令-响应-判断三元组。 (2)在线对齐,其中判断是基于当前目标模型生成的响应进行的。这个在线设置可以进行迭代实现,允许持续的细化和适应。

使用LoRA进行模型训练,超参数λ的权衡选择自{1.1, 1.2, 1.5},不可能性权重α选择自{0.25, 0.5, 0.75, 1}。

6.1离线对齐:

6.2在线对齐:

在线对齐过程可以迭代进行,类似于人类通过不断来自同行的反馈不断完善他们的行为。具体来说,我们重复应用以下三个步骤:

  • 步骤1:收集指令x,并从目标模型获取响应y。
  • 步骤2:为响应标注判断j。
  • 步骤3:应用CUT通过{x, y, j}对目标模型进行微调。

6.3判断vs奖励:

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

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

相关文章

来自一个系统的自白

天空一声巨响&#xff0c;小炫我闪亮登场&#xff01;初次见面&#xff0c;给大家简单介绍下自己&#xff1a;我是炫我渲染私有云系统&#xff0c;是最新一代的智能渲染集群系统。可以进行私有化部署&#xff0c;在3dsmax、maya等软件中一键完成提交、上传、渲染、下载的任务&a…

1881_S32K344开发工具以及MCAL软件安装

全部学习汇总&#xff1a; GreyZhang/g_s32k344: A new MCU learning notes. I would try to use MCAL instead of SDK. (github.com) 编译有专门的编译器安装包&#xff0c;也有IDE的安装形式。这里我选择了IDE&#xff0c;因为我还需要一个开发调试环境。这个IDE可以让我方便…

使用cURL命令在Linux中测试HTTP服务器的性能

cURL是一个强大的命令行工具&#xff0c;用于从或向服务器传输数据。它支持多种协议&#xff0c;包括HTTP、HTTPS、FTP等。在Linux系统中&#xff0c;cURL可以用于测试和评估HTTP服务器的性能。下面是一些使用cURL命令测试HTTP服务器性能的示例和说明。 1. 基本请求 要向指定…

MySQL8下载安装教程

一、MySQL下载 我的版本是8.2.0&#xff0c;当前的最新版本&#xff0c;网址如下&#xff1a;MySQL :: Download MySQL Community Server 点击No thanks&#xff0c;just start my download&#xff0c;就是只是开始下载的意思&#xff0c;点击下载&#xff0c;等待下载完成 二…

ylov8的训练和预测使用(目标检测)

首先要配置文文件 1-配置数据集的yaml文件&#xff1a; 目录在ultralytics/cfg/datasets/下面&#xff1a; 例如我的&#xff1a; (这里面的yaml文件在/ultralytics/cfg/datasets下面有很多&#xff0c;可以找几个参考一下) path: /path/to/eye_datasets # dataset root di…

java基础之Java8新特性-方法引入

目录 1.简介 2.方法引入 方法引入遵循规范 方法引入种类 1.静态方法引入 2.对象方法引入 3.实例方法引入 4.构造函数引入 1.简介 方法引用是 Java 8 中引入的另一个重要特性&#xff0c;它提供了一种简洁的语法来直接引用现有方法或构造函数。方法引用可以看作是 Lambd…

【Python机器学习】决策树集成——梯度提升回归树

理论知识&#xff1a; 梯度提升回归树通过合并多个决策树来构建一个更为强大的模型。虽然名字里有“回归”&#xff0c;但这个模型既能用于回归&#xff0c;也能用于分类。与随机森林方法不同&#xff0c;梯度提升采用连续的方式构造树&#xff0c;每棵树都试图纠正前一…

功能分享【电商API接口】:商品采集正确使用方法!

相信很多做过电商的人&#xff0c;曾经有在淘宝、京东、天猫、拼多多、1688等平台上卖过自己的产品&#xff0c;但是每换一个平台&#xff0c;商品要重新上传&#xff0c;这浪费了很多没有必要的时间。 为此我们开发了商品采集API功能&#xff0c;一键完成上架商品&#xff0c…

CHS_01.1.5+操作系统引导

CHS_01.1.5操作系统引导 操作系统的引导一个新的磁盘安装操作系统后操作系统引导&#xff08;开机过程&#xff09; 操作系统的引导 我们会学习操作系统的引导 那你可能看见这个词的时候会觉得莫名其妙不明 绝地 什么是操作系统的引导呢 简单来说就是当你在开机的时候 如何让…

频率的高低与辐射强度有关系吗?

摘要: 频率的高低和辐射强度之间存在一定的关系。 一般而言&#xff0c;频率越高&#xff0c;辐射强度越大&#xff0c;即电磁辐射的能量越大。这是因为电磁波的能量与其频率成正比。在电磁波谱中&#xff0c;如X光和伽玛射线具有高频率和强辐射强度&#xff0c;可以破坏构成 .…

番外篇 中国古代的操 作系统

番外篇中国古代的操作系统 在古代中国&#xff0c;仿佛已经存在一套古老而神秘的操作系统机制。 这个东方国度中&#xff0c;有一位名叫小李子的忙碌人物&#xff0c;他的工作就如同是执行各种指令的“人肉CPU”。 这个国家还有一个特殊的人物&#xff0c;即皇帝&#xff0c;他…

1.4.1机器学习——梯度下降+α学习率大小判定

1.4.1梯度下降 4.1、梯度下降的概念 ※【总结一句话】&#xff1a;系统通过自动的调节参数w和b的值&#xff0c;得到最小的损失函数值J。 如下&#xff1a;是梯度下降的概念图。 我们有一个损失函数 J(w,b)&#xff0c;包含两个参数w和b&#xff08;你可以想象成J(w,b) w*x…

服务器配置SSL证书到nginx基于Fdfs存储服务器或者直接阿里云绑定SSL

1.如果用FDFS存储服务器内置nginx设置SSL证书 1.验证当前nginx是否存在 http_ssl_modulehttp_ssl_module模块 如果存在直接配置就行 server {listen 80 default backlog2048;listen 443 ssl; server_name 域名; ssl_certificate /usr/local/nginx_fdfs/ssl/xxxx.top.crt; ssl…

Unity报错:[SteamVR] Not Initialized (109)的解决方法

问题描述 使用HTC vive 头像进行SteamVR插件的示例场景进行测试&#xff0c;发现头显场景无法跳转到运行场景&#xff08;Unity 项目可以运行&#xff0c;仅出现警告&#xff09;。 具体如下&#xff1a; [SteamVR] Not Initialized (109) [SteamVR] Initialization failed…

OpenHarmony自定义Launcher

前言 OpenHarmony源码版本:4.0release 开发板:DAYU / rk3568 DevEco Studio版本:4.0.0.600 自定义效果: 一、Launcher源码下载 Launcher源码地址:https://gitee.com/openharmony/applications_launcher 切换分支为OpenHarmony-4.0-Release,并下载源码 二、Launcher源…

2024.1.9 基于 Jedis 通过 Java 客户端连接 Redis 服务器

目录 引言 RESP 协议 Redis 通信过程 实现步骤 步骤一 步骤二 步骤三 步骤四 引言 在 Redis 命令行客户端中手敲命令并不是我们日常开发中的主要形式而更多的时候是使用 Redis 的 API 来实现定制化的 Redis 客户端程序&#xff0c;进而操作 Redis 服务器即使用程序来操…

mysql生成到当前时间的时间序列,报表按时间补0

生成本月每日的时间序列 SELECT DATE_FORMAT(date_add( CONCAT(YEAR(Date(curdate())),‘-0’,MONTH(Date(curdate())),‘-’,‘01’), INTERVAL ( cast( help_topic_id AS signed) ) DAY ) ,‘%Y-%m-%d’ ) FROM mysql.help_topic WHERE help_topic_id < DAY ( curdate( ) …

利用Type类来获得字段名称(Unity C#中的反射)

使用Type类以前需要引用反射的命名空间&#xff1a; using System.Reflection; 以下是完整代码&#xff1a; public class ReflectionDemo : MonoBehaviour {void Start(){A a new A();B b new B();A[] abArraynew A[] { a, b };foreach(A v in abArray){Type t v.GetTyp…

SaaS先驱Salesforce发展史

Salesforce是云计算和SaaS领域的先驱&#xff0c;大致经过5个不同发展阶段 第一个阶段&#xff1a;SaaS CRM发展初期 Salesforce成立时间是1999年&#xff0c;其SaaS业务的Idea的灵感起源于IaaS巨头亚马逊。初期标榜的竞品Siebel早期投入高、很难上手、功能过于复杂、实用性不强…

使用Excel批量给数据添加单引号和逗号

表格制作过程如下&#xff1a; A2表格暂时为空&#xff0c;模板建立完成以后&#xff0c;用来放置原始数据&#xff1b; 在B2表格内输入公式&#xff1a; ""&A2&""&"," 敲击回车&#xff1b; 解释&#xff1a; B2表格的公式&q…