通过反思性反馈增强和提升大模型

news2024/11/16 23:40:09

人工智能咨询培训老师叶梓 转载标明出处

尽管通过人类反馈的强化学习(RLHF)在使LLMs与人类偏好对齐方面展现出潜力,但这种方法往往只会导致表面的对齐,优先考虑风格上的变化而非提升LLMs在下游任务中的表现。而且偏好的不明确可能导致模型对齐的方向模糊不清,而缺乏探索则限制了改进模型的有价值输出的识别。为了克服这些挑战,LG AI Research的研究者提出提出了一种新的框架——RLRF( RL from Reflective Feedback)。

方法

RLRF框架通过利用基于详细标准的细粒度反馈来改进LLMs的核心能力。该框架采用自我反思机制系统地探索和完善LLMs的响应,然后通过强化学习算法与有希望的响应一起微调模型。图1展示了RLRF框架的两个阶段:细致的自我反思阶段和RL微调阶段。在自我反思阶段,LLMs利用细致的反馈模型来搜索高质量的改进响应。在RL微调阶段,使用RL算法对LLM进行微调,利用这些改进的响应和它们的相关分数。

本文提出了一个细粒度反馈模型,它能够在多个方面的细粒度标准上评估大模型的回答。该模型定义了以下八个评估方面的细粒度标准,每个方面都有三个级别的评分标准:事实性、逻辑正确性、元认知、有洞察力、完整性、理解力、易读性、无害性。在定义评分标准时,专注于识别回答是否满足特定标准(分为成功、中等或失败)。为了专注于评估每个指令所必需的方面,反馈模型从整个方面集合中选择前3个相关方面,然后评估所选方面。最后,细粒度反馈模型fp使用所有方面的标准作为提示p,生成关于三个相关方面的反馈fp(x,y)。

为了解决探索受限的挑战,提出了一种细粒度自我反思,它可以在大量可用回答中有效探索高质量的回答。与其他通过温度基础采样探索多样化输出的方法不同,该方法鼓励通过利用大模型的自我反思能力进行有效探索,这种能力提供反馈并用它来改进自己。为了增强自我反思,使用反馈fp(x,yk)作为提示,它提供了模型错误背后的详细原因,促进了更有效的反思和改进。细粒度自我反思首先选择一个有希望的回答y˜进行改进。为了选择一个有希望的回答,为给定的指令x生成一组n个候选回答及其评估。然后,y˜被选为在候选回答中基于偏好的奖励最高的有希望回答。为了有效探索高质量的回答,通过执行自我反思生成m个改进,该自我反思读取反馈fp(x,y˜)并纠正y˜中的错误。

在最后阶段,通过DPO(Rafailov等人,2023)对语言模型(即,策略πϕ)进行微调,这是用于微调大模型的代表性强化学习算法之一。由于DPO直接从成对偏好数据集中优化策略,它需要以可比偏好的形式构建正面-负面对。使用整个数据集D = Dy ∪ Dz构建正面-负面对,这些数据集是从细粒度自我反思中生成的。首先,通过反馈分数将数据集分类为正面数据集D+和负面数据集D−。在D+中,选择最高奖励的top-k回答作为正面示例y+。对于1对1配对匹配,从D−中随机抽取负面示例y−,并丢弃没有正面集合的示例。最后,通过利用y+和y−作为成对数据集来优化DPO目标来微调语言模型。

图1总结了提出的框架的整个过程和细节。框架服务于迭代训练,在细粒度自我反思和RL微调之间交替进行。迭代训练流程首先通过细粒度自我反思阶段生成高质量的回答候选,然后利用这些回答在强化学习微调阶段对模型进行优化。通过这种方式,每一次策略更新都能在自我反思的基础上产生更好的回答,从而实现对模型的逐步改进。该过程一直持续到策略性能收敛,即模型输出的回答质量不再有显著提升为止。这种方法的优势在于能够充分利用模型的自我反思能力,通过不断的反馈和调整,提高模型对指令的响应质量和下游任务的性能。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

