大模型能否真正理解上下文?

news2024/11/6 7:15:07

 人工智能咨询培训老师叶梓 转载标明出处

尽管对LLMs的评估涵盖了自然语言处理(NLP)的各个领域,但对它们理解上下文特征的语言能力的探讨却相对有限。为了填补这一空白,乔治城大学和苹果公司的研究者们共同提出了一种新的上下文理解基准测试,旨在评估生成模型的性能。

任务选择与设计

研究者们构建了一个评估大模型(LLMs)上下文理解能力的基准测试。这个基准测试精心设计了四个任务,涵盖了九个不同的数据集,以此来全面地评估模型对上下文的理解。

用于评估语言模型上下文理解能力的四个不同任务和九个数据集

指代消解

任务说明: 指代消解任务对于理解文本中表达的整体含义至关重要。这项任务检测语言模型在文档内把握指代关系和上下文细微差别的能力。

数据集:

  • WSC273:取自Winograd Schema Challenge的前273个例子,这个数据集要求系统阅读一个包含模糊代词的句子,并从两个选项中选择正确的指代对象。
  • OntoNotes 5.0:这是一个人工标注的文档语料库,包含了句法、命题、命名实体、词义和文档内的指代关系等多层次的语言信息。

评估方法: 研究者们设计了一种多项选择任务,提供了提及(mentions)并评估模型在消解任务上的表现。每个选项代表一个可能的可标记跨度(markable span)。

示例(Table 1):

  • 指令:请仔细阅读以下段落。对于每个段落和选项,你必须识别加粗提到的内容所指的选项。如果加粗的提及没有任何先行词,则选择“无先行词”。
  • 上下文:...为了表达its决心,中国证券监管部门将这次股票改革比作已经掷出的骰子...
  • 选项:A. 无先行词 B. 中国证券监管部门 C. 这次股票改革
  • 问题:its指的是什么?
  • 答案:B

对话状态跟踪

任务说明: 对话状态跟踪是任务型对话(TOD)建模中的一个重要任务,对话代理需要追踪用户在对话过程中提供的关键信息。

数据集:

  • MultiWOZ:这个数据集提供了用户在寻找餐厅时表达的约束条件的例子。

评估方法: 研究者们采用了由Heck等人(2023)提出的一种直接且简化的ICL方法,并在MultiWOZ v2.2上进行测试。模型的提示包括领域本体的知识、指令、之前对话状态(累积到上一个用户回合的信念状态)以及进行到当前回合的对话。

示例(Table 2):

  • 本体:提供了一个“slots”(槽位)的JSON列表,每个槽位都有一个预定义的值列表。
  • 指令:现在考虑以下两个名为“system”和“user”的参与者之间的对话。用户在对system的最新回应中更新了哪个“slot”?以JSON格式呈现更新。如果没有“slots”被更新,则返回空的JSON列表。
  • 输入:先前状态:{} "system": "" "user": "I’m looking for a moderately priced place to eat that’s in the centre of town."
  • 输出:{"restaurant-pricerange": "moderate", "restaurant-area": "centre"}

隐式话语关系分类

任务说明:

隐式话语关系分类任务专注于理解文本中不同部分如何相互连接并构建出连贯和有意义的信息。这项任务突出了话语段落之间的联系,以及如何通过隐式连接词来表达它们之间的关系。

数据集:

  • PDTB-3:由Webber等人于2019年引入,此语料库标注了基本话语单元(EDUs)之间的隐式话语关系。这些关系表明了EDUs之间的连接,并且可能通过插入连接词来明确表达。

评估方法:

研究者们选择将此任务转化为多项选择题形式,每个类别作为选项之一。这种设计允许模型在四个预定义的话语关系类别中选择:时间(Temporal)、条件(Contingency)、比较(Comparison)和扩展(Expansion)。

示例(Table 3):

  • 指令:给定两个论元和一系列连接词,模型需要选择最有可能连接这两个论元的连接词。

  • 关系描述:提供四种话语关系类别的简要描述。
  • 输入:Arg 1: Amcore, 也是一个银行控股公司,拥有10.6亿美元的资产。Arg 2: Central的资产是2.4亿美元。
  • 问题:哪个连接词最好地描述了两个论元之间的关系?
  • 选项:A. 时间 B. 条件 C. 比较 D. 扩展
  • 答案:C

查询改写

任务说明:

