当前位置: 首页 > news >正文

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

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

相关文章:

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

llm对文本指令非常有用,但是如果我们尝试向模型提供某种文本格式的表格数据和该表格上的问题,LLM更有可能产生不准确的响应。 在这篇文章中,我们将介绍微软发表的一篇研究论文,“Table-GPT: Table- tuning GPT for Diverse Table…...

基于单片机的温湿度和二氧化碳检测系统设计

目录 摘 要... 2 第一章 绪论... 5 1.1 研究课题背景... 5 1.2 国内外发展概况... 7 1.3 课题研究的目的... 8 1.4 课题的研究内容及章节安排... 9 第二章 二氧化碳和温湿度检测系统控制系统的设计方案... 11 2.1 设计任务及要求... 11 2.2 二氧化碳和…...

leetcode做题笔记204. 计数质数

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例 1: 输入:n 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2: 输入:n 0 输出:0示例 3&#…...

MySQL Server 5.5 软件和安装配置教程

MySQL 5.5.58(32/64位)下载链接: 百度网盘:百度网盘 请输入提取码 提取密码:7act 软件简介: MySQL 是由瑞典MySQL AB 公司开发一个关系型数据库管理系统,目前属于 Oracle 旗下产品。MySQL 是最…...

【23种设计模式】依赖倒置原则

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...

C++ 结构简介

假设要存储有关篮球运动员的信息,则可能需要存储他(她)的姓名、工资、身高、体重、平均得 分、命中率、助攻次数等。希望有一种数据格式可以将所有这些信息仔储在一个单元中。数组不能完成 这项任务,因为虽然数组可以存储多个元素,但所有元素的类型必须相同。也就是说,一个数组…...

element的tabs组件使用问题解决

1.去除el-tabs组件自带的键盘切换功能 今天在使用element的tabs组件时&#xff0c;发现这个tab组件自带了按键盘左右方向&#xff0c;切换tab的功能&#xff0c;可以通过使用keydown.native.capture.stop去除该事件 <el-tabs v-model"editableTabsValue"type&qu…...

python实验1 猜数字游戏

实验0&#xff1a;猜数字游戏 1. 猜数字游戏 版本12. 猜数字游戏 版本23. 猜数字游戏 版本34. 猜数字游戏 版本4 1. 猜数字游戏 版本1 题目猜数字游戏。在程序中预设一个0-9之间的整数, 让用户通过键盘输入所猜的数&#xff0c; 如果大于预设的数,显示“你猜的数字大于正确答案…...

docker 中给命令起别名

docker 的有些命令特别复杂&#xff0c;我们可以给它设置别名简化输入&#xff0c;就不用每次都输入那么多了&#xff01;&#xff01;&#xff01; 1. 进入 .bashrc 中修改配置&#xff08; .bashrc 是root下的隐藏文件&#xff09; cd /rootvim .bashrc2. 在 .bashrc 中加入…...

PHP的yaf框架自带插件

Yaf 框架的插件方法触发流程遵循一定的顺序&#xff0c;具体流程如下 Bootstrap 类的 _initPlugin 方法&#xff1a;在 Yaf 应用程序启动时&#xff0c;首先会执行 Bootstrap 类的 _initPlugin 方法。在这个方法中&#xff0c;你可以注册各种插件。例如&#xff1a; phpCopy …...

SpringCloud Alibaba【三】Gateway

Gateway配置与使用 前言新建gateway子项目pom.xml配置文件启动类访问接口方式 测试拓展 前言 在工作中遇到一种情况&#xff0c;一个父项目中有两个子项目。实际使用时&#xff0c;需要外网可以访问&#xff0c;宝信软件只能将一个端口号发布在外网上&#xff0c;所以需要运用…...

Azure - 机器学习实战:快速训练、部署模型

本文将指导你探索 Azure 机器学习服务的主要功能。在这里&#xff0c;你将学习如何创建、注册并发布模型。此教程旨在让你深入了解 Azure 机器学习的基础知识和常用操作。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验…...

C语言十进制转其它进制

短除法介绍 短除法&#xff1a; 主要功能为将十进制数据转为其它进制的数据&#xff0c;假设我们要转换为 X 进制&#xff0c;那么具体的流程如下&#xff1a; 十进制数字不断除以 X&#xff0c;直到商为 0 记录每次计算得到的余数 将余数倒序输出&#xff0c;即为对应的 X 进…...

网络建设 之 React数据管理

React作为一个用于构建用户界面的JavaScript库&#xff0c;很多人认为React仅仅只是一个UI 库&#xff0c;而不是一个前端框架&#xff0c;因为它在数据管理上是缺失的。在做一个小项目的时候&#xff0c;维护的数据量不多&#xff0c;管理/维护数据用useState/useRef就足够了&…...

如何隐藏woocommerce 后台header,woocommerce-layout__header

如何隐藏woocommerce 后台header&#xff0c;woocommerce-layout__header WooCommerce |Products Store Activity| Inbox| Orders| Stock| Reviews| Notices| breadcrumbs 在 functions.php 里添加如下代码即可&#xff1a; // Disable WooCommerce Header in WordPress Admi…...

通俗易懂的理解 解耦 概念

解耦&#xff08;Decoupling&#xff09;是计算机科学和软件工程中的一个概念&#xff0c;指的是降低系统中不同部分之间的依赖性&#xff0c;使系统的各个组件能够相对独立地进行开发、维护和演化。解耦的主要目标是减少组件之间的紧密耦合&#xff0c;以提高系统的灵活性、可…...

全志A40i android7.1 增加Vlan功能

一&#xff0c;VLAN基础知识 1.VLAN的定义&#xff1a; VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信&#xff0c;而VLAN间不能直接通信&#xff0c;从…...

NAT技术与代理服务器

目录 一、NAT与NAPT技术 1.NAT技术 2.NAPT技术 &#xff08;1&#xff09;四元组的唯一性 &#xff08;2&#xff09;数据的传输过程 &#xff08;3&#xff09;NAPT的缺陷 二、代理服务器 1.正向代理和反向代理 2.代理服务器的应用 &#xff08;1&#xff09;游戏加…...

关于报错java.util.ConcurrentModificationException: null的源码分析和解决

一般有这种问题,方法中至少会有List或者Map下的至少两个子类,有可能参数类型相同,也有可能不同都有可能触发这个问题!其主要原因是使用了ArrayList进行删除操作或者使用iterator遍历集合的同时对集合进行修改都有可能会出现这个问题 ArrayList属于List下的子类 需要区分的是Li…...

使用koa搭建服务器(一)

最近有个需求需要使用到koa搭建服务器并编写接口对数据库进行增删改查&#xff0c;因此写一篇博客记录这段时间的收获。 一、新建koa项目 &#xff08;一&#xff09;安装koa及其相关依赖 npm i koa npm i koa-router// 中间件&#xff0c;用于匹配路由 npm i koa-bodyparse…...

Spring Boot + MyBatis服务启动流程,新增代码跑通流程,映射规则,常见问题定位

一、服务启动流程 零代码&#xff08;仅需配置文件和依赖&#xff09;。 顺序固定&#xff0c;由框架保证。 一旦某个步骤失败&#xff08;如 XML 解析错误&#xff09;&#xff0c;整个启动失败。 二、新增代码跑通流程 全手动&#xff0c;需熟悉 MyBatis 映射规则、Spring…...

STM32F4网口实战:用CubeMX+LwIP+LAN8720A实现DHCP自动获取IP(附完整代码)

STM32F4以太网开发实战&#xff1a;基于CubeMX与LwIP的DHCP自动组网方案 当我们需要为嵌入式设备添加网络连接功能时&#xff0c;以太网接口往往是最可靠的选择之一。STM32F4系列微控制器内置了以太网MAC控制器&#xff0c;配合外部的PHY芯片如LAN8720A&#xff0c;可以快速构建…...

关于fiddler报错“The system proxy was changed. click to reenable capturing”的解决办法

背景&#xff1a;第一次下载安装fiddler&#xff0c;安装过程没有任何问题&#xff0c;但启动即报错 参考了很多帖子&#xff0c;一个一个排查后&#xff0c;发现是sslvpn的问题&#xff08;因为访问校园网需要安装了 EasyConnect 深信服SSLVPN客户端&#xff09;&#xff0c;把…...

【AI面试八股文 Vol.3.5:推理幻觉规模定律】CoT、幻觉与 Scaling Law:为什么模型会推理,也会一本正经胡说

摘要&#xff1a;这篇会把 CoT、幻觉和 Scaling Law 放到同一条工程主线上&#xff1a;CoT 不是教模型思考&#xff0c;而是触发模型把隐式路径显式写出来&#xff1b;幻觉不是单一 bug&#xff0c;而是训练知识边界、解码策略和指令跟随压力叠加后的结果&#xff1b;Scaling L…...

昇腾CANN的算子“零件厂“:catlass仓库到底在生产什么

如果把昇腾NPU上的大模型算子比作一辆汽车&#xff0c;FlashAttention是发动机&#xff0c;RMSNorm是刹车片&#xff0c;RoPE是方向盘——那catlass是什么&#xff1f;是生产这些零件的模具和机床。 第一次接触昇腾CANN生态的时候&#xff0c;很容易忽略catlass。它不像ops-tr…...

【Gartner认证实践框架】:AI Agent客服上线前必须完成的12项合规性验证清单(含GDPR/等保2.0/金融信创适配)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent客服的合规性验证战略定位 在金融、医疗、电信等强监管行业&#xff0c;AI Agent客服系统不仅需满足功能与体验目标&#xff0c;更须将合规性嵌入其设计、开发与运营全生命周期。合规性验证不是…...

机器学习核函数原理与实战选型指南

1. 什么是机器学习中的核函数&#xff1f;它到底在解决什么问题&#xff1f;“Types of Kernels in Machine Learning”这个标题看起来像教科书目录里的一节&#xff0c;但如果你真在项目里调过SVM(kernelrbf)、用过sklearn.metrics.pairwise.rbf_kernel、或者被kernel trick这…...

显卡驱动清理终极指南:DDU完整教程与深度解析

显卡驱动清理终极指南&#xff1a;DDU完整教程与深度解析 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 显卡…...

手把手教你为RV1126调试Sony IMX585:从设备树到驱动移植的完整避坑指南

RV1126平台Sony IMX585传感器移植实战&#xff1a;从设备树到图像调优的全流程解析 当拿到一块搭载RV1126芯片的开发板和Sony IMX585传感器模组时&#xff0c;如何快速完成从硬件对接到图像输出的完整流程&#xff1f;本文将深入剖析每个关键环节的技术细节与实战经验&#xf…...

3大技术革命:openpilot如何重新定义自动驾驶开源生态

3大技术革命&#xff1a;openpilot如何重新定义自动驾驶开源生态 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending…...