减轻幻觉新SOTA,7B模型自迭代训练效果超越GPT-4,上海AI lab发布

news2024/9/21 7:59:44

LLMs在回答各种复杂问题时,有时会“胡言乱语”,产生所谓的幻觉。解决这一问题的初始步骤就是创建高质量幻觉数据集训练模型以帮助检测、缓解幻觉。

但现有的幻觉标注数据集,因为领域窄、数量少,加上制作成本高、标注人员水平不一,所以很难变得强大。

为了解决这个问题,上海AI lab设计了一个迭代自训练框架——ANAH-v2,它像滚雪球一样,一边扩大幻觉检测的数据集,一边提高标注者的准确性。

这个框架利用期望最大化算法,每次循环都会先用现有的幻觉标注工具给新数据打上“幻觉”标签,然后用这些新数据训练一个更厉害的标注工具。

通过迭代,检测工具越来越强,数据集也越来越大。一个仅有7B参数的幻觉标注模型(89.55%)超越了GPT-4的表现(86.97%),并且在幻觉检测基准HaluEval和HalluQA上获得了新的SOTA!

图片

论文标题:
ANAH-v2: Scaling Analytical Hallucination Annotation of Large Language Models

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

图片

方法

1. 善于分析的幻觉标注器

幻觉标注器的目标是识别模型响应中的幻觉,在本文中该过程分为三个阶段,更贴近人类认知判断过程:

  • 事实存在判断:标注器评估提供的句子是否包含可验证的事实。如果没有事实内容,该句子被归类为“无事实”,无需进一步标注。

    图片

  • 参考信息提取:标注器从与问题和答案相关的文档中提取相关参考点。

    图片

  • 幻觉类型判断:标注器根据提取的参考点确定幻觉类型。如果句子与参考点一致,则分类为“无幻觉”。如果与参考点矛盾,则视为“矛盾幻觉”。如果缺乏支持证据且无法验证,则标记为“不可验证幻觉”。

    图片

以上三个阶段将在训练数据中形成多轮对话,用于后续模型训练。

2. 最大期望(EM)算法

本文通过最大期望算法同时扩展数据集和提高标注准确性。对于输入集合,需要同时估计两个隐藏变量,即输出集合和模型参数。具体而言,定义幻觉标注器的输入来自输入集合,包括一个问题、一个待标注的句子和一个参考文档。预期输出包括事实信息、参考文档中的关键参考点和幻觉类型。通过交替执行步和步来最大化的对数似然估计以更新模型参数:

图片

E步:为了提高的估计准确性和稳定性,作者引入了自一致性方法,这提供了分布的更稳健表示。对于每个输入,进行多次采样以产生个独立的输出,其中第个输出样本由事实信息()、参考点()和幻觉类型()组成。使用自一致性度量从所有输出中选择最具代表性的样本:

图片

在选择过程中,依次考虑幻觉类型、参考点和事实信息。通过对所有样本进行多数投票来确定最常见的幻觉类型,记为。然后,从包含的输出中获取相应的,形成候选参考集合。通过比较余弦相似性选择最“一致”的参考点。对于中的每个,首先计算它与中其他元素的平均余弦相似性。之后,选择平均余弦相似性最高的参考点:。最后,利用(, ),可以唯一地选择相应的。

M步:在E步的稳健估计之后,M步更新模型参数以最大化所选输出的似然。在第次迭代中将参数更新策略公式化为:

图片

3. 多维数据缩放

基于EM算法,本文框架以迭代方式运行,逐步扩展数据集,包括三个阶段:

阶段1:种子数据和基础标注器本文利用ANAH数据集作为种子数据,其中包含超过700个主题和大约4300个由LLM生成的问题和回答。对于每个回答,ANAH通过人工参与的方法为每个句子提供幻觉类型。本文使用第一节中描述的标注方法,用这些种子数据训练初始幻觉标注器,称为ANAH-v2阶段1。

阶段2:在回答维度上扩展在阶段1中,对于每个问题,ANAH提供GPT-3.5基于参考文档生成的回答,以及InternLM-7B在没有参考文档的情况下生成回答。