实验

表1 概述了训练数据集。实验起始于基础模型,对三个独立的模型(反馈模型、奖励模型和初始策略模型)进行了微调,使用了开源数据集以及从OpenAI API提取的额外自定义数据集。在强化学习微调期间,使用了以下三种类型的数据集:(1) 一般指令:ShareGPT,(2) 数学推理:GSM8K、MATH,(3) 事实性(Factuality)。

实验中使用了Llama-2-13b-chat作为基础模型。所有实验都在16个A100 GPU上进行,每个GPU拥有40 GB内存。将反馈模型和初始策略模型的微调学习率设置为2e-5(恒定),DPO的学习率设置为2e-6(余弦衰减)。在DPO微调中,设置β = 0.1。在自我反思阶段,将探索的最大样本数限制为n + m = 30,其中n是Dy的大小,m是Dz的大小。在实验中,选择了最佳的(n = 10, m = 20)组合。

在实验中,选择了最先进的大模型作为比较基准,包括GPT-4-0613、GPT-3.5-turbo-0301和Llama-2-70b-chat。作为RLHF基线,仅使用奖励模型而不使用反馈模型,在Dy中选择最高奖励的正例和随机负例进行学习。作为DPO使用正例和负例的替代方法,可以仅对正例集进行监督微调,称为拒绝采样(Rejection Sampling,RS)。

为了衡量RLRF在多方面的效果,进行了Just-Eval实验,用于GPT-4的细粒度评估。这个基准测试包括来自多个数据集的1000条指令,如AlpacaEval、MT-bench、LIMA、HH-RLHFredteam和MaliciousInstruct。这个基准测试为每个示例提供了任务类型和主题类别,可以对不同类别进行全面分析。在Just-Eval中报告了四个指标:总体(六个方面的平均值)、有用性、深度、事实性、数学(数学问题上的有用性)。

为了评估大模型的任务特定能力,在两个任务上测试了模型:事实性(传记生成)和数学推理任务。按照之前工作的方法,计算了模型回答的FactScore(给定指令“告诉我关于[人]的传记”)。FactScore计算回答中正确和不正确事实的比率。从Wikipedia中提取了10.2k个人名(10k用于训练集,200个实体用于测试集)。对于数学推理,测量了GSM8K测试集上的准确率。虽然其他方法(如Zhao等人,2023;Imani等人,2023)设计用于数学推理的少量样本或链式思考(CoT)提示以提高性能,但实验是在零样本设置下进行的,没有这样的额外提示。

表2 显示了在Just-Eval、FactScore和GSM8K上的主要结果。结果表明,使用DPO和拒绝采样(RS)的RLRF框架从M0到M2改进了整体任务的性能。特别是在FactScore和Math Accuracy方面,该方法逐步提高了性能而没有达到饱和。另一方面,GPT-4在M1的Just-Eval性能饱和,显示出模型在DPO微调过程中的过拟合倾向。比较DPO和RS,DPO在事实性任务上有效提高了性能,而对超参数敏感。RLHF基线略微提高了Just-Eval得分,而在FactScore和Math accuracy方面性能没有提高或略有下降,表明通过基于偏好的奖励的RL无法提高大模型的能力。

为了探究反馈和奖励模型在两个任务上生成回答的成功或失败的检测效果,随机抽取了事实性和GSM8K测试集上的回答,然后根据回答的正确与否进行分组。由于FactScore的范围是0到100%,通过得分的前30%和后30%进行分组。图2 和 图3 显示了正确和不正确示例的奖励和反馈得分的分布。在GSM8K中,奖励模型未能区分正确和不正确的样本,而反馈模型(带参考)很好地捕捉到了它们的正确性。这一发现意味着,仅基于偏好的奖励模型在数学等推理任务中的RLHF可能导致表面对齐。另一方面,与预期相反,奖励模型在事实性任务中表现良好,区分了更具事实性和较不事实性的回答。然而,当没有提供参考(Wikipedia)时,反馈模型未能很好地检测到事实性,尤其是在底部30%的事实性回答中。可以观察到,当没有参考知识可以利用时,基于偏好的奖励模型可以是更好的代理。

