【RAG】FoRAG:面向网络增强型长形式问答的事实性优化RAG

一、解决问题

在基于网络的长形式问答(Web-enhanced Long-form Question Answering, LFQA)任务中,现有RAG在生成答案时存在的问题:

  • 事实性不足:研究表明,现有系统生成的答案中只有大约一半的陈述能够完全得到检索到的参考资料的支持,这严重影响了这些系统的可信度。

  • 清晰逻辑的缺失:与短答案的传统问答任务不同,LFQA任务中理想的答案往往需要多方面组织和整合信息,但现有的开源方法在生成答案时往往缺乏清晰的逻辑结构。

二、提纲增强RAG

提出提纲增强RAG,以改善长形式问题回答 LFQA 中生成答案的结构和质量。

2.1 Outline-Enhanced Generator

现有的开源方法在生成答案时,通常是直接将检索到的内容与原始查询拼接,然后使用特定的提示模板(prompt template)输入到生成模型中。这种方法生成的答案往往较短,缺乏清晰的逻辑结构。为了提高答案的组织性,提出了 “Outline-Enhanced Generator”,它包含以下两个阶段:

  • Outline Stage(提纲阶段):

    在此阶段,生成器首先使用提纲模板,根据用户查询和上下文生成答案的提纲。提纲模板引导大型语言模型(LLM)考虑哪种组织模式最适合当前问题,例如“因果关系”或“比较对比”。然后,LLM根据选定的组织模式输出提纲,为后续的扩展阶段做准备。

  • Expansion Stage(扩展阶段):

    基于前一阶段生成的提纲,LLM扩展每个要点,构建最终答案。模型被要求在包含查询、上下文和提纲的输入下,生成对问题的答案。

注:提纲增强阶段的生成器有SFT训练得到。

2.2 Outline-Enhanced Long-Form QA Dataset

现有数据集和提纲增强答案的详细统计数据

为了支持 “Outline-Enhanced Generator” 的训练和评估,构建了两个大规模的提纲增强型LFQA数据集。这些数据集利用现有的WebCPM和WebGLM数据集的查询和相关段落,并通过GPT4模型应用提纲增强生成技术来收集提纲增强型答案。统计信息显示,使用提纲增强技术生成的答案比现有工作中的答案更长,其具有更强的逻辑结构。

对比(英文)

对比(中文)

2.3 提纲增强数据构建提示词

  • 英文提示词

  • 中文提示词

小结:通过引入提纲阶段来增强生成答案的逻辑结构,并通过扩展阶段来完善和详细化答案内容,从而提高了长形式问题回答的质量。

三、事实性优化RAG

传统的RLHF,优化事实性所面临困难如下:

  • 数据标注成本高:手动标注事实性标签通常成本很高,因为它涉及到比较长篇答案和对应长篇参考资料之间的事实细节。
  • 整体性奖励信号稀疏:标准RLHF使用整体性奖励,即只有在整个回答的最后一个token上才有非零奖励,这为生成模型的训练提供了稀疏的信号,在长篇回答中尤为明显。

因此,提出了一种新颖的事实性优化方法(Doubly Fine-grained RLHF),旨在解决网络增强型 LFQA 中的事实性问题。

3.1 Doubly Fine-grained RLHF

提出了一种新的事实性优化框架,通过在评估和奖励建模中采用细粒度的设计,有效地提高了长形式问题回答中生成答案的事实性,同时减少了对人工标注的依赖。

细粒度评估(Fine-grained Evaluation):
  • 整体性(Holistic):使用单一事实性评分评估整个答案。
  • 句子级别(Sentence-level):将答案分割成句子,并分别评估每个句子。
  • 子声明级别(Subclaim-level):进一步将每个句子分解为多个子声明,并对每个子声明单独评估事实性。
细粒度奖励建模(Fine-grained Reward Modeling):
  • Sequence-level:为每个序列学习单一的奖励,反映相应序列的事实性。
  • Token-level:为序列中的每个token学习奖励,通过聚合所有token级别的奖励来计算序列的奖励。
实现方法

不同粒度级别的自动评估和奖励建模的每种组合的训练损失

  • 奖励模型训练:使用Logloss或MSE损失函数来训练奖励模型,具体取决于评估过程中得到的是二元标签还是连续值奖励。

  • PPO优化:采用近端策略优化(Proximal Policy Optimization, PPO)来优化生成模型,通过最大化细粒度的奖励信号来改善模型性能。

四、实验结果

RAG和FoRAG对比

参考文献

paper:FoRAG: Factuality-optimized Retrieval Augmented Generation for Web-enhanced Long-form Question Answering,https://arxiv.org/abs/2406.13779

huggingface:https://huggingface.co/forag

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

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

相关文章

SpringBoot学习04-[定制SpringMVC]

定制SpringMVC 定制SpringMvc的自动配置定制springmvc-configurePathMatch配置定制SpringMVC-拦截器Interceptor定制SpringMVC-CORS配置全局cors配置针对某个方法加跨域解决 WebMvcConfigurer原理定制SpringMVC-JSONJSON开发jackson的使用定制化json序列化和反序列化 JSON国际化…

Kafka面试必备:深度解析Replica副本的作用与机制

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! Hey大家好!我是小米,一个超级喜欢分享技术干货的大哥哥!今天咱们来聊聊阿里巴巴面试题中的一个热门话题:Kafka中的Replica副本作用。这可是个既基础…

供应商关系管理(SRM)中的供应商绩效评估

供应商绩效评估是供应商关系管理(SRM)的核心组成部分,它涉及到对供应商在合作过程中的表现进行全面的分析和评价。一个有效的供应商绩效评估系统不仅可以帮助企业识别和解决供应链中的潜在问题,还可以促进供应商的持续改进和优化&…

