LLM答案抽取|xFinder:针对大型语言模型的稳健且精确的答案提取

【摘要】大型语言模型(LLM)的不断进步使人们越来越关注开发公平可靠的方法来评估其性能的关键问题。特别是测试集泄漏、提示格式过拟合等主观或非主观作弊现象的出现,给法学硕士的可靠评估带来了重大挑战。由于评估框架通常利用正则表达式 (RegEx) 进行答案提取,因此某些模型可能会调整其响应以符合 RegEx 可以轻松提取的特定格式。然而,基于正则表达式的关键答案提取模块经常出现提取错误。本文对整个LLM评估链进行了全面分析,证明优化关键答案提取模块可以提高提取准确性,减少LLM对特定答案格式的依赖,增强LLM评估的可靠性。为了解决这些问题,我们提出了 xFinder,一个专门为关键答案提取而设计的模型。作为此过程的一部分,我们创建了一个专门的数据集,即关键答案查找器 (KAF) 数据集,以确保有效的模型训练和评估。通过真实场景的泛化测试和评估,结果表明,只有 5 亿个参数的最小 xFinder 模型的平均答案提取准确率达到 93.42%。相比之下,最佳评估框架中的 RegEx 准确率为 74.38%。与现有评估框架相比,xFinder 表现出更强的鲁棒性和更高的准确性。

原文:xFinder: Robust and Pinpoint Answer Extraction for Large Language Models
地址:https://arxiv.org/abs/2405.11874v1
代码:https://github.com/IAAR-Shanghai/xFinder
出版:未知
机构: Institute for Advanced Algorithms Research, Shanghai; Renmin University of China

解析人:公众号“码农的科研笔记”

1 研究问题

本文研究的核心问题是: 如何设计一种精准、鲁棒的大语言模型(LLMs)生成内容中的关键答案抽取方法。

考虑这样一个场景:现有多个LLMs如GPT-4、PaLM、Bard等,针对同一个问题生成了不同的回答。这些回答可能格式多样,有的用自然语言直接给出答案,有的则先给出推理过程再得出结论。我们希望从这些回答中抽取出最终的关键答案,以便对不同LLM的表现进行评估和比较。然而现有的基于正则表达式的抽取方法往往无法应对LLM生成内容的多样性,导致大量答案被漏抽或错抽。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • LLM生成的回答内容丰富多样,很难用简单的模板或规则进行匹配和抽取。比如有的回答会先给出推理过程,再在最后给出结论;有的回答会在中间某处给出答案,然后进行补充说明。

  • 不同LLM对于同一个问题的理解和表述方式差异很大。比如针对"人工智能会取代人类吗"这个问题,有的LLM可能直接回答"不会",而有的LLM则可能从技术、伦理、经济等多个角度分析利弊,但最终也是得出"不会取代"的结论。

  • 现有的基于正则表达式(RegEx)的抽取方法缺乏灵活性和泛化能力。它们通常依赖于特定的答案格式(如"The answer is ...")来定位和提取答案,一旦LLM生成的回答不符合预设格式,就很容易出错。

  • 缺乏高质量的答案抽取数据集。由于LLM回答的多样性,人工标注答案抽取的数据成本很高。而直接将其他QA或MRC数据集转化为答案抽取任务的数据质量较差。

针对这些挑战,本文提出了一种预训练+微调的"xFinder"方法:

xFinder的核心思想是先在大规模语料上预训练一个语言模型,使其具备基本的语言理解和生成能力,然后在答案抽取数据集上进行微调,使其习得从LLM生成内容中定位和抽取关键答案的能力。 具体来说,xFinder采用的是基于Transformer的encoder-decoder结构。Encoder负责对LLM生成的文本进行编码,生成each token的上下文表示。Decoder则根据question和answer range的embedding,在encoder的输出表示中定位含有答案的句子和span。 为了训练xFinder,本文构建了一个KB Answer Finder (KAF)数据集,包含由10个不同LLM在8个任务上生成的回答,以及对应的人工标注的关键答案。此外还有一个泛化测试集,包含另外8个LLM在11个新任务上的生成内容,用于评估xFinder的泛化能力。 实验结果表明,xFinder相比传统的RegEx方法,在答案抽取的精确度和鲁棒性上都有大幅提升。在泛化测试集上,参数量只有5亿的xFinder-qwen1505模型的平均抽取准确率达到了93.42%,而最好的RegEx方法只有74.38%。

2 研究方法

