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组件时,发现这个tab组件自带了按键盘左右方向,切换tab的功能,可以通过使用keydown.native.capture.stop去除该事件 <el-tabs v-model"editableTabsValue"type&qu…...
python实验1 猜数字游戏
实验0:猜数字游戏 1. 猜数字游戏 版本12. 猜数字游戏 版本23. 猜数字游戏 版本34. 猜数字游戏 版本4 1. 猜数字游戏 版本1 题目猜数字游戏。在程序中预设一个0-9之间的整数, 让用户通过键盘输入所猜的数, 如果大于预设的数,显示“你猜的数字大于正确答案…...
docker 中给命令起别名
docker 的有些命令特别复杂,我们可以给它设置别名简化输入,就不用每次都输入那么多了!!! 1. 进入 .bashrc 中修改配置( .bashrc 是root下的隐藏文件) cd /rootvim .bashrc2. 在 .bashrc 中加入…...
PHP的yaf框架自带插件
Yaf 框架的插件方法触发流程遵循一定的顺序,具体流程如下 Bootstrap 类的 _initPlugin 方法:在 Yaf 应用程序启动时,首先会执行 Bootstrap 类的 _initPlugin 方法。在这个方法中,你可以注册各种插件。例如: phpCopy …...
SpringCloud Alibaba【三】Gateway
Gateway配置与使用 前言新建gateway子项目pom.xml配置文件启动类访问接口方式 测试拓展 前言 在工作中遇到一种情况,一个父项目中有两个子项目。实际使用时,需要外网可以访问,宝信软件只能将一个端口号发布在外网上,所以需要运用…...
Azure - 机器学习实战:快速训练、部署模型
本文将指导你探索 Azure 机器学习服务的主要功能。在这里,你将学习如何创建、注册并发布模型。此教程旨在让你深入了解 Azure 机器学习的基础知识和常用操作。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验…...
C语言十进制转其它进制
短除法介绍 短除法: 主要功能为将十进制数据转为其它进制的数据,假设我们要转换为 X 进制,那么具体的流程如下: 十进制数字不断除以 X,直到商为 0 记录每次计算得到的余数 将余数倒序输出,即为对应的 X 进…...
网络建设 之 React数据管理
React作为一个用于构建用户界面的JavaScript库,很多人认为React仅仅只是一个UI 库,而不是一个前端框架,因为它在数据管理上是缺失的。在做一个小项目的时候,维护的数据量不多,管理/维护数据用useState/useRef就足够了&…...
如何隐藏woocommerce 后台header,woocommerce-layout__header
如何隐藏woocommerce 后台header,woocommerce-layout__header WooCommerce |Products Store Activity| Inbox| Orders| Stock| Reviews| Notices| breadcrumbs 在 functions.php 里添加如下代码即可: // Disable WooCommerce Header in WordPress Admi…...
通俗易懂的理解 解耦 概念
解耦(Decoupling)是计算机科学和软件工程中的一个概念,指的是降低系统中不同部分之间的依赖性,使系统的各个组件能够相对独立地进行开发、维护和演化。解耦的主要目标是减少组件之间的紧密耦合,以提高系统的灵活性、可…...
全志A40i android7.1 增加Vlan功能
一,VLAN基础知识 1.VLAN的定义: VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从…...
NAT技术与代理服务器
目录 一、NAT与NAPT技术 1.NAT技术 2.NAPT技术 (1)四元组的唯一性 (2)数据的传输过程 (3)NAPT的缺陷 二、代理服务器 1.正向代理和反向代理 2.代理服务器的应用 (1)游戏加…...
关于报错java.util.ConcurrentModificationException: null的源码分析和解决
一般有这种问题,方法中至少会有List或者Map下的至少两个子类,有可能参数类型相同,也有可能不同都有可能触发这个问题!其主要原因是使用了ArrayList进行删除操作或者使用iterator遍历集合的同时对集合进行修改都有可能会出现这个问题 ArrayList属于List下的子类 需要区分的是Li…...
使用koa搭建服务器(一)
最近有个需求需要使用到koa搭建服务器并编写接口对数据库进行增删改查,因此写一篇博客记录这段时间的收获。 一、新建koa项目 (一)安装koa及其相关依赖 npm i koa npm i koa-router// 中间件,用于匹配路由 npm i koa-bodyparse…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