本文首先通过收集13个不同规模和系列的开源模型对相同问题的回答来扩展数据集的模型回答。对于每个模型,收集有无参考文档的回答。在过滤掉相似的模型回答后,这些回答使用ANAH-v2阶段1的自一致性pipeline逐句进行标注。新标注的数据与种子数据结合,用于训练ANAH-v2阶段2。

阶段3:在主题维度上扩展本文沿四个类别扩展主题覆盖:地点、人物、事件和事物,与ANAH的配置平行。对于每个主题,根据提供的参考文档生成几个问题。然后,使用阶段2中的相同方法,收集多个模型的回答,并按照阶段2中使用ANAH-v2阶段2标注器的相同程序进行标注。最终数据集结合前几个阶段的数据,用于训练最终版本的标注器。

总体统计

最终数据集涵盖超过3000个主题,约196k个模型回答和约822k个标注句子,包含英文和中文。

图片

主题覆盖名人、事件、地点和事物,涉及广泛领域,如政治、健康和体育。该数据集规模庞大,覆盖全面。

图片

实验与分析

本文采用了预训练的InternLM2-7B模型来对幻觉标注器进行微调,使用ANAH数据集的子集作为测试集。利用F1和准确率评估标注器在预测幻觉类型方面的性能,还使用RougeL和BertScore 来将生成的文本与人类参考文本进行比较,以考虑语法、连续性、顺序和语义方面。实验结果如下表:

图片

上表的最后三行展示了ANAH-v2在数据扩展各阶段的性能。随着数据集数量的增加,其性能逐步提高。这一趋势突显了幻觉标注框架的可扩展性和有效性。

值得注意的是,ANAH-v2在第二阶段的F1值达到87.78%,准确率达到88.03%,超越了GPT-4。最终,在第三阶段,我们达到了89.30%的F1值和89.55%的准确率。

除此之外,ANAH-v2在第一阶段的准确率(84.85%)已超过参数为20B的ANAH-20B(81.01%),而其参数仅为7B。这种优越性能归功于前文提到的善于分析的幻觉标注器的设计,得到了非常丰富的多轮对话。

消融实验

自一致性的影响

当标注器模型在各个数据扩展阶段使用相同的训练数据时,如下表所示,采用自一致性推理策略(w/ SC)的性能始终优于不采用自一致性策略(w/o SC),即对每个输入只生成一次。因此,自一致性方法提高了幻觉标注估计的准确性和稳定性。

图片

渐进数据缩放的影响

在渐进方法中,第二阶段更新的标注器用于标注额外主题的响应,不断丰富训练数据。相比之下,在非渐进方法中,第一阶段的基本标注器用于生成第三阶段额外训练数据的标注。

图片

在相同规模的训练数据下,使用非渐进数据扩展训练的标注器性能不如使用渐进数据扩展训练的标注器。

训练策略的影响

在默认训练过程中,将新标注的数据与旧数据混合以重新训练标注器。或者仅使用新标注的数据来进一步训练上一阶段的标注器模型。

图片

结果表明,混合训练数据的训练策略比仅用新数据进一步训练效果更好。在各个训练阶段整合不同质量的数据提高了标注器模型的鲁棒性。

评估ANAH-v2模型在幻觉检测能力的泛化性

本文进一步验证了微调模型ANAH-v2在其他幻觉检测数据集HaluEval(英文)和HalluQA(中文)上的有效性。让ANAH-v2分别判断回答中是否包含幻觉。

图片

结果显示,标注模型ANAH-v2在HaluEval和HalluQA上均取得了显著的准确率。ANAH-v2第三阶段在zero-shot设置下分别在HaluEval(81.54%)和HalluQA(94.44%)上取得了新的SOTA,这突显了ANAH-v2的泛化能力。此外,ANAH-v2第三阶段的表现优于第一阶段和第二阶段的标注器,这进一步证明了数据扩展策略在处理不熟悉回答时有效地稳定了性能。

ANAH-v2数据集可作为幻觉评估基准

ANAH-v2数据集和标注器可以作为现有模型生成文本中幻觉水平的基准。作者评估了各种不同规模的LLMs在ANAH-v2数据集的上性能。