由于抽样多样化输出需要大量的计算,因此研究采样过程中每个步骤的资源效率并相应分配资源至关重要。研究了在回答(y)、反馈(fp)和改进回答(z)上变化样本数量对Just-Eval的影响。当改变特定元素的样本数量时,将其他元素的样本数量固定为n=1。图4 显示了Just-Eval上的平均评分(按方面设置)。观察到抽取更多的回答y(即,增加Dy的大小)对性能影响最大,而抽取多样化的反馈fp只显示了轻微差异。基于这一结果,选择为每对(x,y)生成一个反馈样本。

图5 显示了模型在Just-Eval数据集(平均1000个示例)上的平均输出令牌长度。在DPO微调(M0 → M1 → M2)期间,平均长度逐渐增加,而拒绝采样微调略微减少了令牌长度。

GraphiT模型的提出为图结构数据的表示和分析提供了新的可能性。通过在变换器架构中编码图的结构信息,GraphiT不仅在性能上超越了现有的GNNs模型,还提供了一种直观的模型解释方法。

论文链接:https://arxiv.org/pdf/2403.14238

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

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

相关文章

【漏洞复现】公交IC卡收单管理系统 SQL注入致RCE漏洞复现

》》》产品描述《《《 公交IC卡收单 管理系统Q是城市公共交通领域中不可或缺的一部分,它通过集成先进的集成电路技术(IC卡)实现了乘客便捷的支付方式,并有效提高了公共交通运营效率。系统集成了发卡、充值、消费、数据采集、查询和注销等多个功能模块&am…

走进上海郭培高定会馆:以冠珠华脉、华珍筑就至臻至性的艺术空间

“我热爱高级时装,因为她是一种生命的停驻。我希望我的高级时装成为馆藏级的精品,殿堂级的珍宝,成为传世杰作。” ——郭培 中国唯一一位法国高定公会受邀会员,曾荣登《TIME》时代周刊全球100位最具影响力人物榜单。纽约时报评价…

Error:Decorators are not valid here. 使用Angular中的装饰器

Decorators are not valid here,项目中出现这个提示信息,说明装饰器未知错误、或者在不支持的元素上使用了装饰器。 如下图所示,我在NgModule装饰器后面加了一个导出方法,加完之后控制台提示了如下错误:Error TS1206&a…

基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)

🎈系统亮点:图形化分析、BMI算法,协同过滤算法; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端&#xff1a…

GLIPv2

GLIPv2 论文《GLIPv2: Unifying Localization and Vision-Language Understanding》、代码 3.3.1简介 GLIPv2和GLIPv1架构基本一样,只是融合了更多的任务和数据集。从论文题目 Unifying Localization and Vision-Language Understanding可以看出,其统一了…

精密机械代加工的特点和优势

在现代工业生产中,精密机械代加工扮演着至关重要的角色。它为众多企业提供了高质量、高精度的机械零部件加工服务,满足了不同行业对精密机械产品的需求。以下是时利和将详细介绍精密机械代加工的特点和优势。 一、特点 1.高精度加工 精密机械代加工的首要…

DK5V100R10SL贴片TO252功率12V4.3A同步整流芯片

概述DK5V100R10SL是一款简单高效率的同步整流芯片,只有A,K两个功能引脚,分别对应肖特基二极管PN管脚。芯片内部集成了100V功率NMOS管,可以大幅降低二极管导通损耗,提高整机效率,取代或替换目前市场上等规的…

ResNet50V2:口腔癌分类

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 ResNet和ResNetV2对比 改进点:(a)original表示原始的ResNet的残差结构,(b)proposed表示新的ResNet的残差结构,主要差别就是(a)结构先卷积后进行BN和激活函数…

