微信扫码
与创始人交个朋友
我要投稿
摘要
表格,通常是二维结构化的,用于存储大量数据,在数据库查询、电子表格计算和从网页表格生成报告等日常活动中至关重要。利用大型语言模型(LLMs)自动化这些以表格为中心的任务,为公众带来了显著的好处,引起了学术界和工业界的关注。本调查提供了一个广泛的表格任务概述,不仅包括传统的领域,如表格问答(Table QA)和事实验证,还包括新强调的方面,如表格操作和高级表格数据分析。此外,它超越了早期的预训练和微调小型语言模型的策略,包括了LLM使用的最新范式。这里的重点特别放在指令微调、提示和基于大模型的方法在LLM领域内。最后,我们强调了几个挑战,从私人部署和高效推理到为表格操作和高级数据分析开发广泛的基准测试。
1 引言
在这个数据驱动的时代,大量的数据以表格形式结构化和存储[Dong等,2022]。涉及表格的日常任务,如数据库查询、电子表格计算或从网页表格生成报告,在我们的日常生活中很常见。虽然其中一些任务是繁琐且容易出错的,其他一些则需要专业技能,应该简化以便于更广泛的访问。与表格相关的任务自动化为公众带来了显著的好处,因此,它吸引了学术界和工业界的极大兴趣[Badaro等,2023]。
最近,大型语言模型(LLMs)展示了它们在多样化任务中的有效性和灵活性,标志着AI研究的显著进步[Zhao等,2023a]。这种在广泛的自然语言处理应用中的成功激发了研究人员探索LLMs在表格任务中的使用。然而,表格的性质与LLMs预训练期间常用的纯文本截然不同。
表格与自然语言语料库[Raffel等,2020]不同,具有独特的特征。
• 结构化数据:表格本质上是结构化的,由行和列组成,每个都有其自己的模式,概述数据的语义及其相互关系。人类可以毫不费力地垂直和水平地解释表格,但主要用顺序文本数据训练的LLMs在理解表格的多维方面存在困难。
• 复杂推理:表格处理任务通常需要数值运算(如比较或聚合)、数据准备(例如,列类型注释和缺失值检测)以及更复杂的分析(包括特征工程和可视化)。
这些任务要求复杂的推理,将问题分解为多个步骤的能力以及逻辑操作,从而对机器智能提出了重大挑战。
• 利用外部工具:在现实世界场景中,人类通常依赖于如Microsoft Excel、Python或SQL等专业工具与表格交互。为了有效的表格处理,LLMs需要熟练地集成和使用这些外部工具。
表格处理任务所呈现的独特挑战强调了为这些特定目的定制LLMs的必要性。早期的研究,如TaBERT [Yin等,2020]、TaPas [Herzig等,2020]、TURL [Deng等,2020]和TaPEx [Liu等,2022],遵循了预训练或微调表格神经语言模型的范式。这些方法适应了模型架构,包括位置嵌入、注意力机制和预训练任务的学习目标。虽然这些方法取得了良好的结果,但它们主要限于特定的表格任务,如表格问答(Table QA)和事实验证。此外,它们使用的BERT或BART模型不够大或不够多样化,无法处理更广泛的表格任务。基于LLM的最新方法以三种主要方式解决表格任务:
(1) 策划一个指令微调数据集,并微调一个可以处理各种下游任务的“表格基础模型”[Zhang等,2023a; Li等,2023d];
(2) 通过利用LLM的强大推理能力来理解表格数据,提示LLM[Sui等,2024];
(3) 构建一个可以调用外部工具的LLM驱动大模型[Hu等,2024; Li等,2023b]。这些新方法利用了LLM特定的技术,如指令微调[Wei等,2022a]、上下文学习[Brown等,2020]、思维链推理[Wei等,2022b]和自主大模型的开发[Wang等,2023a],展示了一种更多样化和全面的方法来处理表格。
本调查的主要贡献是其广泛的覆盖范围,包括最近提出的表格操作和高级数据分析。此外,它根据LLM使用的最新范式对方法进行分类,特别关注指令微调、提示和LLM驱动的大模型方法。我们收集了资源,如论文、代码和数据集,可以在https://github.com/godaai/llm-table-survey上访问。
与相关调查的比较。早期的调查,如Dong等[Dong等,2022]和Badaro等[Badaro等,2023],主要集中在使用像BERT [Herzig等,2020; Yin等,2020]或BART [Liu等,2022]这样的较小模型进行预训练或微调技术。然而,它们没有涉及基于LLM的方法,特别是那些涉及提示策略和基于大模型的方法。此外,一些调查限于表格任务的特定子集。例如,Jin等[Jin等,2022]只关注tableQA,而Qin等[Qin等,2022]专注于文本到SQL的转换,忽略了如表格操作和高级数据分析等任务。
2 表格任务和基准测试
表格是几乎每个领域组织和操作知识和信息的普遍数据结构。我们简要总结了表格任务和基准测试。
2.1 表格定义
在本文中,我们主要关注结构化表格,它们是按行和列排列的单元格网格[Zhang和Balog,2020]。表格中的每个列都表示一个特定属性,每个属性都有自己的数据类型(例如,数字、字符串或日期),每一行形成一个记录,填充有多样的属性值。一个单元格是行和列的交叉点。单元格是存储文本、数值、公式等的基本单元[Dong等,2022]。二维结构赋予数据一个模式,包括列名、数据类型、约束和与其他表格的相关关系。表格主要以以下形式存储和呈现:
• 电子表格(SS)。电子表格被全球十分之一的人口使用[Rahman等,2020]。Microsoft Excel是最受欢迎的基于桌面的电子表格软件。
Excel有自己的文件格式(xlsx),配备了内置公式、数据可视化,甚至允许表格编程(Visual Basic for Applications,VBA)。
• 网页表格(WT)。网络托管了大量表格,为不同目的创建,包含有价值的信息。这些表格以不同的格式存在,从网页内的HTML表格到markdown、JSON和XML文件。网页表格在应用中证明是有益的,例如列类型注释或实体链接[Zhang和Balog,2020]。
• 数据库(DB)。数据库中的表格高度结构化。每个数据库表在创建时都明确定义了模式。表格之间的关联通过外键定义[Li等,2023a]。与电子表格和网页表格相比,与数据库表的交互需要使用编程语言或SQL。
因此,数据库表主要针对具有编程经验的个人。
2.2 表格和文本之间的区别
许多AI方法将文本建模技术迁移到表格上。因此,我们应该考虑表格和文本之间的区别。[Li等,2023d]概述了它们之间的主要区别。文本是(1)单向的;(2)通常从左到右阅读;(3)两个标记的交换通常会改变句子的含义。另一方面,表格是(1)二维的,需要水平和垂直阅读;(2)它们的理解严重依赖于模式或标题名称;(3)它们不受行和列排列的影响。
2.3 表格任务
分类
表1展示了我们对表格任务的分类。表格问答和事实验证是最传统的表格任务。我们将它们归为一个组,因为它们都涉及从表格中提取知识以回答问题。表格到文本根据表格数据生成描述。表格操作修改或更新表格,例如添加或删除行,通过求和其他列来创建新列等。表格解释任务旨在通过推断列和行的语义来理解表格的结构和内容。表格增强涉及填充行、列名或单元格。文本到SQL将NL问题转换为机器可理解的逻辑形式,即SQL。高级数据分析指的是需要复杂推理或创造力的高级任务,如特征工程或数据可视化。
最终用户的视角
研究人员通常只关注设计新方法来提高基准测试的性能。然而,最终用户主要感兴趣的是表格相关的AI系统如何提高他们的生产力,而不是基准测试的具体细节。最终用户的需求根据他们的角色而异;普通用户通常需要表格查询和操作能力,而数据工程师寻求表格数据准备和高级分析工具。
表格查询和操作
指的是表1中的前三个类别(即,表格QA、表格到文本、操作)。这个家族涉及查询表格,或通过NL生成文本描述,或通过电子表格管理表格。大多数用户可以在没有编程技能的情况下执行这些操作。AI系统应该使个人能够通过NL问题或指令处理表格。
表格数据处理
指的是表1中的解释和增强任务。这些任务通常由数据工程师在数据准备阶段执行。
高级表格分析指的是表1中的文本到SQL和高级数据分析任务。这些任务适用于寻求AI辅助以帮助代码补全和提高生产力的数据工程师。
输入和输出
在表1中,我们整理了与表格任务相关的常用数据集和基准测试。这些任务通常涉及两种类型的输入:知识输入,反映输入表格的格式,以及用户输入,包括用户的问题或指令。注释输入和输出有助于工程师和产品经理更好地理解这些表格任务,促进更有效的系统功能设计。
2.4 基准测试和评估方法
(表2:不同基准的评估指标。我们使用的缩写如下。EX:执行准确度,VES:有效效率得分,EM:精确匹配,ABP:按问题准确度,APSQ:按子问题比例准确度,AUSQ:子问题均匀准确度,P:精确度,R:召回率。)
传统的基准测试,如WikiTQ、WikiSQL和Spider,已经被广泛使用和研究。我们在这里不会详细阐述这些,而是专注于新的基准测试。表2展示了最近提出的数据集和基准测试,以及它们的来源、大小和指标。我们总结这些新基准测试的特点如下:
• 鲁棒性。对于大多数表格任务(例如表格QA),交换行和列,或用同义词或缩写替换列名,不应影响最终结果。对于一个大型表格(无法适应LLM的上下文),所需单元格的位置,无论是在表格的开头、结尾还是中间,都不应影响查询结果。为了评估鲁棒性,提出了Dr. Spider[Chang等,2023]、RobuT[Zhao等,2023b]和Observatory [Cong等,2023]。RobuT和Observatory揭示了当引入扰动时,所有表格方法的性能都会下降,但闭源LLMs(例如,GPT-3)表现出更大的鲁棒性。
• 人工参与标注。一些新的基准测试,针对高级数据分析任务,在数据生产过程中需要大量的手动标注。最近,研究人员开始使用AI自动化复杂的数据分析任务,例如使用Python绘制图表或操作电子表格。DS-1000 [Lai等,2023]和InfiAgent-DABench [Hu等,2024]旨在评估高级数据分析任务。它们从互联网收集数据,并自动或半自动地进行标注。DS-1000从StackOverflow收集问题,手动评估其有用性,并策划其中一些问题形成基准测试。作者通过提供输入和输出上下文到测试用例,重写问题以防止数据被LLMs学习和记忆,并实现多标准可执行文件,手动调整原始问题。InfiAgent-DABench邀请人类专家评估数据集质量,并通过多个指标比较人工制作和GPT-4生成的数据分析问题。
• 更大规模。AnaMeta [He等,2023]是一个大规模的表格元数据集,GitTables [Hulsebos等,2023]从GitHub下载数百万CSV表格并与知识库对齐。这两个数据集可以评估AI系统是否能理解表格模式并完成列类型注释等基准任务。
评估指标
我们在表2中列出了每个基准测试的评估指标。
一些基准测试采用了或改进了经典评估方法。例如,DS-1000采用了Pass@K,这是代码生成任务中常用的度量。一些新的基准测试设计了它们自己的指标。例如,InfiAgent-DABench引入了按问题准确度(ABQ)和按子问题比例准确度(APSQ)。
如果所有问题和子问题都成功完成,这两个值都将是1。
许多表格任务有多个标准答案。
一些评估管道尚不能评估不同解决方案的准确性。例如,评估电子表格操作的SheetCopilot只能大致验证列名的正确性,而无法检查单元格内容。
3 表格LLM的分类
为了总结表格任务的现有方法,我们提出了一个基于图1中两个维度的分类。第一个维度是方法是否基于训练或提示。第二个维度是结果是否仅从模型参数获得,还是依赖于智能体。有了这样的二维分类,图1包括四个象限:提示、训练、提示+智能体和训练+智能体。
左上象限包括直接提示LLMs的方法,无需外部工具。例如,提示GPT [Brown等,2020]或Codex [Chen等,2021a]属于这一类。我们在第4节中更深入地研究了基于训练的方法,在第5节中研究了表格任务的提示技术,在第6节中研究了LLM驱动的智能体。
4 表格LLMs训练
研究人员提出了各种表格LMs(TaLMs),希望这些模型在处理表格特性的同时,保留其理解文本的能力。这些方法可以分为三种类型:(1)调整语言模型进行任务特定的微调,(2)指令调整。(3)检索增强。
4.1 任务特定微调
任务特定微调方法修改模型结构、编码方法和训练目标,以适应表格任务。例如,TaPas [Herzig等,2020]扩展了BERT [Devlin等,2019]的模型架构和掩码语言建模目标,以对表格和相关文本段落进行预训练和微调。TaBERT [Yin等,2020]编码了与输入话语最相关的表格内容的一个子集,并采用了垂直注意力机制。TURL [Deng等,2020]将表格组件(例如,标题、标题和单元格)的信息编码到单独的输入嵌入中,并将其融合在一起。TABBIE [Iida等,2021]修改了训练目标以检测损坏的单元格。TaPEx [Liu等,2022]学习了一个合成语料库,该语料库是通过自动合成可执行的SQL查询并执行这些SQL获得的。RESDSQL [Li等,2023a]在训练期间将最相关的模式项注入模型,并在推理期间对模式项进行排名以找到最优项。
任务相关性。这些方法更与任务相关,因为它们最初是针对特定目标进行预训练/微调的。
它们的方法的基础模型相对较小,无法适应各种下游任务,这些方法在微调期间需要注释数据。
4.2 指令调整
与在单一数据集上微调不同,指令调整是指在多个数据集的集合上微调语言模型。它可以显著提高在未见过的任务上的表现,并提供更高的灵活性[Wei等,2022a]。受此特性的启发,有两种类型的指令调整工作。第一种类型的研究侧重于LLMs对表格的理解,能够处理各种表格任务,如表格QA、表格到文本和解释。这种类型的研究使用通用基础LLMs(如GPT)和大量的表格相关数据进行指令调整。例如UnifiedSKG[Xie等,2022]、TableLlama[Zhang等,2023a]和Table-GPT[Li等,2023d]。这种方法被称为“表格指令调整”。第二种类型的研究,从代码生成的角度考虑,将需要生成代码的任务,如文本到SQL和高级数据分析,视为代码生成的子领域。因此,这种类型的研究选择在专门为编程设计的LLMs上进行指令调整,如CodeLlama [Roziere `等,2023]。例如Magicoder [Wei等,2023]、Lemur [Xu等,2024]和DAAgent [Hu等,2024]。我们称这些为“代码指令调整”。正如以前的研究[Wei等,2022a]所示,数据质量对指令调整至关重要;对于表格任务,核心是如何构建高质量的数据集。
表格指令调整。这种类型的研究通过利用多个现有的表格相关数据集构建指令调整数据集,然后在LLMs上对这些数据集进行微调。它们的数据集实例以(指令、表格、完成)三元组的形式出现。每个三元组包括“指令”指定任务,“表格”呈现元数据和内容,“完成”以自然语言输出,如表格QA答案、表格到文本转换的文本以及操作后的结果表格,或文本和表格的混合,使模型能够执行任务。为了构建高质量的数据,Table-GPT采用了先合成后增强的方法进行数据集构建。具体来说,数据集是使用从表格QA到增强的18种合成过程创建的。一个例子是指导模型交换行或列,完成是交换后的表格,使模型能够理解行/列的顺序。TableLlama和UnifiedSKG使用来自各种现有数据集的真实数据,如WikiTQ或Spider,而不是合成数据。这些论文表明,经过表格指令调整后,LLMs可以表现出强大的泛化能力,处理未见过的表格任务。
代码指令调整。这种类型的研究涉及构建代码数据集并对模型进行指令调整。
Magicoder首先收集开源代码片段,并使用它们作为种子来提示LLM生成编码问题和解决方案。DAAgent是一系列专注于数据分析的专业智能体模型。它们的指令调整数据集是通过从GitHub爬取CSV并基于这些CSV生成数据分析问题和解决方案来制作的。
作者认为,LLM驱动的智能体依赖于后端模型来掌握通用能力(例如,推理和规划),这些能力可以通过NL文本学习,并且还能保证编程技能的落地,这些应该从代码中学习。因此,他们构建了一个代码到文本比例为10:1的语料库来训练模型。
这些研究表明,使用代码指令调整模型可以提高编程技能并增强数据分析协作。
4.3 检索增强调整
像DPR [Karpukhin等,2020]为开放域QA所做的那样,检索增强表格管道由两个神经组件组成:检索器,它从所有表格候选池中选择一个小的子集,以及阅读器,它通过分析每个表格候选来生成答案。
两个组件都是微调编码器,将项目(例如,QA问题和表格内容)编码到嵌入中。
两个研究示例是ITR [Lin等,2023a]和LIRAGE [Lin等,2023b];它们将大型表格分解为子表格,并联合训练检索器和阅读器。DB-GPT [Xue等,2023]是一个工业产品,支持各种功能,如检索增强生成、微调和智能体。
4.4 总结和讨论
基于训练的方法提供了很好的控制,允许企业进行私人训练和部署,而不会向第三方模型服务提供商泄露数据。
可转移性。在LLMs出现之前,任务特定微调方法主要涉及在像BERT或BART这样的模型上进行预训练/微调。LLMs和指令调整的成功暴露了原始任务特定微调方法的缺点。这些特定任务模型必须设计特定的神经模型,并依赖于注释数据。因此,这些方法显示出较差的可转移性。
成本和准确性。在LLMs上进行表格指令调整取得了不错的结果,并显示出更多的泛化能力,但两个问题不能被忽视:成本和准确性。预训练或微调大型模型的成本是巨大的。即使是微调一个7B模型也需要八个80GB GPU,这是不是所有机构都能负担得起的成本。此外,指令调整方法的准确性并不总是最优的,与提示闭源LLMs相比。例如,在某些任务上,7B TableLlama无法超越任务特定微调模型。在数据分析任务上,像Lemur和DAAgent这样的指令调整模型无法超越GPT-4。TableGPT继续在GPT-3.5上训练,并在所有与表格相关的任务上取得了比GPT-3.5和ChatGPT更好的结果。
然而,对于希望私人部署的普通企业用户来说,训练成本高得令人望而却步。关于训练数据,手动注释的成本也很高。
尽管合成是一个便宜的选择,但数据质量是另一个问题。更普遍的方法是使用GPT作为数据注释的教师模型。显然,GPT是性能上限。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-04-11
2024-08-21
2024-07-09
2024-07-18
2024-08-13
2024-10-25
2024-07-01
2024-06-17