图片

  • 所有模型在英文中的表现优于中文,这突显了需要进一步研究以理解和减少语言依赖的差异。

  • 所有模型在使用参考文档时的性能都优于不使用参考文档时的性能。Qwen1.5-14B在使用参考文档时实现了最低的幻觉率(5.33%),而Deepseek-67B在没有提供参考文档时实现了最低的幻觉率(47.17%)。

ANAH-v2标注器可用于缓解幻觉

除了用于测量幻觉水平外,ANAH-v2还可以用于缓解幻觉。本文使用了两个模型InternLM2-7B和LLaMA2-7B,通过top-k采样(k=40)生成36个候选响应,然后使用ANAH-v2标注器对这些响应进行重新排序,选择具有最低幻觉率的最佳响应。

为了量化幻觉程度,使用了RougeL、BertScore、NLI和QuestionEval指标测量生成的响应与标准答案和/或参考文档之间的一致性。

图片

结果显示,通过ANAH-v2标注器进行重新排序后,幻觉水平明显下降。LLaMA2-7B的NLI指标显著提高,从25.00%上升到37.01%。

结语

本文通过迭代自我训练,逐步扩大数据集的多样性和规模,并提高幻觉标注器的准确性。最终得到的ANAH-v2仅用7B参数在各种幻觉检测基准测试中首次超过了GPT-4,并在第三方幻觉检测基准测试中表现出色。

ANAH-v2不仅提供了一个基于的扩展数据集的自动幻觉评估基准,为未来幻觉缓解研究铺平了道路,还通过简单的重新排序策略展示了其在幻觉缓解中的潜力。相信ANAH-v2还可以为更细粒度的RLHF等更多幻觉缓解策略提供帮助。

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

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

相关文章

大厂面试官问我:两个1亿行的文件怎么求交集?【后端八股文十五:场景题合集】

本文为【场景题合集】初版,后续还会进行优化更新,欢迎大家关注交流~ hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏&#x1f…

第一百七十八节 Java IO教程 - Java符号链接、Java文件

Java IO教程 - Java符号链接 符号链接包含对另一个文件或目录的引用。 符号链接引用的文件称为符号链接的目标文件。 符号链接上的操作对应用程序是透明的。我们可以使用java.nio.file.Files类处理符号链接。 isSymbolicLink(Path p)方法检查指定路径指定的文件是否是符号链…

解决 MDCFilter 引起的 Shiro UnavailableSecurityManagerException 异常:将过滤器交给 Shiro 管理

若将自定义的 MDCFilter 注册到 FilterRegistrationBean 中,而又在 MDCFilter 中使用了和 Shiro 相关的操作(如获取当前登录用户),此时会因为 MDCFilter 先于 SecurityManager 实例化导致出现 UnavailableSecurityManagerExceptio…

C语言 ——— 函数指针数组的讲解及其用法

目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见:C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中,这个数组该如何定义…

太原高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着科技的不断进步,智能制造已经成为推动制造业转型升级的重要力量。太原高校大学智能制造实验室紧跟时代步伐,积极推进数字孪生可视化系统平台的建设,并于近日圆满完成了项目的验收工作。这一里程碑式的成果,不仅标志着实验室在…

Angular由一个bug说起之八:实践中遇到的一个数据颗粒度的问题

互联网产品离不开数据处理,数据处理有一些基本的原则包括:准确性、‌完整性、‌一致性、‌保密性、‌及时性。‌ 准确性:是数据处理的首要目标,‌确保数据的真实性和可靠性。‌准确的数据是进行分析和决策的基础,‌因此…

Three.js投射光线实现三维物体交互

<template><div id"webgl"></div> </template><script setup> import * as THREE from three //导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入 dat.gui import { GUI } from thre…

谷粒商城实战笔记-43-前端基础-Vue-使用Vue脚手架进行模块化开发

文章目录 一&#xff0c;Vue的模块化开发1&#xff0c;目录结构2&#xff0c;单文件组件 (SFC)3&#xff0c;模块化路由4&#xff0c;Vuex 模块5&#xff0c;动态组件和异步组件6&#xff0c;抽象和复用7&#xff0c;构建和打包8&#xff0c;测试9&#xff0c;文档和注释10&…