查询改写任务旨在评估模型将对话中用户的最后一句话改写为一个独立于上下文的、格式良好的查询的能力。这要求模型能够识别上下文中的实体或事件引用,并生成一个解决了指代或省略问题的完整话语。

数据集:

  • MuDoCo:带有查询改写注释的多领域数据集。

  • QReCC:基于问答的对话数据集,包含需要改写的查询。

  • InCar:车内对话场景的数据集。

  • GECOR:端到端生成省略和指代消解模型的数据集。

  • CANARD:对话中需要改写的查询数据集。

评估方法:

研究者们使用BLEU和ROUGE等指标来评估生成查询的质量,这些指标能够衡量生成查询与参考查询之间的相似度。

示例(Table 4):

  • 指令:改写对话中的最后一个查询,使之成为一个格式良好、独立于上下文的查询。需要解决任何不流畅或语法错误。

  • 输入:User: 现在尝试联系Forbes。Bot: 是指在华盛顿邮报的Forbes?还是出版部门的Forbes?User: 出版部门。

  • 改写:Forbes出版部门

通过这些任务的设计,研究者们能够全面评估LLMs在不同上下文理解方面的能力,包括文档和对话基础的上下文理解。这些任务不仅测试了模型的语言理解能力,还考察了它们在实际对话中的应用潜力。

实验

实验在包含8个A100 GPU的计算基础设施上进行。研究者们测试了三种模型家族:

  1. OPT模型:规模从125M到2.7B不等。
  2. LLaMA模型:作为中等规模的语言模型,参数范围从7B到65B,由于之前研究展示的优越性能而被选中。
  3. GPT-3.5-turbo:用于大规模语言模型的评估。

对于每个模型和数据集,研究者们评估了五种不同的设置:零样本(zero-shot)、单样本(one-shot)、5样本、8样本和10样本。少数样本提示的例子是从训练集中随机选择的。

研究者们报告了三种模型家族在上下文理解基准测试上的结果,并与微调(Fine-tuned, FT)模型的结果进行了比较,以更好地解释预训练模型在上下文学习(In-context Learning, ICL)下的表现。每种任务展示了在不同样本设置下的最高分数。

核心结果包括:

  • 随着模型大小的增加,性能有所提升。
  • 预训练模型在大多数任务上难以与微调模型相匹敌。
在上下文理解基准测试中,两个开源模型和GPT-3.5的少样本学习(few-shot learning)结果

具体任务结果:

  • 指代消解(Coreference Resolution):在WSC273任务上,较大模型展现出了有希望的性能,表明LLMs可以有效地处理有限上下文和提及中的“简单”指代关系。然而,在处理具有复杂簇的基于文档的CR时,它们的性能显著下降。

  • 对话状态跟踪(Dialogue State Tracking, DST):与CR类似,OPT和LLaMA模型在DST任务上明显落后于GPT-3.5,这表明这些模型在对话进行中无法有效提取关键信息。

  • 隐式话语关系分类(Implicit Discourse Relation Classification):当模型大小超过7B时,得分有所提升,但即便表现最好的LLM(GPT)也比最佳微调模型低32%的准确率。

  • 查询改写(Query Rewriting, QR):小模型与大模型之间的差距特别显著。例如,OPT-125M甚至无法完成改写任务。

为了在ICL设置下评估LLMs的上下文理解能力,研究者使用了GPTQ进行模型量化,这是一种基于近似二阶信息的高效一次性权重量化算法,它在训练后压缩模型,最多可减少80%的内存和磁盘需求。

密集型(dense)和量化(quantized)模型在上下文理解任务上的表现比较

GPTQ已被证明可以在不造成显著性能损失的情况下将模型大小减少到3位,涵盖一系列NLP任务。然而,这种性能保持是否能扩展到上下文理解任务尚不清楚。研究者们比较了密集和3位量化的LLaMA模型。与先前对3位量化的研究不同,他们发现量化在四个任务中导致了不同程度的性能下降。尽管如此,量化的LLaMA-30B模型在所有任务中一致性地优于密集的LLaMA-7B模型,尽管它们在磁盘和内存需求上相当。这表明更大的模型规模的好处超过了量化对话语理解的影响。

实验案例研究

研究者们通过比较两种开源模型家族OPT和LLaMA,以及量化对查询改写任务的影响,进行了深入分析。查询改写是唯一一个具有自由形式生成的任务,而其他任务大多是基于分类的或者在可能的输出预测上受到严重限制。查询改写任务涵盖了五个不同的数据集,能够比较每个数据集之间的差异,从而获得更深入的理解。

表7 展示了在五个查询改写数据集上,OPT(O.)和LLaMA(L.)的比较。对于每个数据集,第一行和第二行分别代表BLEU和ROUGE分数。

如表7所示,当模型大小约为7B时,OPT在五个QR数据集上的表现明显优于LLaMA。在13B时,两个模型表现相当。只有在30B模型大小时,LLaMA的优势才明显。LLaMA上观察到随着模型大小的增加性能会提高,但这种趋势在OPT上却没有。这些结果表明,仅通过比较某个特定范围的模型大小或某个特定任务集来得出两个模型家族之间的总体优劣可能并不正确。

为了调查密集型和量化模型之间的性能差距,研究者们对查询改写的误差类型进行了定量分析。

在五个数据集上,研究者们识别出两种主要的误差类型,这两种错误占据了总错误的近80%,示例如表8所示。第一种是模型重复最后的查询而没有解析任何指代实体或省略。在这种情况下,模型似乎理解了指令但在改写上失败了。这种错误主要与模型的上下文理解能力有关。第二种是模型将任务视为语言建模(LM)任务,在这里它为最后的查询提供了一个回答。在这种情况下,模型似乎难以理解任务指令,即使有若干个少数样本示例。

表9 展示了在查询改写中,三个LLaMA模型(7B密集型、30B量化和30B密集型)的主要两种错误类型的数量。"Repeat"代表重复最后查询的错误,而"LM"表示语言建模错误。

在所有QR数据集上观察到一致的趋势。在重复错误方面,30B密集型模型与7B密集型模型相比,显示出显著较少的错误(297比469)。然而,3位GPTQ量化导致了这种类型错误的增加,达到了与7B密集型模型相似的错误计数(458比469)。这意味着3位量化降低了模型理解上下文的能力。关于LM错误,30B密集型模型也显著优于7B密集型模型,错误数量为106比232。值得注意的是,量化模型仅产生了125个LM错误,略多于30B密集型模型。然而,与7B密集型模型相比,它产生的错误显著减少(大约50%),这表明3位量化保持了ICL能力,允许模型成功地改写用户查询而不是执行语言建模任务。

这些发现对于理解不同模型架构和量化技术对LLMs性能的具体影响具有重要意义,尤其是在需要复杂上下文理解的查询改写任务中。

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

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

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

相关文章

HW行动指南,前辈教你如何真正靠护网赚到钱!

‍正文: HW行动,攻击方的专业性越来越高,ATT&CK攻击手段覆盖率也越来越高,这对于防守方提出了更高的要求,HW行动对甲方是一个双刃剑,既极大地推动了公司的信息安全重视度和投入力量,但同时…

【目标检测数据集】水泥搅拌车数据集2165张VOC+YOLO格式

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2165 标注数量(xml文件个数):2165 标注数量(txt文件个数):2165 标注…

【LeetCode】每日一题 2024_9_14 从字符串中移除星号(模拟)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 今天的题目曾经的我做过了 . . . 又是复习的一天 题目:从字符串中移除星号 代码与解题思路 func removeStars(s string) string {// 本题的核心:生成的输入保证总是可以执行题面中…

ImportError: DLL load failed while importing _ssl: 找不到指定的模块的解决方法

ImportError: DLL load failed while importing _ssl: 找不到指定的模块的解决方法 现象解决办法 现象 在命令行中,可以正常导入_ssl模块,如下: Python 3.9.0 (default, Nov 15 2020, 08:30:55) [MSC v.1916 64 bit (AMD64)] :: Anaconda, …

【Qt | QLineEdit】Qt 中使 QLineEdit 响应 鼠标单击、双击事件 的两个方法

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰: 2024-09-14 …

做外贸为什么要做谷歌seo?

跟国内不同,购物有多个大平台可供选择,在海外是有很多人会在谷歌搜索上寻找自己想要的产品或者服务的,海外谷歌那是真正的老大哥,你想要的都能搜到,而谷歌的流量以及准确性,都不是国内以及购物平台可以比拟…

Vue组合式API:setup()函数

1、什么是组合式API Vue 3.0 中新增了组合式 API 的功能,它是一组附加的、基于函数的 API,可以更加灵活地组织组件代码。通过组合式 API 可以使用函数而不是声明选项的方式来编写 Vue 组件。因此,使用组合式 API 可以将组件代码编写为多个函…

H3C CAS系列开篇之CAS初认识

一、前言 基于信创需要,某项目中的VMware软件存求替代方案,尤其在Virtual Desktop Infrastructure(VDI)方面,寻求使用紫光集团旗下H3C的CAS云计算管理平台,又称CAS虚拟化解决方案/管理系统,H3C CAS是H3C公司面向数据中心自主研发的企业级虚拟化软件。CAS提供了强大的虚拟…

nz-select 数据回显失败,大模型救了我一命。

文章目录 前言问题现象问题解决经过数据类型的问题?求助大模型问题解决 小小的疑问 前言 最近老苦逼了。原本计划推进的《软件开发人员从0到1实现物联网项目》项目因为种种原因停滞了将近一个月,进展缓慢。其中一个原因就和本文有关。 继《时隔5年重拾…

MySQL迁移达梦,部分数据写入失败,VARCHAR字段长度不足

迁移时,字符长度选择“4”即可。如果是GBK可选择“2”。

八道指针笔试题

文章目录 笔试题1笔试题2笔试题3笔试题4笔试题5笔试题6笔试题7笔试题8 笔试题1 int main() { int a[5] { 1, 2, 3, 4, 5 }; int *ptr (int *)(&a 1); printf( "%d,%d", *(a 1), *(ptr - 1)); return 0; } //程序的结果是什么?首先定义了一个数组…

数据结构————双链表

目录 一、单链表的定义及其特点 定义: 特点: 双链表的优缺点 双链表的关键特性 二、双链表的实现 准备工作: 自定义数据元素类型: 1.双链表的创建 1.1头插法介绍 1.2尾插法介绍 2.双链表的初始化 3.双链表的求表长 4.…

TDengine 与 SCADA 强强联合:提升工业数据管理的效率与精准

随着时序数据库(Time Series Database)的日益普及,越来越多的工业自动化控制(工控)人员开始认识到其强大能力。然而,时序数据库在传统实时数据库应用领域,特别是在过程监控层的推广仍面临挑战&a…

cmd命令

常用命令 查看电脑名称: hostname 查看网卡信息: ipconfig 快速打开网络设置界面: control.exe netconnections 或 rundll32.exe shell32.dll,Control_RunDLL ncpa.cpld 打开防火墙设置: wf.msc 指定网卡设置IP地址&#…

linux_L1_linux重启服务器

使用putty登录到linux服务器切换到管理员账号 sudo -s重启命令 reboot

Unity全面取消Runtime费用 安装游戏不再收版费

Unity宣布他们已经废除了争议性的Runtime费用,该费用于2023年9月引入,定于1月1日开始收取。Runtime费用起初是打算根据使用Unity引擎安装游戏的次数收取版权费。2023年9月晚些时候,该公司部分收回了计划,称Runtime费用只适用于订阅…

ROS1录包偶现一次崩溃问题定位

现象&#xff1a;崩到了mogo_reporter里面 堆栈&#xff1a;crash里面同时存在两个主线程的堆栈 代码 #include "boost/program_options.hpp" #include <signal.h> #include <string> #include <sstream> #include <iostream> #include <…

【PSINS】ZUPT代码解析(PSINS_SINS_ZUPT)|MATLAB

这篇文章写关于PSINS_SINS_ZUPT的相关解析。【值得注意的是】:例程里面给的这个m文件的代码,并没有使用ZUPT的相关技术,只是一个速度观测的EKF 简述程序作用 主要作用是进行基于零速更新(ZUPT)的惯性导航系统(INS)仿真和滤波 什么是ZUPT ZUPT是Zero Velocity Update(…

828华为云征文 | 使用华为云Flexus云服务器X安装搭建crmeb多门店商城教程

&#x1f680;【商城小程序&#xff0c;加速启航&#xff01;华为云Flexus X服务器助力您的业务腾飞】&#x1f680; 1、点击链接进入华为云官网&#xff0c;页面如下&#xff1a; 华为云Flexus云服务器X选购页面 https://www.huaweicloud.com/product/flexus-x.html 2、进…

Uniapp + Vue3 + Vite +Uview + Pinia 实现提交订单以及支付功能(最新附源码保姆级)

Uniapp Vue3 Vite Uview Pinia 实现提交订单以及支付功能&#xff08;最新附源码保姆级&#xff09; 1 效果展示2 提交订单2.1 cart.js2.2 submit-order.vue 3、支付页面order-pay.vue 1 效果展示 2 提交订单 2.1 cart.js // src/pages/store/cart/cart.js import {defineS…