为了有效地微调xFinder模型,构建一个高质量的数据集至关重要。论文构建了一个专门用于关键答案提取的数据集KAF(Key Answer Finder)。本节将详细介绍KAF数据集的构建过程以及xFinder模型的训练方法。

2.1 KAF数据集构建

2.1.1 LLM回答生成

KAF数据集构建的第一步是利用不同的大型语言模型,针对多个评估任务生成问题-回答对。论文选取了18个典型的评估任务数据集,涵盖了广泛的知识领域。

为了引导LLM生成多样化的回答,论文精心设计了8种提示词配置,包括0-shot(-restrict)、0-shot-cot(-restrict)、5-shot(-restrict)和5-shot-cot(-restrict)。其中,-restrict表示在提示词末尾添加一个标准化回答格式的要求。通过这些提示词,可以得到LLM在不同few-shot设置和推理模式下的多样化回答。

此外,考虑到不同系列和规模的LLM在面对同一个问题时可能给出不同的回答,论文选取了10个不同的LLM来生成回答,以进一步丰富数据的异质性。

2.1.2 半自动标注与人工复核

KAF数据集构建的关键是从LLM回答中提取出关键答案作为标签。论文针对训练集、测试集和泛化集采用了不同的标注策略:

  • 对于训练集,为了提高标注效率,论文采用了一种半自动化的方法。首先利用GPT-4生成两组标注,然后应用自洽性策略,对两轮标注结果不一致的样本以及所有数学题进行人工复核。

  • 对于测试集和泛化集,为确保标签的准确性,全部采用两轮人工标注的方式。

自洽性策略的核心思想是:对同一个样本利用两种不同形式的提示(常规形式和XML形式)生成两组标注,若结果一致则认为标注可靠,否则交由人工复核。这种方法可以充分利用GPT-4的能力提高标注效率,同时通过人工复核保证关键样本的标注质量。

2.1.3 KAF数据集概述

KAF数据集包含26,900个训练样本、4,961个测试样本和4,482个泛化样本。每个样本包括一个问题、候选答案范围、LLM对该问题的回答以及从回答中提取的关键答案标签。

值得注意的是,训练集和测试集中的问答对来自于10个LLM在8个评估任务上的回答,而泛化集的问答对则来自于8个LLM在另外11个全新评估任务上的回答。这种划分方式有助于全面评估xFinder模型的泛化性能。

2.2 xFinder模型训练

根据第3节中对关键答案提取任务的定义,xFinder的训练目标是学会从LLM回答y中准确定位包含最终答案的关键句s,并从s中提取出与问题q对应的关键答案k。

xFinder的输入包括问题q、LLM回答y、关键答案类型以及候选答案范围,输出为从y中提取的关键答案k。在训练过程中,论文主要使用了XTuner工具包中的QLoRA方法进行微调,并精心设计了指令型提示词来充分发挥xFinder的指令遵循能力。

此外,为了增强xFinder的泛化性,论文还对KAF训练集进行了数据增强:

  • 对50%的字母选项问题,通过增减选项数量来模拟LLM对此类问题的回答。

  • 对含有外包装关键句的样本,随机替换外包装提示词以丰富语言模式。

通过在高质量的KAF数据集上微调,并应用数据增强策略提升泛化性,xFinder可以在实际应用中准确地提取LLM回答中的关键信息,为后续的自动化评估打下坚实基础。 第四步、实验部分详细撰写:

5 实验

5.1 实验场景介绍

本论文提出了一个专门用于关键答案抽取的模型xFinder,实验的目标是验证xFinder在关键答案抽取任务上的有效性,以及在真实评估场景中替换主流框架的正则抽取模块后对LLM排名的影响。

5.2 实验设置

Datasets:

  • KAF(Key Answer Finder)数据集:包含训练集26,900个样本,测试集4,961个样本,泛化集4,482个样本。训练和测试集的问答对由10个LLM在8个评估任务上生成,泛化集由8个LLM在11个新评估任务生成。

  • 14个主流评估任务数据集

Baselines:

  • 主流框架:OpenCompass、UltraEval、LM Eval Harness

  • GPT-4

  • Implementation details:

  • 使用XTuner工具和QLoRA方法微调基础模型,在8×A100 GPU上训练

  • 主要微调超参数:batch size为1,max length为2048,学习率2e-4,AdamW优化器

metric:关键答案抽取准确率

5.3 实验结果

5.3.1 KAF测试集上xFinder vs. RegEx的抽取准确率对比

目的:评估使用KAF训练集微调后的xFinder模型在KAF测试集上的关键答案抽取性能,与主流框架的RegEx方法进行对比

涉及图表:表1

实验细节概述:选取19个不同规模(0.5B~8B)的LLM,使用KAF训练集进行微调,在KAF测试集上评估抽取准确率,与OpenCompass、UltraEval和LM Eval Harness的RegEx方法进行对比

结果:

  • 使用KAF训练集微调的xFinder模型具有很高的有效性,尽管模型参数规模差异16倍,但抽取准确率差异不超过0.5%,说明KAF数据集质量高

  • xFinder模型在各类型问题上的准确率均显著高于主流框架的RegEx方法

5.3.2 KAF泛化集上xFinder vs. 其他模型的抽取准确率对比

目的:评估xFinder在未见过的任务上的抽取能力

涉及图表:表2

实验细节概述:选取2个有代表性的xFinder模型,在KAF泛化集上评估抽取准确率,与GPT-4、OpenCompass、UltraEval和LM Eval Harness进行对比

结果:

  • xFinder在泛化集上保持了较高的抽取准确率,而主流框架的RegEx方法表现很差,尤其在抽取数学问题的关键答案时

  • 即使是GPT-4也难以从复杂多变的LLM输出中准确抽取关键答案

  • xFinder展现了很好的泛化能力

5.3.3 实验三、在真实场景下使用xFinder和主流评估框架评估LLM性能

目的: 验证在实际LLM评估任务中使用xFinder替代正则表达式抽取答案的有效性

涉及图表: 图4,表8-27

实验细节概述:

  • 选择xFinder-qwen1505(∆acc/N最高)和xFinder-llama38it(∆acc最高)用于真实场景评估

  • 在14个主流评估任务上,使用xFinder-qwen1505、xFinder-llama38it和主流评估框架评估10个LLM的性能,对比LLM排名差异

结果:

  • 主流评估框架的LLM排名存在显著差异,说明基于正则表达式的方法不可靠,可能影响模型评估和排名

  • 使用不同基础模型微调的xFinder在同一任务上对LLM的排名比较一致,表明xFinder更加稳定可靠

  • 将评估任务设置为字母选项的可靠性值得怀疑,建议减少现有评估框架对字母选项格式的依赖

4 总结后记

本论文针对评估大语言模型(LLM)的关键答案提取问题,提出了一种名为xFinder的专用模型。通过构建高质量的KAF数据集并在此基础上微调模型,实现了在多个评估任务上相比主流基于正则表达式的方法取得更高的提取准确率。实验结果表明,所提xFinder模型具有更强的鲁棒性和泛化能力,为提高LLM评估的可靠性提供了新的思路。

疑惑和想法:

  1. 除了微调方法,是否可以探索基于prompt engineering的方式来适配xFinder到新的任务?

可借鉴的方法点:

  1. 针对特定问题构建高质量数据集并微调模型的思路可以推广到其他LLM评估任务,如事实性评估、对齐度评估等。

  2. 采用自洽性(self-consistency)策略生成高质量标注数据的方法可以应用到其他需要人工标注的场景,提高标注效率。

  3. 系统测试不同提示形式对LLM生成内容的影响,有助于设计出更加有效和公平的评估方案。

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

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

相关文章

《最新出炉》系列初窥篇-Python+Playwright自动化测试-39-highlight() 方法之追踪定位

1.简介 在之前的文章中宏哥讲解和分享了,为了看清自动化测试的步骤,通过JavaScript添加高亮颜色,就可以清楚的看到执行步骤了。在学习和实践Playwright的过程中,偶然发现了使用Playwright中的highlight()方法也突出显示Web元素。…

eNSP-集线器(hub)连接局域网

一、拓扑结构搭建 二、主机配置 pc1、pc2、pc3 三、测试 Hub相当于大家共享一条线路(类似于电线搭电),线路上的所有的设备都会接收同样的信息。

路由器不能端口映射什么原因?如何设置内网映射?

近期有小伙伴发来求助信息,他以前开游戏服务器和别人一起玩,那个时候端口映射还好,不知道哪一天开始突然不行了,已经是公网了,光猫是桥接的状态,连路由器都换了,就是不能端口映射开服务器&#…

VAE-变分自编码器(Variational Autoencoder,VAE)

变分自编码器(Variational Autoencoder,VAE)是一种生成模型,结合了概率图模型与神经网络技术,广泛应用于数据生成、表示学习和数据压缩等领域。以下是对VAE的详细解释和理解: 基本概念 1. 自编码器&#…

基于 Milvus Cloud + LlamaIndex 实现初级 RAG