栈及笔试题

目录 栈的实现 1、数组栈 2、链式栈 栈的创建 栈的打印 内存泄漏 栈溢出 练习 有效的括号 栈的实现 栈后入先出 1、数组栈 (最佳实现,且访问数据的时候CPU告诉访存命中率比较高,因为地址连续存放,访问时CPU从cache里一…

货币单位换算 - 华为OD统一考试(E卷)

2024华为OD机试(E卷+D卷)最新题库【超值优惠】Java/Python/C++合集 题目描述 记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。 要求将这些…

解决QT开发由于中文导致的编译错误以及输出内容乱码问题

在进行QT程序开发时,大家可能或者一定会遇到的问题就是中文乱码问题,这个乱码问题可能是在你看代码的显示上,也可能在程序的输出上,甚至还有可能导致你的代码直接编译失败,都有可能和中文编码有关,还有一些…

力扣(leetcode)每日一题 2207 字符串中最多数目的子序列

题干 2207. 字符串中最多数目的子序列 给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包含小写英文字母。 你可以在 text 中任意位置插入 一个 字符,这个插入的字符必须是 pattern[0] 或者 pattern…

提升论文质量必备!2024年顶尖8款AI写作工具!

各位好!在这个信息化迅速发展的年代,AI技术已经成为我们学术探索的重要辅助力量。本次,我将向大家展示2024年八款必备的尖端AI应用。这些工具不仅能极大提升我们撰写学术论文的效率,还能改善研究的质量。 首先我们来看“梅子AI论…

Langgraph 的 Planning Agent 深度解析

在人工智能领域,智能代理(agent)的设计愈发重要。尤其在面对复杂任务时,规划(planning)技术成为智能代理的核心能力之一。Langgraph 是一个专为构建智能代理而设计的框架,结合了自然语言处理&am…

2024年项目经理不容错过的资源:全面测试管理工具指南与精选实例

随着软件开发的快速发展,测试管理工具在项目经理的日常工作中扮演着越来越重要的角色。2024年,哪些测试管理工具是项目经理不能错过的呢?本文将为您带来一份全面指南,帮助您找到最佳选择。 在软件开发过程中,测试是确保…

鸿蒙开发(NEXT/API 12)【硬件(接入手写套件)】手写功能开发

接入手写套件后,可以在应用中创建手写功能界面。界面包括手写画布和笔刷工具栏两部分,手写画布部分支持手写笔和手指的书写效果绘制,笔刷工具栏部分提供多种笔刷和编辑工具,并支持对手写功能进行设置。接入手写套件后将自动开启一…

机器学习方法实现水果分类(零基础小白向),手工提取水果图片特征,不一样的特征提取方法

文章目录 零、前言:一、什么是特征向量?二、数据准备三、构建数据集1、什么是数据集?2、图片对应的标签?3、特征提取方法(1)生成固定正方形(2)特征提取实现 四、建立模型五、自定义数…

【Python】遇见的问题:为项目选择的 Python 解释器无效

一、问题说明 导入项目文件后,提示“为项目选择的 Python 解释器无效” 二、问题原因 暂时不知道 三、解决办法 第一步:添加本地解释器 第二步:点击确定 位置:当前项目所在目录 基础解释器:python.exe所在目录 第三…

五子棋双人对战项目(2)——登录模块

目录 一、数据库模块 1、创建数据库 2、使用MyBatis连接并操作数据库 编写后端数据库代码 二、约定前后端交互接口 三、后端代码编写 文件路径如下: UserAPI: UserMapper: 四、前端代码 登录页面 login.html: 注册页面…

C++语法—引用

引用变量 概念 简单理解就是对一个已存在的变量起别名,与那个已存在的变量共用一块内存空间。 用法:已存在变量的类型 & 引用变量名 (引用实体)已存在变量 int main() {int a 1;int& b a;return 0; }在上面这个示例…