【LLM论文日更】LongReward:利用人工智能反馈改进长上下文大语言模型

  • 论文:https://arxiv.org/pdf/2410.21252
  • 代码:https://github.com/THUDM/LongReward
  • 机构:清华大学 & 中科院 & 智谱
  • 领域:长上下文LLM
  • 发表:arxiv

研究背景

  1. 研究问题:这篇文章要解决的问题是如何在长上下文场景下,利用AI反馈来提高大型语言模型(LLMs)的性能。具体来说,现有的长上下文LLMs在监督微调(SFT)过程中合成的数据质量较差,影响了模型的长上下文性能
  2. 研究难点:该问题的研究难点包括:如何在长上下文中获取可靠的奖励信号,以及如何将长上下文RL算法与SFT结合以提高模型性能。
  3. 相关工作:该问题的研究相关工作有:设计高效的注意力机制或结构化状态空间模型来扩展上下文窗口,使用自动合成的SFT数据进行模型训练,以及利用AI反馈来优化模型的无害性和真实性。

研究方法

这篇论文提出了LongReward方法,用于解决长上下文LLMs的奖励信号获取问题。具体来说,

  1. 多维度评分:LongReward利用一个现成的大型语言模型(LLM)从四个人类价值维度对长上下文模型响应进行评分:有用性、逻辑性、忠实性和完整性。每个维度的评分范围为0到10,最终奖励为这四个评分的平均值。

  2. 有用性评分:对于有用性,LLM根据查询和响应内容直接评分。引入Chain-of-Thought(CoT),要求LLM在提供最终评分前生成分析,以增强评分的可靠性和互操作性。

  3. 逻辑性评分:对于逻辑性,LLM检测响应中的逻辑错误,这些错误通常由于LLMs的生成方式导致。同样采用CoT来增强评分的可靠性。

  4. 忠实性评分:对于忠实性,LLM将响应分解为一组事实陈述,并判断每个陈述是否由检索到的上下文支持。为了适应长上下文场景,改进了事实分解和评估方法。

  5. 完整性评分:对于完整性,LLM从上下文的每个片段中提取与问题相关的信息,然后再次评估响应的完整性。采用分而治之的策略来提高评估效率。

  6. 结合DPO算法:将LongReward与离线RL算法DPO结合,构建长上下文偏好数据集,并使用DPO算法对SFT模型进行微调,以增强其长上下文能力。

实验设计

  1. 数据收集:使用GLM-4的预训练语料库构建了长上下文SFT数据集,共包含10,000篇文档,覆盖9个不同领域。文档长度从8,000到64,000个令牌不等。
  2. 模型选择:实验在两个最新的开源基础模型上进行:Llama-3.1-8B和GLM-4-9B,这两个模型都经过大规模长文本的持续预训练,并支持128k的上下文窗口。
  3. SFT训练:使用Megatron-LM库在4个节点上使用8×H800 GPUs进行SFT训练,学习率为1e-5,批量大小为8,训练1,800步(约2个epoch)。
  4. DPO实验:使用LongReward构建长上下文偏好数据集,采样10个候选响应,并使用Zhipu-Embedding-2*作为检索器评估忠实性。DPO训练中设置β和λ分别为0.15和0.1,学习率为1e-6,批量大小为16,训练400到800步。

结果与分析 

  1. 自动评估结果:在LongBench-Chat和LongBench基准测试中,使用LongReward的DPO模型在长上下文任务上的表现显著优于SFT模型和其他基线方法。具体来说,Llama-3.1-8B和GLM-4-9B的DPO模型分别提高了4.9%和5.5%的长上下文任务性能。
  2. 忠实性评估:使用FactScore对随机抽样的260个问题进行评估,结果显示使用LongReward的DPO模型在忠实性方面得分更高,事实支持的准确率更高,减少了幻觉现象。

  1. 人类评估结果:在LongBench-Chat上进行的人类评估显示,使用LongReward的DPO模型在有用性、逻辑性、忠实性和完整性四个维度上的胜率分别为54%、54%、64%和54%,显著优于SFT基线。
  2. 短上下文任务:在MT-Bench和AlpacaEval2基准测试中,使用LongReward的DPO模型在短上下文指令跟随任务中也表现出色,整体胜率为7.51%,高于SFT基线的7.62%。

