RAGulator:如何识别和缓解大模型所谓的“忠实幻觉”

RAGulator,一个轻量级的、用于检测RAG系统中语义上与上下文不符(OOC)的LLM生成文本的检测器

论文链接:https://arxiv.org/abs/2411.03920

论文概述

实时检测大型语言模型(LLM)生成的与上下文不符的输出问题,这对于希望安全采用基于检索增强生成(RAG)应用的企业来说至关重要。

具体来说,本篇论文的目标是训练轻量级模型来区分LLM生成的语义上与检索到的文本文档不一致的文本。这项工作的核心是识别和缓解所谓的**“忠实幻觉”(faithfulness hallucination)**,即LLM生成的响应在语义上与提供的上下文不一致的情况

这对于高度敏感的工作环境,如金融机构来说尤为重要,因为无法确保LLM输出的准确性可能成为广泛采用LLM应用的最大限制之一。

核心内容

论文通过提出RAGulator,一个轻量级的、用于检测RAG系统**中语义上与上下文不符(OOC)**的LLM生成文本的检测器,来解决这个问题。具体来说,论文通过以下几个步骤来构建和评估RAGulator:

1. 问题定义

论文将问题定义为训练一个轻量级的灰盒判别器,以检测来自RAG系统的LLM生成的句子是否在语义上与检索到的文档集不符。

2. 数据集构建

通过改编公开可用的数据集,采样并预处理它们以模拟LLM生成的句子和RAG检索上下文的各种长度。

选择了摘要任务数据集(包括提取式和抽象式)和语义文本相似性任务数据集。

3. 生成性标注

为了适应BERT模型的512-token限制,论文通过生成性标注技术将数据集调整为这种格式。

使用LLM(如Llama-3.1-70b-Instruct)来标注每个句子,确定上下文句子中与候选句子相关的部分。

4. 特征工程

利用机器翻译指标和编码器模型计算的距离度量来比较响应和上下文之间的语义关系。

包括精确度分数、Unigram困惑度、Bigram困惑度、最大嵌入相似度分数和最大重排器相关性分数。

5. 模型训练

训练了两种类型的灰盒“非原生”判别模型:微调的BERT基分类器和在文本派生数值特征上训练的集成元分类器。

使用LLM生成的标签来适应BERT分类器的微调训练数据集。

6. 模型评估

在基于模拟RAG数据集的分布外测试集上评估RAGulator模型,以防止数据泄露并评估模型是否适用于特定用例。

比较了不同模型(包括LightGBM、Random Forest、deberta-v3-large和xlm-roberta-large)的性能,并与Llama-3.1-70b-Instruct进行了对比。

7. 结果分析

论文发现,尽管大型LLM在与人类标注一致性方面表现良好,但专门的OOC检测模型在AUROC和F1分数上优于LLM,强调了专门模型在OOC检测中的必要性。

通过这种方法,论文展示了一个低资源的数据收集和训练流程,用于构建能够检测LLM生成的与上下文不符文本的小型判别模型,这对于受严格数据安全规则和资源限制的企业来说,提供了一个有利的替代方案。

论文总结

论文中进行了以下实验来评估和验证RAGulator模型的性能:

1. 生成性标注与人类标注的一致性实验:

  • 实验旨在验证生成性标注的有效性,通过将LLM(Llama-3.1-70b-Instruct)的标注结果与人类标注进行比较。

  • 使用了不同的提示方法(如零次提示、少次提示、链式思考提示等)对58个句子-上下文对样本进行实验,计算与人类标注的一致性(Accuracy和κ值)。

2. 模型性能比较实验:

  • 比较了RAGulator模型(包括LightGBM、Random
    Forest、deberta-v3-large和xlm-roberta-large)与Llama-3.1-70b-Instruct基线模型的性能。

  • 使用了内部模拟的RAG数据集的分布内留出分割和分布外的银行信贷政策文档(CP)数据集进行评估。

  • 评估指标包括AUROC、AUPRC和F1分数,并比较了不同模型在整体评估集和CP数据集上的性能。

3. 模型推理速度和大小的比较:

  • 评估了不同模型的推理速度,并与Llama-3.1-70b-Instruct进行了比较。

  • 分析了不同模型在资源使用上的差异,包括所需的GPU数量和模型大小。

这些实验旨在全面评估RAGulator模型在检测LLM生成的与上下文不符文本方面的有效性、准确性和效率,并与现有的大型LLM模型进行比较。通过这些实验,论文展示了RAGulator在轻量级部署和资源受限环境中的潜力。

编者简介

致Great,中国人民大学硕士,多次获得国内外算法赛奖项,目前在中科院计算所工作,目前负责大模型训练优化以及RAG框架开发相关工作。

个人主页:https://github.com/yanqiangmiffy

项目链接:https://github.com/gomate-community/GoMate

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

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

相关文章

Git核心概念

目录 版本控制 什么是版本控制 为什么要版本控制 本地版本控制系统 集中化的版本控制系统 分布式版本控制系统 认识Git Git简史 Git与其他版本管理系统的主要区别 Git的三种状态 Git使用快速入门 获取Git仓库 记录每次更新到仓库 一个好的 Git 提交消息如下&#…

leetcode82:删除排序链表中的重复节点||

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5]示例 2: 输入:head [1,1,1,2…

基于SpringBoot的Java教学支持系统开发指南

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

python3的基本数据类型:可变集合的用法

一. 简介 前面学习了 python3中的一种基本数据类型-集合,文章如下: python3的基本数据类型:集合的创建与分类-CSDN博客 本文继续学习 Python3中的集合,主要学习 可变集合的用法。 二. python3的基本类型:可变集合的…

【Linux系列】 环境配置文件合并的艺术:从`.env`到`.env.combined`

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

C/C++语言基础--C++模板与元编程系列五(可变惨模板,形参包展开,折叠表达式)

本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 模板与元编程是C的重要特点,也是难点,本人预计将会更新10期左右进行讲解,这是第五期,讲解可变惨模板,形参包展开,折叠表达式等&#x…

Redis设计与实现 学习笔记 第十六章 Sentinel

Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的从服…

贪心算法day05(k次取反后最大数组和 田径赛马)

目录 1.k次取反后最大化的数组和 2.按身高排序 3.优势洗牌 1.k次取反后最大化的数组和 题目链接:. - 力扣(LeetCode) 思路: 代码: class Solution {public int largestSumAfterKNegations(int[] nums, int k) {//如…

易语言加载dll模拟windows鼠标轨迹移动

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

Go语言的常用内置函数

文章目录 一、Strings包字符串处理包定义Strings包的基本用法Strconv包中常用函数 二、Time包三、Math包math包概述使用math包 四、随机数包(rand) 一、Strings包 字符串处理包定义 Strings包简介: 一般编程语言包含的字符串处理库功能区别…

Springboot+Vue+mysql前后端分离的Java项目部署教程

参考了网上许多文章,有的使用的是nginx,eclipse,其实只要是数据库或者java的软件基本都大同小异。 本人使用phpstudy对项目进行部署,亲测有效。 需要的软件: 1.Node.js安装(ps:这一步我也不知道…

Linux系统程序设计--2. 文件I/O

文件I/O 标准C的I/O FILE结构体 下面只列出了5个成员 可以观察到,有些函数没有FILE类型的结构体指针例如printf主要是一些标准输出,因为其内部用到了stdin,stdout,stderr查找文件所在的位置:find \ -name stat.h查找头文件所…

HarmonyOS Next 实战卡片开发 02

HarmonyOS Next 实战卡片开发 02 卡片开发中,还有一个难点是显示图片。其中分为显示本地图片和显示网络图片 显示本地图片 卡片可以显示本地图片,如存放在应用临时目录下的图片。路径比如 /data/app/el2/100/base/你的项目boundleName/temp/123.png 以…

【C++ 算法进阶】算法提升十一 十二

目录标题 让字符串成为回文串的最少插入次数题目题目分析代码题目题目 字符子串 (滑动窗口)题目题目分析代码 最长连续子序列 (头尾表)题目题目分析代码 让字符串成为回文串的最少插入次数 题目 本题为为LC原题 题目如下 题目分…

让redis一直开启服务/自动启动

文章目录 你的redis是怎么打开的黑窗不能关?必须要自动启动吗?再说说mysql 本文的所有指令都建议在管理员权限下打开cmd控制台 推荐的以管理员身份打开控制台的方式 Win R 打开运行 输入cmdShift Ctrl Enter 你的redis是怎么打开的 安装过redis的朋友都知道, redis的安…

域名邮箱推荐:安全与稳定的邮件域名邮箱!

域名邮箱推荐及绑定攻略?最好用的域名邮箱服务推荐? 域名邮箱,作为一种个性化且专业的电子邮件服务,越来越受到企业和个人的青睐。烽火将详细介绍域名邮箱登录的全过程,从注册到登录,帮助您轻松掌握这一重…

AI教育革命:个性化学习的新篇章

内容概要 在 教育 领域,人工智能 的崭露头角带来了前所未有的变化。如今,个性化学习 已不再是一个遥不可及的梦想,而是通过 AI 技术真正实现的可能。借助先进的数据分析能力,教师可以实时跟踪和评估每位学生的学习进度&#xff0…

[2024最新] macOS 发起 Bilibili 直播(不使用 OBS)

文章目录 1、B站账号 主播认证2、开启直播3、直播设置添加素材、隐私设置指定窗口添加/删除 窗口 4、其它说明官方直播帮助中心直播工具教程 目前搜到的 macOS 直播教程都比较古早,大部分都使用 OBS,一番探索下来,发现目前已经不需要 OBS了&a…

刷题---轮转数组

本题来自力扣刷题:轮转数组 首先我们来看一下题目描述 解题思路:首先创建一个新的数组,将后面k个数据数据放到新数组前面,将size-1个数据放在剩下的空间中,再把新数组的数据赋值给nums。看下图更好理解 代码展示 vo…

默认 iOS 设置使已锁定的 iPhone 容易受到攻击

苹果威胁研究的八个要点 苹果手机间谍软件问题日益严重 了解 Apple 苹果的设备和服务器基础模型发布 尽管人们普遍认为锁定的 iPhone 是安全的,但 iOS 中的默认设置可能会让用户面临严重的隐私和安全风险。 安全研究员 Lambros 通过Pen Test Partners透露&#…