用判断对齐大语言模型

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奖励:

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

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

相关文章

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…

rust sqlx包(数据库相关)使用方法+问题解决

可以操作pgsql、mysql、mssql、sqlite 异步的&#xff0c;性能应该不错&#xff0c;具体使用有几个坑 除了sqlx库&#xff0c;还有对于具体数据库的库&#xff0c;比如postgres库 演示以pgsql为例&#xff0c;更新时间2024.1.6 官方github: sqlx github rust官方文档&#xff1…

c语言结构体学习

文章目录 前言一、结构体的声明1&#xff0c;什么叫结构体?2&#xff0c;结构体的类型3,结构体变量的创建和初始化4&#xff0c;结构体的类型5&#xff0c;结构体的初始化 二、结构体的访问1&#xff0c;结构体成员的点操作符访问2&#xff0c;结构体体成员的指针访问 三、结构…

网络连接 UDP2,UDP Connect, bind, send, recieve认知, -入门8

LWIP编程接口有RAW, NETCONN, SOCKET 2.UDP函数的理解 #define UDP_SERVER_PORT 8000 //PC side #define UDP_CLIENT_PORT 1234 // ctrl board side //PC IP address #define DEST_IP_ADDR0 192 #define DEST_IP_ADDR1 168 #define DEST_IP_ADDR2 3 #define DEST_IP_ADDR3 11…

如何安装和使用夜神模拟器连接Android Studio

目录 简介 一、安装 二、使用 三、更多资源 简介 夜神模拟器是一款在Windows平台上运行的Android模拟器软件。它能够模拟Android操作系统环境&#xff0c;让用户在电脑上轻松体验Android应用程序。夜神模拟器的功能强大&#xff0c;可以满足各种需求&#xff0c;无论是娱乐…

实现pytorch版的mobileNetV1

mobileNet具体细节&#xff0c;在前面已做了分析记录&#xff1a;轻量化网络-MobileNet系列-CSDN博客 这里是根据网络结构&#xff0c;搭建模型&#xff0c;用于图像分类任务。 1. 网络结构和基本组件 2. 搭建组件 &#xff08;1&#xff09;普通的卷积组件&#xff1a;CBL …

大模型学习第一课

学习目标&#xff1a; 大模型开源体系 学习内容&#xff1a; 大模型简述大模型性能开源体系 学习时间&#xff1a; 周四上午 10点 学习记录&#xff1a; 大模型简述 大模型是发展通用人工智能的重要途经专用模型到通用大模型实验室开源历程&#xff0c;大模型系列7B-20B-12…

k8s实践(14)--scheduler调度器和pod调度策略

一、scheduler调度器 1、kube-scheduler简介 k8s实践(10) -- Kubernetes集群运行原理详解 介绍过kube-scheduler。 kube-scheduler是运行在master节点上&#xff0c;其主要作用是负责资源的调度&#xff08;Pod调度&#xff09;&#xff0c;通过API Server的Watch接口监听新建…

C++中的new和delete

相关文章 C智能指针 文章目录 相关文章前言一、new 运算符1. operator new 函数的范围2. 在类中重载new运算符3. 分配失败 二、delete 运算符1. 内存泄露统计示例2. 在类中重载delete运算符 总结 前言 在C中&#xff0c;new和delete是用于动态内存管理的运算符&#xff0c;它们…

Halcon计算一个区域的最大内接圆 inner_circle

Halcon计算一个区域的最大内接圆 该算子用于计算一个区域的最大内接圆&#xff0c;其原型如下&#xff1a; inner_circle(Regions : :: Row, Column, Radius)参数1&#xff1a;Regions 表示输入的区域。 参数2和3&#xff1a;Row、Column为输出参数&#xff0c;表示最大内接圆…

面试经典题---6.Z字形变换

6.Z字形变换 我的解法&#xff1a; 首先定义了3个变量&#xff1a;index、add和step。 index&#xff1a;当前处理字符在原字符串中的下标&#xff1b;add&#xff1a;Z字形中相邻两个字符在原字符串中的下标之差&#xff08;非固定值&#xff0c;值随着行的改变会发生变化&am…

Linux 上 Nginx 配置访问 web 服务器及配置 https 访问配置过程记录

目录 一、前言说明二、配置思路三、开始修改配置四、结尾 一、前言说明 最近自己搭建了个 Blog 网站&#xff0c;想把网站部署到服务器上面&#xff0c;本文记录一下搭建过程中 Nginx 配置请求转发的过程。 二、配置思路 web项目已经在服务器上面运行起来了&#xff0c;运行的端…

EtherCAT主站SOEM -- 13 --Qt-Soem通过界面按键控制 EtherCAT IO模块的io输出

EtherCAT主站SOEM -- 13 --Qt-Soem通过界面按键控制 EtherCAT IO模块的io输出 一 mainwindow.c 文件函数:1.1 自定义PDO配置2.2 主站初始化2.3 去motrorcontrol界面二 motrorcontrol.c 文件三 allvalue.h 文件该文档修改记录:总结一 mainwindow.c 文件函数: mainwindow主界…

性能分析与调优: Linux 性能分析60秒

目录 一、实验 1.环境 2.Linux性能分析60秒 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter192.168…

数据分析基础之《numpy(6)—IO操作与数据处理》

了解即可&#xff0c;用panads 一、numpy读取 1、问题 大多数数据并不是我们自己构造的&#xff0c;而是存在文件当中&#xff0c;需要我们用工具获取 但是numpy其实并不适合用来读取和处理数据&#xff0c;因此我们这里了解相关API&#xff0c;以及numpy不方便的地方即可 2…

java解析json复杂数据的两种思路

文章目录 一、原始需求二、简单分析三、具体实现一1. api接口2. 接口返回3. json 数据解析1.&#xff09;引入Jackson库2.&#xff09;定义实体3.&#xff09;解析json字符串4.&#xff09;运行结果 4. 过程分析 四、具体实现二1. 核心代码2.运行结果 五、方案比较六、源码传送…

python数据可视化之折线图案例讲解

学习完python基础知识点&#xff0c;终于来到了新的模块——数据可视化。 我理解的数据可视化是对大量的数据进行分析以更直观的形式展现出来。 今天我们用python数据可视化来实现一个2023年三大购物平台销售额比重的折线图。 准备工作&#xff1a;我们需要下载用于生成图表的第…

MySQL之视图外连接、内连接和子查询的使用

一、视图 1.1 含义 虚拟表&#xff0c;和普通表一样使用 1.2 操作 创建视图 create view 视图名 as 修改视图 方式一&#xff1a; create or replace view 视图名 as 【查看视图相关字段】 方式二&#xff1a; alter view 视图名 as 【查看的SQL语句】 查看视图 方式一&…

【算法笔记】深入理解dfs(两道dp题)

DFS过程的概述 一个一个节点的搜&#xff0c;如果是树状结构的话&#xff0c;先找到最左边那一条分支搜到最后一个节点&#xff0c;这个时候最后一个节点&#xff08;假设是b&#xff09;的数据会被更新&#xff08;具体看题目的要求&#xff09;&#xff0c;然后返回到上一个…

服务器终端快速下载coco数据集

######解压到当前文件夹 sudo apt-get install aria2 aria2c -c <url> #<url>即为官网下载地址# url # download images http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip# download annotations http://i…