总体结论

        这篇论文提出了LongReward方法,首次实现了自动为长上下文模型响应提供可靠奖励的功能。通过结合DPO算法,显著提高了长上下文LLMs的性能,并在短上下文任务中也表现出色。LongReward的成功表明,AI反馈可以有效地指导RL训练,提高模型的多维度能力。未来的工作将致力于训练更小的长上下文奖励模型,探索更长序列和更大规模模型的长上下文对齐。

论文评价

优点与创新

  1. 首次提出LongReward方法:论文首次提出了LongReward方法,该方法利用现成的LLM为长上下文模型响应自动提供可靠奖励信号。
  2. 设计长上下文RL框架:通过结合LongReward和DPO算法,设计了一个长上下文RL框架,有效提升了长上下文SFT模型的能力。
  3. 多维LLM评分:对长上下文模型响应从四个人类价值维度(有帮助性、逻辑性、忠实性和完整性)进行评分,并取平均值作为最终奖励。
  4. 实验验证:在Llama-3.1-8B和GLM-4-9B模型上进行了广泛的实验,结果表明使用LongReward的DPO模型在长上下文任务上分别比SFT模型提高了4.9%和5.5%的性能。
  5. 人类评估一致性:人类评估进一步验证了LongReward与人类偏好的良好对齐,并在所有四个维度上提升了长上下文模型的表现。
  6. 短上下文指令跟随能力:发现LongReward也有助于提升模型的短指令跟随能力,并且可以很好地融入标准的短上下文DPO中,同时提高长上下文和短上下文的性能。

不足与反思

  1. 依赖对齐良好的LLM:LongReward依赖于对齐良好的LLM(如GLM-4)来提供每个维度的评分,每次问答实例需要数十次API调用。未来将尝试训练一个更小的长上下文奖励模型,以加快和降低奖励计算成本。
  2. 计算资源限制:由于计算资源有限,目前仅在10B级别模型上进行了实验,最大训练长度为64k。希望在资源允许的情况下,探索更长序列和更大规模模型的长上下文对齐。
  3. 数据视角:目前主要关注用户密集的长上下文场景,如长文档问答和摘要。将LongReward推广到更高级的长指令任务,如终身对话和长历史代理任务也是一个有前景的方向。

关键问题及回答

问题1:LongReward方法在评估长上下文模型响应时,具体采用了哪些多维度评分方法?这些方法的评估标准和实现细节是什么?

  1. 有用性评分:通过少样本学习,LLM根据查询和响应内容直接给出有用性评分。引入Chain-of-Thought(CoT),要求LLM在提供最终评分前生成分析,以增强评分的可靠性和互操作性。
  2. 逻辑性评分:由于LLMs的生成过程缺乏回滚机制,容易出现逻辑不一致的错误。LongReward通过少样本学习和CoT,要求LLM找出响应中的潜在逻辑错误并进行评分。
  3. 忠实性评分:忠实性衡量响应中与上下文一致的事实信息比例。LongReward要求LLM将响应分解为一组事实陈述,并判断每个陈述是否由最相关的上下文支持。改进措施包括句子级别的事实陈述分解、忽略功能句子等。
  4. 完整性评分:完整性关注响应是否覆盖了上下文中的所有相关问题关键点。LongReward采用分而治之的策略,将上下文分割成粗粒度块,要求LLM从每个块中提取问题相关信息,再评估响应的完整性。

问题2:在实验中,LongReward方法如何与DPO算法结合以提高长上下文LLMs的性能?具体的优化目标和训练过程是怎样的?

  1. 构建长上下文偏好数据集:使用LongReward和一组长上下文提示构建长上下文偏好数据集。这些提示可以来自SFT数据集或新收集的数据。
  2. 采样和评分:对于每个提示,采样10个候选响应,使用Zhipu-Embedding-2*作为检索器评估忠实性,检索每个事实陈述的前5个上下文块。然后应用LongReward为每个响应打分。
  3. 选择偏好对:从高奖励和低奖励的响应中选择偏好对。
  4. DPO训练:使用偏好对数据集对SFT模型进行DPO训练。优化目标包括最大化偏好对的似然差异(公式如下)和交叉熵损失(公式如下):

 

  1. 其中,πθ​表示策略模型(即被训练的LLM),πref​表示参考模型(通常是冻结的SFT模型),β是控制不偏好响应惩罚强度的系数。
  2. 稳定性优化:为了进一步稳定DPO训练,添加了一个额外的交叉熵(CE)损失项,公式如下:

最终的优化目标为:

其中λ表示CE损失的缩放系数。 

问题3:LongReward方法在实验中表现如何?与其他基线方法和SFT模型相比有哪些优势?

  1. 自动评估结果:在LongBench-Chat和LongBench基准测试中,使用LongReward的DPO模型在长上下文任务上的表现显著优于SFT模型和其他基线方法。Llama-3.1-8B和GLM-4-9B的DPO模型分别提高了4.9%和5.5%的平均性能。
  2. 忠实性评估:使用FactScore自动评估模型的忠实性,结果显示使用LongReward的DPO模型在支持事实的比例上高于SFT基线,表明LongReward在减少幻觉方面也有效。
  3. 人类评估结果:在LongBench-Chat上进行的人类评估显示,使用LongReward的DPO模型在有用性、逻辑性、忠实性和完整性四个维度上的整体胜率为54%,显著高于SFT基线的8%。
  4. 短上下文任务:在MT-Bench和AlpacaEval2基准测试中,使用LongReward的DPO模型在遵循短指令的能力上也表现出色,整体胜率为7.51%,高于SFT基线的7.62%。

总体而言,LongReward方法不仅显著提高了长上下文LLMs的性能,还增强了其遵循短指令的能力,并且可以与标准的短上下文DPO结合使用,不会影响各自方法的性能。

case study

比较感兴趣case部分。首先是四个维度的评估是如何做的,以下是prompt:

1. 提示进行有用性评估

您是评估文本质量的专家。  

作为公正的评估者,请评估人工智能文档问答助手对用户查询的响应的有用性。具体来说,评估回答是否:1)与问题相关; 2)满足用户的目的和需求; 3)提供彻底且适当的答案; 4) 满足用户的格式要求(如果有);

您必须先提供分析,然后严格按照以下格式对响应进行评分,评分范围为 0 到 10:“[[Rating]]”,例如:“[[5]]”。  

以下是几个评分示例:

{示例 1}

{示例 2}

{示例 3}

{示例 4}

现在,请根据评分原则和上述示例对以下 AI 助理的回答进行评分:

[问题]

{查询}

[助理的回答开始]

{模型响应}

[助理的回答结束]

[分析]

2. 提示进行逻辑性评估

您是评估文本质量的专家。

作为公正的评估者,请评估AI文档问答助手对用户查询的回答的逻辑性。具体来说,评估回答的不同部分在逻辑上是否一致,观点是否自始至终一致,推理和计算是否正确,没有自相矛盾。  

您必须先提供分析,然后严格按照以下格式对响应进行评分,评分范围为 0 到 10:“[[Rating]]”,例如:“[[5]]”。  

确保在评估过程中不要使用助理回答之外的任何信息或知识,并仅关注回答的逻辑一致性。  以下是几个评分示例:

{示例 1}

{示例 2}

{示例 3}

{示例 4}

现在,请根据评分原则和上述示例对以下 AI 助理的回答进行评分:

[问题]

{查询}

[助理的回答开始]

{模型响应}

[助理的回答结束]

[分析]

3. 在忠诚度评估中提示事实陈述

您将收到用户对上传文档的询问(由于文档过长,不会向您显示)以及 AI 文档 QA 助理的回答。您的任务是从提供的答案中提取事实陈述。这些事实陈述通常以单独的句子表达,并且必须直接基于文档中的信息,而不是介绍性句子、过渡句或基于先前答案内容的总结、推论或演绎。如果事实陈述缺少主语或包含“他/她/它/这些/那些”等代词,则必须根据上下文添加主语或解析代词。您必须按以下格式输出:

<statement>{Statement 1}</statement>

<statement>{Statement 2}</statement> 

以下是几个评分示例:

{示例 1}

{示例 2}

{示例 3}

{示例 4}

现在,请根据评分原则和上述示例对以下 AI 助理的回答进行评分:

[问题]

{查询}

[助理的回答开始]

{模型响应}

[助理的回答结束]

[分析]

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

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

相关文章

Windows Terminal终端美化

Windows Terminal 1. 下载&#xff1a; 终端&#xff1a; 直接在微软的store中搜索 windows terminal &#xff0c;直接获取即可 美化用到的字体&#xff1a;https://www.nerdfonts.com/font-downloads 这里的随便一个都可以&#xff0c;下载解压后&#xff0c;选中所有ttf文…

Go语言基础语法

一、创建工程 说明&#xff1a; &#xff08;1&#xff09;go.mod文件是go项目依赖管理文件&#xff0c;相当于前端的package.json&#xff0c;也就是Java项目中的Maven的pom.xml。 二、打印数据到控制台 &#xff08;1&#xff09;引入fmt &#xff08;2&#xff09;使用fmt…

【数据结构】二叉树——层序遍历

层序遍历 一、层序遍历二、层序遍历&#xff08;递归&#xff09;三、层序遍历&#xff08;非递归&#xff09;四、总结 一、层序遍历 层序遍历是一种广度优先遍历 以图上二叉树为例&#xff0c;层序遍历就是按照二叉树的深度一层一层进行遍历 遍历顺序&#xff1a; A B C D …

使用DJL和PaddlePaddle的口罩检测详细指南

使用DJL和PaddlePaddle的口罩检测详细指南 完整代码 该项目利用DJL和PaddlePaddle的预训练模型&#xff0c;构建了一个口罩检测应用程序。该应用能够在图片中检测人脸&#xff0c;并将每张人脸分类为“戴口罩”或“未戴口罩”。我们将深入分析代码的每个部分&#xff0c;以便…

Pandas 数据清洗

1.数据清洗定义 数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况&#xff0c;如果要使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。 2.清洗空值 DataFrame.dropna(axis0, howany, threshN…

【GL08】STM32--ADC/DAC

一、ADC简介 ADC 即模拟信号到数字信号的转换&#xff0c;即用数字信号展现模拟的世界&#xff0c;所有的计算机或者数字处理器只能接受以 0 和 1 两种状态的数字信号&#xff0c;而对于模拟信号&#xff0c;则无法识别&#xff0c;而需要经过模拟数字转换器来感受模拟的世界。…

Blender进阶:着色器节点

11 着色器节点 11.1着色器 着色器Shader&#xff0c;负责给物体表面着色。 综合以下参数&#xff1a; -基础色-金属度、粗超度、透明度-法向-入射光颜色、强度、角度。。 着色器本质上是一段程序、算法&#xff0c;即着色器编程。 在节点编辑器中&#xff0c;支持算法的可…

SQLark百灵连接——整合项目监控过程

关键词&#xff1a;SQL编写、数据查询、数据导入、达梦数据库、项目管理、信息透明 项目监控背景 作为新手项目经理的我&#xff0c;经常觉得哪儿哪儿都是问题&#xff0c;今天催这个&#xff0c;明天推那个&#xff0c;可就是什么事都推不动&#xff0c;谁都不配合。后来&…

ELK配置转存redis缓存,采集nginx访问日志

在136服务器上部署mysql 启动mysql服务 可通过以下命令查找安装的软件包 怎么查找安装软件的日志文件位置rpm -qc mysql-server&#xff0c;即可显示mysql.log位置 也可通过查找配置文件中的log关键字来查找log文件日志位置 用awk命令&#xff0c;以切割&#xff0c;输出第二个…

提升当当网数据爬取效率:代理IP并发抓取技术

在当今的互联网时代&#xff0c;数据已成为企业竞争的关键资源。爬虫技术作为获取网络数据的重要手段&#xff0c;其应用范围越来越广泛。然而&#xff0c;随着各大网站反爬虫机制的不断加强&#xff0c;爬虫面临着越来越多的挑战。其中&#xff0c;IP被封禁是最常见的问题之一…

基于微信小程序的图书馆座位预约系统+LW示例参考

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

学习笔记:ElasticSearch搜索引擎

学习视频&#xff1a;【尚硅谷】ElasticSearch教程入门到精通&#xff08;基于ELK技术栈elasticsearch 7.x8.x新特性&#xff09; 学习笔记&#xff1a;Elasticsearch学习笔记 目录 第1章 Elasticsearch概述01. 开篇02. 技术选型 2. 第二章 ElasticSearch入门03. 环境准备04. …

Vue Router进阶详解

导航守卫 若依框架登录鉴权详解&#xff08;动态路由&#xff09;_若依鉴权-CSDN博客 完整的导航解析流程 导航被触发&#xff1a; 当用户点击页面中的链接、使用编程式导航&#xff08;如router.push或router.replace&#xff09;或手动输入URL时&#xff0c;导航流程被触发。…

力扣排序242题 有效的子母异位词

题目&#xff1a; 242.有效的字母异位词 给定两个字符串s和t &#xff0c;编写一个函数来判断 t是否是s的字母异位词。 示例1: 输入: s "anagram", t "nagaram" 输出: true 解题思路&#xff1a; 要判断两个字符串s和t是否为子母异位词&#xff0c;也…

html简易流程图

效果图 使用htmlcssjs&#xff0c;无图片&#xff0c;没用Canvas demo: <!DOCTYPE html> <html> <head><link href"draw.css" rel"stylesheet" /><script src"draw.js" type"text/javascript"></…

51单片机教程(一)- 开发环境搭建

1、开发环境搭建 1 环境准备 1 单片机介绍 单片机&#xff08;Single-Chip Microcomputer&#xff0c;简称MCU&#xff09;是一种集成电路芯片&#xff0c;是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、…

【1个月速成Java】基于Android平台开发个人记账app学习日记——第3天,分析项目结构

24.11.02 1.分析项目初始结构 IDEA有2种查看Android项目模式&#xff0c;一种是原始的projects模式&#xff0c;重点介绍这个模式下的项目结构 Android模式下的项目结构 这个是经过Android处理后的&#xff0c;并不是真正的项目结构&#xff0c;但是看着很简洁 projects模式…

chrome编辑替换js文件的图文教程

一、找到要修改替换的js文件 二、将文件保存到本地 三、在本地新建一个文件 路径最好跟你要替换的文件的路径保持一致&#xff0c; 四、选中js文件替换 回到原文件右击选择保存并覆盖 点击完保存并覆盖之后回到替换的新文件中&#xff0c;在自动生成的webpack文件中对文件进…

大学城水电管理:Spring Boot应用案例

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理大学城水电管理系统的相关信息成为必然。开…

硅谷15菜单权限

菜单权限 15.1 路由的拆分 15.1.1 路由分析 菜单的权限: 超级管理员账号:admin atguigu123 拥有全部的菜单、按钮的权限 飞行员账号 硅谷333 111111 不包含权限管理模块、按钮的权限并非全部按钮 同一个项目&#xff1a;不同人(职位是不一样的,他能访问到的菜单、…