基于Neo4j将知识图谱用于检索增强生成:Knowledge Graphs for RAG

Knowledge Graphs for RAG 本文是学习https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/这门课的学习笔记。 What you’ll learn in this course Knowledge graphs are used in development to structure complex data relationships, drive intelligent sea…

Node.js知识点总结

Node.js知识点总结 Node.js其本质和浏览器一样是一个JavaScript运行环境。浏览器的运行环境为V8引擎浏览器内置API&#xff08;BOM、DOM、Canvas);而node.js的运行环境是V8引擎node提供的API(fs、path、http)。它使JavaScript可以编写后端。 基本知识 fs文件系统模块 它提供一…

深度学习复盘与论文复现E

文章目录 一、项目复现的问题及其解决方案1、 Cannot find DGL C graphbolt library2、 “is“ with a literal. Did you mean ““?”3、运行SEG、SPG查看GATNet的网络结构4、关于LI-FPN项目找不到数据粒度不匹配问题5、关于LI-FPN项目num_samples为空6、解决路径问题7、 !ss…

Nginx 怎样处理请求的缓存数据清理策略?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; 文章目录 Nginx 怎样处理请求的缓存数据清理策略&#xff1f;一、理解 Nginx 缓存的重要性二、Nginx 缓存数据的类型&#xff08;一&#xff09;静态文件缓存&#xff08;…

PHP简单商城单商户小程序系统源码

&#x1f6cd;️轻松开店&#xff0c;触手可及&#xff01;「简单商城小程序」让电商梦想照进现实&#x1f31f; &#x1f389;开店新风尚&#xff0c;「简单商城小程序」引领潮流&#xff01; 还在为繁琐的电商开店流程烦恼吗&#xff1f;想要快速搭建自己的线上商城&#x…

Linux嵌入式学习——数据结构——线性表的链式结构

线性表的链式存储 解决顺序存储的缺点&#xff0c;插入和删除&#xff0c;动态存储问题。 特点&#xff1a; 线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素&#xff0c;存储单元可以是连续的&#xff0c;也可以不连续。可以被存储在任意内存未被占…

vue3如何实现分面漏斗图

如下图&#xff1a; 这里我选择采用Vue3g2plot进行实现。 参考网址&#xff1a;https://g2plot.antv.antgroup.com/zh/examples/more-plots/funnel/#facet-transpose 核心代码如下&#xff1a; const data [{ stage: 简历筛选, number: 253, company: A公司 },{ stage: 初…

东京裸机云多IP服务器全面分析

东京裸机云多IP服务器是一种提供多IP地址分配和高性能网络服务的云计算解决方案&#xff0c;广泛应用于需要多IP管理和高稳定性的网络应用。下面将从几个方面具体介绍东京裸机云多IP服务器&#xff0c;rak部落为您整理发布东京裸机云多IP服务器的全面分析。 在数字化时代&#…

Docker 部署常用中间件(redis,rabbitMQ,mysql8,es,kibana,nginx等)亲测成功~~~

Docker 部署常用中间件 在日常开发中必要的环境&#xff0c;大多数都是单点后续持续更新集群模式~~~ docker 安装reids docker pull redis:7.2.5 编辑redis.conf # 绑定地址&#xff0c;默认只允许本机访问 # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 bind 0.0…

学员心得 | 做好这几点,轻松通关云计算HCIE3.0!

烈日当空&#xff0c;骄阳似火&#xff0c;在这炎炎夏日迎来了自己今年一份满意的答卷--华为HCIE云计算“通过”的e妹儿&#xff08;嘿嘿&#xff01;证书也快了&#xff09;。此时此刻&#xff0c;想把自己“辛勤劳作”备考IE的一些经历和建议留给后来的同路人。 “世界上最可…

MySQL练手 --- 619. 只出现一次的最大数字

题目链接&#xff1a;619. 只出现一次的最大数字 思路 这是一个简单题&#xff0c;只出现一次的最大数字&#xff0c;顾名思义&#xff0c;分两个阶段&#xff0c;第一个阶段筛选出只出现一次的数字&#xff0c;第二阶段在生成的新表中筛选出最大值即可。 解题过程 生成一张…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …