ANAH数据集- 大模型幻觉细粒度评估工具

       大型语言模型(LLMs)在各种自然语言处理任务中取得了显著的性能提升。然而,它们在回答用户问题时仍面临一个令人担忧的问题,即幻觉,它们会产生听起来合理但不符合事实或无意义的信息,尤其是当问题需要大量知识时。鉴于LLMs生成的回应的流畅性和说服力,检测它们的幻觉变得越来越困难。这样的挑战阻碍了对LLM幻觉的深入分析和减少,并导致随着用户群的扩大和现实世界应用的增多,误导性信息的广泛传播。

      最近为LLMs提出的基准测试只是将整个响应是否包含幻觉进行分类,没有解释和参考。这种粗糙的性质使得很难追踪幻觉的确切触发因素,阻碍了进一步减轻幻觉的措施。因此,我们建立了一个新的大规模中英文基准测试,名为ANAH,它评估LLMs在基于知识的生成性问答场景中逐句注释LLMs幻觉的能力。与仅以结果为导向的方法不同,我们的方法促使模型对每个问题的答案进行注释,包括检索参考片段、判断幻觉类型(无/矛盾/无法验证的幻觉和无事实),如果存在幻觉,则根据参考片段纠正句子如下图:

1、数据集的构建

ANAH数据集的建立包含四个阶段

1.1 主题选择和参考资料检索

初始阶段涉及从知识密集型数据集中选择主题和相应的参考资料。为确保信息的多元化和广泛性,我们的主题选择被归类为名人、事件、地点和事物涵盖了包括政治军事、艺术、科学技术、宗教等多个领域。主题是基于它们通过Google Ngram Viewer的出现频率来精心挑选的,因为更频繁出现且公众感兴趣的主题对LLMs的实际应用更为重要

1.2 问题生成与选择

根据特定主题的参考资料生成和选择几个问题。为增加数据未被见过且未被污染的可能性,我们创建新问题而不是重新利用现有数据集。这些问题被设计为可以完全基于提供的参考资料来回答,避免过于主观或开放式。为确保问题多样性和可理解性,它们旨在涵盖不同类型,如“什么”、“何时”、“何地”、“为什么”等,以及不同视角,如描述、解释、原因等,涵盖信息的所有方面。问题还涉及不同知识层次,从基础、通用知识到更复杂、专业化的知识或特定领域的专业知识。

使用GPT-4从上述候选问题中选择前三名问题,考虑以下特征:

  • 高真实性:问题避免任何故意误导、含糊或虚假信息。
  • 高可答性:表现出过度主观性、争议性或预测性的问题被排除。
  • 难度适中:保证一定难度水平。
  • 高多样性:在类型、复杂度、知识深度等方面增强整体多样性,排除相似问题。

1.3 答案生成

我们使用GPT-3.5带参考文档构建高质量答案,以及不带参考的早期版本的InternLM-7B生成低质量答案。这样的设计允许我们全面评估LLMs在不同场景下的幻觉注释能力。

1.4 细粒度幻觉注释

为注释者提供特定主题的文档和相关问题。对于每个答案句子,完整的注释包括找到确切相关的参考片段、评估幻觉类型,并相应地纠正幻觉。

为减少大量的时间和人力,并保持准确性,我们采用GPT-4进行初步注释,然后由人工注释者进行验证和完善。

2、幻觉标注

查找参考片段:注释者需要在提供的文档中找到与答案句子直接相关的参考片段。

评估幻觉类型:基于找到的参考片段,对答案句子进行幻觉类型的评估。幻觉类型分为以下几种:

  • 无幻觉(No Hallucination):如果句子包含的事实信息与参考文档一致,且注释者能够找到具体的参考片段,则将该句子的幻觉类型标记为“无幻觉”。
  • 矛盾幻觉(Contradictory Hallucination):如果答案句子与参考文档相矛盾,需要标记为“矛盾幻觉”,并提供具体的参考片段以及对答案进行修正的建议。
  • 无法验证的幻觉(Unverifiable Hallucination):如果答案句子缺乏支持证据,无法在参考文档中找到验证,则将其标记为“无法验证的幻觉”,并提供修正建议。
  • 无事实(No Fact):如果句子中没有包含可供评估的事实信息,则将其归类为“无事实”,并且不需要进一步的注释。

纠正幻觉:在评估了幻觉类型之后,需要根据参考片段对存在幻觉的答案句子进行相应的纠正。这包括提出修改建议,如何将包含幻觉的内容更改为与参考文档一致或可验证的信息。

3、实验与结论

3.1 实验细节

3.1.1 数据分割

ANAH数据集被分为训练集和测试集。为了研究注释器的泛化方向和数据集规模,我们进一步将测试集均等地划分为未见过话题(unseen-topic)和未见过问题(unseen-question)两个组。在未见过话题测试集中,话题及其相关的参考资料、问题和答案在训练期间未被暴露。在未见过问题测试集中,话题在训练期间已被暴露,但问题未被暴露。

3.1.2 实验设置

使用了不同的数据分割和评估设置,以评估模型在不同情况下的性能。例如,考虑了在训练中使用单一任务与多任务设置的影响,以及在测试中引入指令扰动(即测试指令与训练中未见过的指令)的影响。

3.1.3 评估模型

评估了多种不同大小的预训练语言模型,包括但不限于GPT-3.5、GPT-4、Qwen-7B、Baichuan2-7B、Llama2-7B等,以及在ANAH数据集上训练的模型

3.1.4 评估指标

  • F1 分数: 用于评估标注器预测的幻觉类型与人工标注的一致性。
  • 准确率 (ACC): 用于评估标注器识别幻觉类型的能力。
  • RougeL: 用于评估生成式标注器预测的参考片段与人工标注的参考片段在语法、连贯性、顺序和语义方面的相似度。
  • BERTScore: 用于评估生成式标注器预测的修改建议与人工标注的修改建议在语法、连贯性、顺序和语义方面的相似度。
  • n-gram 精确率: 用于评估生成式标注器预测的参考片段和修改建议是否忠实于原始文档。

3.2 结论

      在整体测试集上的结果显示,当前的开源LLMs和GPT-3.5难以按照细粒度的方式注释幻觉,而GPT-4与人类注释的一致性较高。因此,利用ANAH的训练分割来训练我们的幻觉注释器。值得注意的是,ANAH-20B模型在F1分数上达到了80.49%,在准确率上达到了81.01%,超越了开源模型,并在性能上与GPT-4相媲美,同时模型尺寸更小,来源成本更低

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

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

相关文章

MongoDB-4.2.1 之安装和使用

安装 下载安装包 我自己电脑是 Windows7 的老古董,所以就下载老版本的 MongoDB。 mongodb: https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.1.zip 解压安装包到指定路径 我解压到的 C 盘 C:\mongodb-4.2.1 添加环境变量 创建数据库和…

gitlab服务器迁移(亲测有效)

描述:最近公司迁移gitlab,我没有迁移过,经过网上查找资料最终完成迁移,途中也遇到挺多坑和两个问题,希望能帮到你。 新服务器安装gitlab 注意:新服务器gitlab版本也需要和旧版本一致。 首先查看原Gitlab…

渗透测试靶机----FirstLeads_1.3

渗透测试靶机----FirstLeads_1.3 启动靶机,扫描ip,平平无奇 可以看出,这里是存在139这个主机的,这就是扫描出来的靶机ip继续探测端口及其他信息 发现这里只开启了80 端口 尝试一些基本目录,发现存在robot.txt文件目录…

WIN10环境下xposed环境搭建

禁止拿来干坏事,仅做学习为目的 环境需求 1.夜神模拟器7.1 2.Android stdio 2022.3.1 3. Adb环境配置 具体实现 1.安装xposed 打开可一键安装,重启 2.连接虚拟机 adb connect 127.0.0.1:620013.打开as,进入project 4.在lib下添加准备好的jar包 …

JAVAEE1

Web前端: 1.建立web开发的息维模式写代码不仅仅是为了实现某个功能,更是学习解决问题的思维方式 2.先使用,再理解,会导致刚开始比较懵,不知其所以然.切忌不可深陷其中, 3.涉及简单的软件工程的设计思想&…

排序方法大汇总

以下所有排序方法均以排升序为例 一.插入排序 1.直接插入排序 1>方法介绍:假定前n个数据有序,将第n1个数据依次与前n个数据相比,若比第i个数据小且比第i-1个数据大则插入两者之间 2>时间复杂度:O(N^2) 空间复杂度&#…

数据结构与算法05-链表

介绍 基于结点的数据结构拥有独特的存取方式,因此在某些时候具有性能上的优势。 本章我们会探讨链表,它是最简单的一种基于结点的数据结构,而且也是后续内容的基础。 你会发现,虽然链表和数组看上去差不多,但在性能上…

ThingsBoard MQTT 连接认证过程 源码分析+图例

整个连接过程如图所示: 高清图片链接 1、环境准备 thingsboard3.5.1 源码启动。(不懂怎么启动的,大家可以看我的博文ThingsBoard3.5.1源码启动)MQTTX 客户端(用来连接 thingsboard MQTT)默认配置。queue.…

接口以及会话控制

接口 接口是前后端交互通信的桥梁 简单理解:一个接口就是服务中的一个路由规划,根据请求响应结果 接口的英文单词是API(Application Program Interface),所以有时也称之为API接口 这里的接口指的是数据接口,与编程语言&#x…

python基础知识点总结(第二节判断与循环)

一、判断语句 1、if判断语句 ~if语句的基本格式 if 要判断的条件: 条件成立时,要做的事情 ~if语句的注意事项: 判断语句的结果一定要是布尔类型不要忘记判断条件后的:冒号归属于if语句的代码块,需要在前方填…

【软件测试】6.设计测试用例的设计方法

目录 1.基于需求的设计方法 2.具体的设计方法 2.1等价类 2.2边界值 2.3正交法 2.4判定表法 2.5场景法 2.6 错误猜测法 1.基于需求的设计方法 基于需求的设计方法也是总的设计测试用例的方法,在工作中,我们需要参考需求文档/产品规格说明书来设计…

告别鼠标,安卓模拟鼠标,绘图板,手写板操作电脑PC端,卡卡罗特也说好,儿童节快乐

家人们,上链接了:https://download.csdn.net/download/jasonhongcn/89387887 横屏模式: 竖屏模式: 操作说明: 1. 手势滑动模拟鼠标移动 2. 界面如果有滚动条,右手指按紧,通过左手指移动实现…

【智能算法】红嘴蓝喜鹊优化算法(RBMO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,S Fu受到自然界中红嘴蓝喜鹊社会行为启发,提出了红嘴蓝喜鹊优化算法(Red-billed Blue Magpie Optimizer, RBMO)。 2.算法原理 2.1算…

【原创】springboot+mysql员工管理系统

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

找出字符串中出现最多次数的字符以及出现的次数

str.charAt(i) 是JavaScript中获取字符串中特定位置字符的方法&#xff0c;表示获取当前的字符。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

Linux基础之进程控制--进程的创建和退出

目录 一、进程的创建 二、进程的终止 2.1 进程退出的场景 2.2 main()函数的返回值 2.3 用exit和_exit进行退出 2.4 进程异常终止 一、进程的创建 关于一个进程是如何被创建出来的&#xff0c;我们已经有所介绍这里我在给大家补充些东西。 首先&#xff0c;我们知道…

python之tkinter学习笔记

目录 Widget概览 加强版的tkinter模块 一、通用的 1.1、Label PhotoImage (gif图片加载) jpg图片加载 config方法-计时器 1.2、PanedWindow 1.3、LabelFrame 二、tkinter专有 2.1、Menu菜单复选框 2.2、工具栏 三、tkinter.ttk专有 3.1、Separator分隔线 3.2、n…

【C++】C++ 宾馆酒店管理系统(源码+数据+论文)【独一无二】(史上功能最全,拿来即用)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

LeetCode-47. 全排列 II【】

TOC 题目描述&#xff1a; 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输…

InnoDB Data Locking - Part 2.5 “Locks“ (Deeper dive)

All together now 现在让我们把在 InnoDB Data Locking – Part 2 “Locks” 中学习到的有关表锁和记录锁的知识结合起来&#xff0c;以理解以下情况&#xff1a; 我们看到&#xff1a; 第一个 SELECT * FROM t FOR SHARE; 在 5、10、42 和 supremum 伪记录上创建了 S 锁。…