Table-GPT:让大语言模型理解表格数据

news2024/11/14 14:01:58

llm对文本指令非常有用,但是如果我们尝试向模型提供某种文本格式的表格数据和该表格上的问题,LLM更有可能产生不准确的响应。

在这篇文章中,我们将介绍微软发表的一篇研究论文,“Table-GPT: Table- tuning GPT for Diverse Table Tasks”,研究人员介绍了Table-GPT,一种针对该问题的GPT模型,可以更好地理解输入中的表并产生准确的响应。我们将解释这篇论文,以了解如何创建Table-GPT,以及与其他大型语言模型相比它的性能如何。

目前的LLM能理解表吗?

让我们从目前的大型语言模型是否能够理表的问题开始。大型语言模型大多是在来自网络或书籍的自然语言文本和代码上进行预训练的。表格数据不同于自然语言文本和代码,因此llm可能无法可靠地读取表格。一个主要的区别是文本和代码是一维的,而表格是二维的。对于表格,为了能够回答某些类型的问题,能够垂直阅读是很重要的。

例如下面的问题:

缺失值识别

在上述示例中,我们可以看到用于查找表中缺少值的行和列的指令。第2行中“art”列的值缺失,但是经过测试的语言模型能够得到行,但列是错误的。这样的例子意味着模型更擅长水平推理而不是垂直推理。实际上,当在1000个样本上评估ChatGPT时,ChatGPT提供了92.3%的正确行号和42.2%的正确列。研究人员将这项任务称为“missing-value identification”。

针对列的过滤

在列过滤任务中可以看到(这里的指令是查找哪个列有某个值)“art”的回答是不准确的,因为它应该是“music”。ChatGPT能够在69.9%的情况下为该任务获得正确的列。

表格问题解答

针对更复杂表格问答任务(根据表格提出问题)。有多少二年级学生的美术成绩超过90分,可以看到模型的回答是2,而Jennifer的分数是94,James的分数缺失,所以答案应该是1。ChatGPT仅在51.2%的情况下为该任务提供了正确的结果。

以上任务可以看到,针对于表格的理解,目前的LLM还存在缺失

表调优

所以研究人员需要找到如何创建一个在这些表格任务上做得更好的模型,于是就发明了一种他们称之为表调优(Table-tuning)的新方法。这种方法受到指令调优的启发,指令调优在大型语言模型中被证明是成功的。

表调优可以在预训练的LLM上运行,也可以在指令调优的LLM上运行,如果我们在表指令数据集上微调模型。数据集中的每个样本都是一个带有指令、表和响应的三元组,类似于我们前面看到的示例。

左侧指令调优,大型语言模型在指令和响应元组上进行训练,在这里称为补全,以创建聊天专家语言模型,如ChatGPT。在右边表调优,其中使用指令、表和响应的三元组进一步训练大型语言模型(如GPT)或指令调优模型(如ChatGPT),以便创建模型的表调优版本。

创建数据集:合成增强

用于表调优的数据集是如何创建的呢?研究人员将他们创建数据集的方法称为“合成-增强”。我们首先注意到,现有标记数据的多样性有限。所以目标是创建一个多样化的足够大的标记数据集,但不需要昂贵的人工标记。从大量真实的表开始,没有说明或标签,其中290万张表来自维基百科,18.8万多张是数据库表。

第一步是合成,生成标记表指令的数据集。在每个合成步骤中,从一组支持的任务中采样一个真实的表和一个任务,创建(指令、表、响应)的新样本。生成的示例中的表不一定与输入表相同。在前面已经看到的示例中,我们对数据输入任务进行采样,其中模型需要填充缺失的值。我们对一个表进行采样,并用[TO-FILL]标记随机替换一个单元格,并使用原始单元格值作为标签。对于指令可以手工制作它们,并在具有不同表的相同任务的其他示例中重用它们。

另一个例子是查找列,其中要求确定哪个列包含某个值。对于一个采样表,可以检测到在表中只出现一次的值,并自动生成查找该值的指令,在本例中为“93”。我们使用值的列作为标签,比如是“music”。