初级 RAG 初级 RAG 的定义 初级 RAG 研究范式代表了最早的方法论,在 ChatGPT 广泛采用后不久就取得了重要地位。初级 RAG 遵循传统的流程,包括索引创建(Indexing)、检索(Retrieval)和生成(Generation),常常被描绘成一个“检索—读取”框架,其工作流包括三个关键步…

WebSocket简介

参考:Java NIO实现WebSocket服务器_nio websocket-CSDN博客 WebSocket API是HTML5中的一大特色,能够使得建立连接的双方在任意时刻相互推送消息,这意味着不同于HTTP,服务器服务器也可以主动向客户端推送消息了。 WebSocket协议是…

【PB案例学习笔记】-08 控件拖动实现

写在前面 这是PB案例学习笔记系列文章的第8篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gitee…

1941springboot VUE 服务机构评估管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot VUE服务机构评估管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代…

计算机-编程相关

在 Linux 中、一切都是文件、硬件设备是文件、管道是文件、网络套接字也是文件。 for https://juejin.cn/post/6844904103437582344 fork 进程的一些问题 fork 函数比较特殊、一次调用会返回两次。在父进程和子进程都会返回。 每个进程在内核中都是一个 taskstruct 结构、for…

Thingsboard规则链:Entity Type Switch节点详解

在物联网(IoT)领域,随着设备数量的爆炸式增长和数据复杂性的增加,高效、灵活的数据处理机制变得至关重要。作为一款先进的物联网平台,ThingsBoard提供了强大的规则链(Rule Chains)功能&#xff…

第四节 Starter 加载时机和源码理解

tips:每个 springBoot 的版本不同,代码的实现存会存在不同。 上一章,我们聊到 mybatis-spring-boot-starter; 简单分析了它的结构。 这一章我们将着重分析 Starter 的加载机制,并结合源码进行分析理解。 一、加载实际…

问题与解决:element ui垂直菜单展开后显示不全

比如我这个垂直菜单展开后,其实系统管理下面还有其他子菜单,但是显示不出来了。 解决方法很简单,只需要在菜单外面包一层el-scrollbar,并且将高度设置为100vh。

Laravel 11 PHP8

一直都是用laravel 7 左右的,现在要求将项目升级到laravel 11 和使用PHP8,随手记录一些小问题,laravel 11的包是领导给的,没有使用composer 安装,所以我也不确定和官方的是否一致 遇到这问题 可以这样 env 中默认的数…

基于若依的旅游推荐管理系统(spring boot+vue+mybatis+Ajax)

一、项目目的 随着社会的高速发展,人们生活水平的不断提高,以及工作节奏的加快,旅游逐渐成为一个热门的话题,因为其形式的多样,涉及的面比较广,成为人们放松压力,调节情绪的首要选择。 传统的旅…

上位机图像处理和嵌入式模块部署(mcu的按键输入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 做技术的同学,大部分都会把精力放在技术本身,却忽视了学的东西有什么实际的用途。就拿gpio来说,一般我们点灯也…

正确认识IP地址和子网掩码的联系

IP地址和子网掩码是计算机网络中两个非常重要的概念,它们共同确定了设备在局域网中的地址以及该地址所属的子网,只要两者结合,就能确定唯一地址IP66_ip归属地在线查询_免费ip查询_ip精准定位平台。 IP地址是用于标识计算机网络中的每台设备的…

Ajax用法总结(包括原生Ajax、Jquery、Axois)

HTTP知识 HTTP(hypertext transport protocol)协议『超文本传输协议』,协议详细规定了浏览器和万维网服务器之间互相通信的规则。 请求报文 请求行: GET、POST /s?ieutf-8...(url的一长串参数) HTTP/1.1 请求头…

Mac安装 Intellij IDEA,亲测有效M1、M2可用

引言 最近开始学习使用spring boot写一个简单的后端项目,使用Intellij IDEA软件,Intellij IDEA为新用户提供了30天的免费试用。 方案 1.官网下载Intellij IDEA IntelliJ IDEA – the Leading Java and Kotlin IDE 或者直接网盘连接下载:…

第一份工资

当我拿到我人生的第一份工资时,那是一种难以言表的激动。我记得那个下午,阳光透过窗户洒在了我的办公桌上,我看着那张支票,心中满是欣喜和自豪。那是我独立生活的开始,也是我对自己能力的一种肯定。 我记得我是如何支配…

SQL注入:pikachu靶场中的SQL注入通关

目录 1、数字型注入(post) 2、字符型注入(get) 3、搜索型注入 4、XX型注入 5、"insert/update"注入 Insert: update: 6、"delete"注入 7、"http header"注入 8、盲…