npm创建一个空的vue3项目的方法或者pnpm创建vue3项目

1、前提我们已经安装了npm,或者pnpm 2、我们用npm来创建vue3项目 快速上手 | Vue.js 官网地址 这里我安装是的 node v18.20.3 以下是安装过程 : npm create vuelatest 根据自己的需要进行创建即可。 3、我们用pnpm来创建vite vue3项目 pnpm create …

【算法专题--栈】栈的压入、弹出序列 -- 高频面试题(图文详解,小白一看就懂!!)

目录 一、前言 二、题目描述 三、解题方法 💧栈模拟法💧-- 双指针 ⭐ 解题思路 ⭐ 案例图解 四、总结与提炼 五、共勉 一、前言 栈的压入、弹出序列 这道题,可以说是--栈专题--,最经典的一道题,也是在…

LinkedIn被封原因和解封方法

对于初识领英和对领英生态规则不熟悉的人来说,很容易造成领英账号被封号(被限制登录)的情况,那么如何才能避免和解决领英帐号被封号(被限制登录)的难题呢? 领英帐号被封号或被限制登录主要会有两类情况。 首先要搞清楚, Linkedi…

“ONLYOFFICE 8.1版本评测:功能更强大,用户体验更佳”

最新版本的在线编辑器已经发布 ONLYOFFICE在线编辑器的最新版本8.1已经发布,整个套件带来了30多个新功能和432个bug修复。这个强大的文档编辑器支持处理文本文档、电子表格、演示文稿、可填写的表单和PDF,并允许多人在线协作,同时支持AI集成…

IP白名单及其作用解析

在网络安全领域,IP白名单是一项至关重要的策略,它允许特定的IP地址或地址范围访问网络资源,从而确保只有受信任的终端能够连接。下面,我们将深入探讨IP白名单的定义、作用以及实施时的关键考虑因素。 一、IP白名单的定义 IP白名单…

利用python爬取上证指数股吧评论并保存到mongodb数据库

大家好,我是带我去滑雪! 东方财富网是中国领先的金融服务网站之一,以提供全面的金融市场数据、资讯和交易工具而闻名。其受欢迎的“股吧”论坛特别适合爬取股票评论,东方财富网的股吧聚集了大量投资者和金融分析师,他们…

GOROOT GOPATH GOPROXY GO111MODULE

GOROOT GOROOT代表Go的安装目录。可执行程序go(或go.exe)和gofmt(或gofmt.exe)位于 GOROOT/bin目录中。 配置GOROOT环境变量,其值为Go的安装目录;然后在环境变量PATH中添加GOROOT/bin路径。 注意:GOROOT变量只是代表了安装目录,不…

DiskGeniusV5.6.0.1565发布!

DiskGenius是一款功能强大的磁盘管理和数据恢复工具,V5.6.0.1565上线。新版本变化比较大,增加新的功能,修正已经问题,值得试一下。提醒大家,磁盘管理软件涉及数据安全,请始终使用最新版本! 下面…

Linux开发讲课18--- “>file 2>1“ 和 “2>1 >file“ 的区别

在 Bash 脚本和命令行操作中,输出重定向是一项基本且强大的功能。它允许用户控制命令的输出流,将数据从一个地方转移到另一个地方,实现更加灵活和高效的工作流程。本文旨在记录 Bash 中几种常见的输出重定向方法,包括: -. > fi…

计算机Java项目|基于SpringBoot的新闻稿件管理系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

密码学:用随机函数隐藏指纹

英文中e的出现频率高,加密后,频率最高的那个符号代表e。这是历史上的一次真实案例。这些符号的概率,叫做“指纹”。 把e加密成2个符号,用随机函数选择,例如70%概率下选择符号1,30%选择符号2。解密时&#…

启智畅想:AI集装箱箱号识别系统,解决方案提供商

AI集装箱箱号识别系统 当前,智能卡口管理行业正处于快速发展的阶段。随着物联网、大数据、人工智能等技术的不断进步,智能卡口管理系统已经能够实现对集装箱运输的全程跟踪、监控和管理,大大提高了管理效率和安全性。然而,市场上现有的智能卡口管理系统仍然存在一些痛点问题,如…

Spring容器的启动过程及留给开发者的可拓展点

一、Spring容器启动经过了哪些过程? 1、首先需要加载读取到应用环境中的配置,比如要加载的bean的class的包路径等信息。 【读取配置】 2、再就需要找到哪些类是需要spring进行类实例创建并管理的,扫描到具体的Class及Class元信息上的一些注…

【漏洞复现】电信网关配置管理系统——命令执行

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 电信网关配置管理系统是一个用于管理和配置电信网关设备的软件系…

为什么Modbus链接/从机不通?From 摩尔信使MThings

为了回应用户平日里关于摩尔信使(MThings)使用过程中最常见的问题,包括“网络链接连不上”、“为什么不能增加串口”和“为什么从机不通”,我们在此统一介绍解决方法。 1、具备哪些通信能力 支持串口和网络两种通信方式。 需要…

开箱即用的fastposter海报生成器

什么是 fastposter ? fastposter 海报生成器是一款快速开发海报的工具。只需上传一张背景图,在对应的位置放上组件(文字、图片、二维码、头像)即可生成海报。 点击代码直接生成各种语言 SDK 的调用代码,方便快速开发。 软件特性&…

NSSCTF-Web题目18(反序列化)

目录 [NISACTF 2022]babyserialize 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]ez_ez_unserialize 4、题目 5、知识点 6、思路 [NISACTF 2022]babyserialize 1、题目 2、知识点 反序列化、绕过过滤、命令执行 3、思路 <?php include "waf.php";…