研究人员还为其他各种任务合成了数据,比如错误检测,其中一个错别字被自动注入到随机单元格中,原始单元格的值被用作标签。另一种是表摘要,其中使用维基百科表的标题作为标签。我们可以从论文的下表中看到不同任务的总结。

第二步是增强阶段

在合成步骤之后,就已经有了一个多样化的表指令数据集,为了创建更多样化的数据集,论文使用了三种类型的增强。

指令级增强——指令在同一任务的不同实例之间共享。例如,如果要求模型总结一个表,指令可以对不同的表保持相同。为了避免过度拟合并创建更多样化的样本,研究人员使用llm来解释手工制作的指令。

表级增强——通过改变表本身来创建更多的样本,但不改变表的语义。通过重新排序列或行来实现这一点,这基本上不会影响表的语义。

标签级\响应级增强-通过提供具有正确答案的LLM来创建额外的样本,并要求它为答案添加推理。

结果

8种任务类型的结果,绿色条形图是ChatGPT,橙色条形图是表调优版本。通过表调优,可以清楚地看到大多数任务的改进。值得注意的是错误检测,其中表调优版本的零样本性能得到了显着提高。底部的4个图表是表调优模型没有训练的任务,但它仍然能够在ChatGPT之上提高性能。

GPT 3.5 vs表调优

上图中可以再次看到类似的趋势,GPT 3.5是蓝色的,而表调优版本是红色的。它也获得了更好的性能,并且能够很好地泛化我们在底部的4个图表中看到的未知任务。

最后论文地址:

https://avoid.overfit.cn/post/8a9a2b67a9074b85a17a2986a58fc16f

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

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

相关文章

虹科 | 解决方案 | 汽车示波器 远程诊断方案

车厂总部专家实时指导你修车 当一线汽修技师遇到疑难问题无从下手时,可以准备好pico汽车示波器套装,并戴上我们的M400智能AR眼镜,通过语音操作,呼叫主机厂的技术支持老师;老师通过AR眼镜上的摄像头老师可以实时看到现…

Python数据挖掘:入门、进阶与实用案例分析——基于非侵入式负荷检测与分解的电力数据挖掘

文章目录 摘要01 案例背景02 分析目标03 分析过程04 数据准备05 属性构造06 模型训练07 性能度量08 推荐阅读赠书活动 摘要 本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功率等情况,分析各电力设备的实际用电量,进而为电…

财务RPA机器人真的能提高效率吗?

财务部门作为一个公司的管理职能部门承担着一个公司在商业活动中各个方面的重要职责。理论上来说,一个公司的财务部门的实际工作包含但不限于对企业的盈亏情况进行评估、对风险进行预测、通过数据分析把握好公司的财务状况、税务管理等。 然而,实际上在…

分析主题帆软决策报表控件实现点击查询按钮后才能查询

点击「我的分析」即进入分析主题的管理界面,如下图所示: 2.1.1 分析列表区域 「分析列表」存放着当前用户创建的和其他用户协作给该用户的所有分析主题。 可以对分析列表和分析主题进行管理,详情参见:管理我的分析、管理分析主…

oa系统是什么?有哪些功能和作用?

本文将为大家讲解:1、oa系统是什么?有哪些功能和作用? 一、什么是OA系统 OA系统全称为Office Automation,即办公自动化系统。它是一种专门为企业和机构的日常办公工作提供服务的综合性软件平台,具有信息管理、流程管…

微信小程序实现文章内容详情

方案一、使用微信小程序官方提供的webview 前提已经在微信公众平台开发管理配置好了安全域名即: 方案二、把网页转成pdf直接展示 前提已经在微信公众平台开发管理配置好了安全域名即: 实现思路是发起网络请求拿到pdf下载地址,然后wx.download…

Linux (KDE) 中使用Network Settings设置静态ip

在 Linux (KDE) 中使用 Network Settings 设置s5静态IP详细教程 。 首先,打开 KDE 的设置面板。可以通过点击桌面上的设置图标,或者在开始菜单中搜索 “Settings” 并打开。 在设置面板中,点击 “Network” 选项。 接下来,你会看…

AD20生产Gerber文件

1、打开所要导出文件的PCB文件。并选择制造输出Gerber文件。 2、选择单位和格式 3、设置需要输出的图层 点击确定后,就可以生成Gerber文件。如下图所示。 4、生成钻孔文件 5,选择PCB窗口,跟第一步一样; 6,点击菜单 文…

讲座记录|1024学科周讲座分享

前言:2023年10月24日,我参加了学院举办的学科周活动,本篇文章记录一下参加本次活动的收获。 本次活动中,我主要参加了黄萱菁教授和高跃教授的讲座以及几位老师的Panel环节,然后聆听了网络空间安全分论坛的报告。在本次…

MySQL进阶(再论事务)——什么是事务 事务的隔离级别 结合MySQL案例详细分析

前言 MySQL最为最流行的开源数据库,其重要性不言而喻,也是大多数程序员接触的第一款数据库,深入认识和理解MySQL也比较重要。 本篇博客阐述MySQL的事务的定义和特性,原子性,一致性,隔离性,持久…

在 Windows 用 Chrome System Settings 设置代理

在 Windows 用 Chrome System Settings 设置代理 贴心提示:在设置代理之前,请确保您已经安装了 浏览器。 🔧 设置代理的详细步骤如下: 打开 浏览器,输入 //settings/system 并回车。 在「系统和网络设置」页面中&am…

突然发现柚子租车v1.42的小程序后端代码竟然内核文件全加密了!记录我的解密过程

因客户需求,需要定制租车小程序源码,找了很多要么很贵要么功能不满足需求,为啥这么折腾?还不是因为客户给的资金有限! 翻来覆去找到了柚子租车这个小程序功能各方面都能满足需求,然后我就尝试找最新版&…

Find My眼镜|苹果Find My技术与眼镜结合,智能防丢,全球定位

近年来,得益于国家政策的大力支持和技术的不断进步,眼镜产品的发展取得了长足的进步,正朝着高质量、多元化方向迈进。在这个趋势下,眼镜的功能性、时尚性、舒适性等方面都有了明显的提升,同时为了满足不同年龄段消费者…

[黑马程序员SpringBoot2]——基础篇2

目录: 模块创建实体类快速开发(lombok)数据层标准开发(基础CRUD)开启MP运行日志分页数据层标准开发(条件查询)业务层标准开发(基础CRUD)业务层标准开发(基于MyBatisPlus构建)表现层标准开发表现层数据一致性处理(R对象…

阿里云企业邮箱基于Spring Boot快速实现发送邮件功能

邮件在项目中经常会被用到,比如用邮件发送通知。比如,通过邮件注册、认证、找回密码、系统报警通知、报表信息等。本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能。 邮件协议 下面先简单了解一下常见的邮件协议。常用的电子邮件协议有SMTP、…

xxl-job项目集成实战,全自动项目集成,可以直接使用到项目中

如果你看官方文档,在研究透,至少也得几天时间,如果你直接看我的文档,快速用到项目中,也就10分钟就搞好了。 xxl-job功能确实很强大,而且使用的人比较多,既然在使用xxl-job,那肯定是…

成为CSS选择器大师,让你的网页瞬间提升品味!

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、选…

【SpringCoud】

1,启动各个服务: 2,访问以下地址: http://localhost:5001/product/purchase/1/1/1000 浏览器输出: 控制台输出: 这里随机调用的端口号使用了轮询的方式 从服务治理中心拉去一份服务实例清单,然后通过某种负载均衡的算法选择具体的实例 Product核心逻辑代码: @RestController…

新生儿黄疸:原因、科普和注意事项

引言: 新生儿黄疸是许多新生儿面临的常见情况。虽然它通常是一种暂时的现象,但对于许多父母来说,这可能引发担忧。本文将科普新生儿黄疸的原因,提供相关信息,并为父母和监护人提供注意事项,以帮助他们更好…

如何在 SwiftUI 中创建悬浮操作按钮

文章目录 前言创建悬浮操作按钮悬浮按钮出现在屏幕的最前方悬浮按钮位于屏幕的右下角使悬浮按钮呈现圆形添加阴影总结 前言 悬浮操作按钮(Floating Action Button, FAB)是一种在 Android 和 Material Design 中使用的 UI 元素。它用于触发特定屏幕的主要…