CHAIN-OF-TABLE: EVOLVING TABLES IN THE REASONING CHAIN FOR TABLE UNDERSTANDING
表链:在表理解的推理链中进化表
2024年在ICLR会议上发表的。
目录
介绍
论文提出的表链增强了大型语言模型的推理能力:利用表格结构来表达基于表格推理的中间思维。它指导大语言模型根据输入的表格及相关问题动态计划一个操作链。
image-20240622135434495
另一方面,表上的推理通常涉及一系列中间推理步骤,每个步骤都与特定的表操作保持一致。我们提出chain - of - table,其中我们将逐步推理作为逐步的表格操作来形成表链。链中的表是通过表格操作转换后的表,表示中间推理结果。
具体来说,我们定义了一组表操作,如添加列、选择行、分组等,这些都是SQL和DataFrame开发中常用的操作。然后我们通过LLM进行一步一步的推理。在每一步中,LLM动态地生成一个操作,作为下一步操作及其所需的参数,然后我们以编程方式在表上执行该操作。此操作既可以通过添加详细的中间结果来丰富表,也可以通过删除不相关信息来压缩表。直观地说,可视化中间结果对于获得正确的预测是必不可少的。我们将转换后的表反馈给下一步。这个迭代过程一直持续,直到达到一个结束状态。我们认为,在推理步骤中获得的表格比自由格式的文本更好地结构化了中间思想的表示。
我们将思维链的概念扩展到表格设置,在这里我们将输入表转换为存储中间结果。这种带有表演化的多步骤表推理方法可以更准确地理解表。
相关研究
表格在组织、存储和分析信息方面非常有效。为了提高语言模型(LMs)对表格理解的能力,研究人员进行了多种微调。以下是一些方法和模型:
表微调
- TaPas (Herzig et al., 2020):采用BERT的掩码语言建模(MLM)方法,在预训练期间要求模型重构表中的某些单元格。(故意隐藏表格中的整个列或某一段数据,并要求模型根据上下文信息推测和填补被隐藏的部分。这种方法有助于模型学习如何从部分数据中推断出完整的信息,从而增强其对表格结构和内容的理解。)
- Pasta (Gu et al., 2022) 和 TUTA (Wang et al., 2021):进一步提出在表格中掩码整列或整段。
- TAPEX (Liu et al., 2021):通过大型合成SQL数据集预训练一个编码器-解码器模型,使其能够更好地理解表格结构,作为SQL执行器。
- Eisenschlos et al. (2020) 和 Jiang et al. (2022):利用合成的SQL,并考虑SQL和自然语言问题之间的对齐,通过预训练模型使用自然和合成数据。
大型语言模型(LLMs)
大型语言模型(LLMs)可以通过上下文学习从少量样本中学习。这种策略广泛用于为模型提供额外指示,以更好地解决下游任务。
- Chain-of-Thought (CoT) (Wei et al., 2022):提出在回答之前生成推理步骤,而不是直接生成端到端答案。
- Least-to-Most (Zhou et al., 2022) 和 DecomP (Khot et al., 2022):提出在推理链中将问题分解成子问题。后续步骤意识到前面的步骤,通过利用解决子问题的中间结果进一步提高复杂问题的结果。
- Jin & Lu (2023):通过表格填充过程增强CoT,主要关注输入和输出为文本格式的文本任务。
然而,这些方法并未专门为表格数据设计。Chen (2023) 报道,这些通用推理方法可以取得不错的结果,但与专门为表格场景设计的方法相比,仍存在差距。CHAIN-OF-TABLE通过直接将中间表格操作作为中间推理步骤的代理来填补这一空白。
使用外部工具
为了更好地解决基于表格的任务,研究人员超越了一般文本,转而使用外部工具。
- Chen et al. (2022) 和 Gao et al. (2023):提出通过生成Python程序来解决推理任务,然后使用Python解释器执行这些程序。
- Text-to-SQL with LLMs (Rajkumar et al., 2022):是这种想法的直接应用。
- Binder (Cheng et al., 2022):生成SQL或Python程序,并通过在程序中调用LLMs作为API来扩展其功能。
- LEVER (Ni et al., 2023):提出通过程序解决基于表格的任务,并通过执行结果验证生成的程序。
然而,这些方法在处理涉及复杂表格的困难案例时仍存在局限性,主要是由于单次生成过程的约束。在这种情况下,LLMs无法根据特定问题修改表格,需要在静态表格上进行推理。我们的方法则是一个多步推理框架,逐步进行表格推理,根据问题调整表格。
基于表格的任务时修改表格上下文的模型
Dater (Ye et al., 2023) 是唯一在解决基于表格的任务时修改表格上下文的模型。
Dater的表格分解是基于表格可能太大,LLMs无法进行推理的想法。更类似于LLM辅助的数据预处理,而不是推理链的一部分,因为表格操作仅限于列和行选择,并且对所有表格和问题都是固定的。
相比之下,我们的CHAIN-OF-TABLE通过动态生成基于输入的推理链,利用LLMs的规划能力(Valmeekam et al., 2022; Hao et al., 2023)来泛化更大范围的通用表格操作。
表链推理
问题公式化。
在表格推理中,每个条目表示为三元组 (T, Q, A):
- T:表格
- Q:与表格相关的问题或陈述
- A:预期答案
任务目标是根据表格 T 和问题 Q 预测答案 A。为了统一推理过程,我们将所有数据(包括表格)转换为文本表示形式(具体编码方法见附录D)。
概述
- 论文提出了CHAIN-OF-TABLE:逐步进行推理,逐步进行表格操作,形成一系列表格。链中的表格是表格操作转换的表格,表示中间推理结果。这个过程类似于思维链(Chain-of-Thought)中的推理思维。
- CHAIN-OF-TABLE 使大型语言模型(LLMs)能够根据问题 Q 动态规划对表格 T 的一系列操作。这些操作包括:添加列、选择行或列、分组、排序等(类似于 SQL 和 DataFrame 开发中的操作)。然后提示LLM进行逐步推理。在每一步中,LLM动态生成一个操作作为下一步所需的参数,然后在表格上以编程方式执行该操作。这个操作可以通过添加详细的中间结果来丰富表格,也可以通过删除不相关的信息来缩减表格。论文将转换后的表格反馈给下一步。这一迭代过程持续进行,直到达到结束状态。推理步骤中获得的表格是比自由文本更好的结构化中间思考表示。
- 还能够集成多种工具的操作,并利用上下文学习能力进行动态调整。
操作流程
- 初始化:给定问题 Q、初始表格 T 和操作链 chain。
- 采样操作:提示 LLM 选择一个预定义的原子操作 f。
- 生成参数:查询 LLM 生成操作 f 所需的参数 args。
- 执行操作:使用参数 args 执行操作 f,转换表格 T。
- 记录操作:在操作链 chain 中记录执行的操作 f。
- 结束判断:如果生成结束标记 [E],则结束操作。
- 预测答案:将最新的表格输入 LLM 以预测答案。
通过这些步骤,模型能够理解输入表格,并更好地生成最终答案。
动态规划
图1:对比说明
给定一个复杂表格,其中骑车者的国籍和姓名在同一单元格中(a)一般推理,由于复杂性,无法通过多步推理给出正确答案;(b)生成并执行程序(例如SQL查询)来传递答案,但它在准确解析表中的姓名和国籍方面也存在不足。相比之下,(c) chain - of - table迭代地对一系列操作进行采样,这些操作有效地将复杂表转换为专门针对问题定制的版本。在chain - of - table的帮助下,LLM可以得到正确的答案。
图2:动态规划和参数生成
如下图所示,动态规划包括三个组件:
- 最新的中间表格 T
- 之前操作的历史链 chain
- 问题 Q
左图:DynamicPlan根据(T,chain,Q)从操作池中采样下一个操作。 右图:GenerateArgs以所选操作f为输入,并根据(T,f,Q)生成其参数。 这些操作及其参数充当表格推理过程的代理,可有效解决表格理解任务
图4:表格推理过程
图4,我们通过CHAIN-OF-TABLE说明了表格推理过程。该问题基于一个复杂的表,需要多个推理步骤来1)识别相关列,2)进行聚合,3)重新排序聚合的中间信息。我们提出的chain - of - table包括动态规划一个操作链,并在转换后的表中准确地存储中间结果。这些中间表作为表格思维过程,可以更可靠地引导LLM找到正确答案。
图6:DynamicPlan(T,Q,chain)的图解
DynamicPlan(T,Q,chain)的图解。上图说明了DynamicPlan(T,Q,chain)使用的提示方法,其中T是最新的中间表,Q是它对应的问题;Chain是对表执行的操作的列表。左:总体提示模板和预期生成,包括(a)原子操作如何工作的演示,(b)如何生成完整的操作链来回答给定的问题,以及(c)实际输入表及其问题的提示,以及LLM的预期生成(以绿色突出显示)。右:提示和生成中各部分的举例和简要说明。
使用DynamicPlan, LLM可以为当前示例生成操作链的其余部分(图6(c))。我们将生成的操作表示为fi+1(argsi+1)→…→[E],设fi是输入开放式操作链的最后一个操作。虽然生成了一个完整的链,但我们只考虑第一个生成的操作fi+1,而忽略生成的其余部分,包括参数和剩余的操作。Fi +1是基于前一次操作中最新的中间表生成的,而后续操作的生成不是基于最新的中间表,因此生成的内容可能存在错误。因此,我们认为在生成链的所有操作中,fi+1是最可靠的生成。有关更详细的提示,请参见图9。
图7:GenerateArgs(T,Q,f)的图解
GenerateArgs(T,Q,f)的图解。在LLM将特定操作f作为下一个操作进行采样之后,我们要求LLM通过调用GenerateArgs来生成所需的参数。然后根据预定义模板对LLM的生成结果进行解析,提取参数。
图8:查询(T,Q)的图解
查询(T,Q)的图解。来自操作链的结果表充当推理中间思想的代理,允许我们直接生成答案,而无需以文本格式提供推理链。
实验
在三个公开的表格理解基准测试中评估了所提出的CHAIN-OF-TABLE:WikiTQ、FeTaQA和TabFact。WikiTQ和FeTaQA是关注表格提出问题答题的数据集。它们需要对所提供的表格进行复杂的表格推理来回答问题。WikiTQ通常需要短文本跨度答案,而FeTaQA需要更长的自由形式响应。另一方面,TabFact是一个基于表格的二元事实验证基准测试。该任务是根据表格判断给定语句的真实性。对于WikiTQ评估,使用官方指示精度,对于TabFact,采用二元分类精度。考虑到FeTaQA的性质,它涉及将预测与更长的目标文本进行比较,使用BLEU、ROUGE-1、ROUGE-2和ROUGEL进行评估。
实验中,论文使用PaLM 2-S1、GPT 3.5(turbo-16k-0613)和LLaMA 2(Llama-2-17B-chat)作为骨干LLM。将训练集中的几个demo样本合并到prompt中以进行上下文学习。这些prompt的示例可在附录E中找到。有关LLM推理参数和使用的演示样本数量的详细信息在附录C中给出。
基准
基准方法分为两大类:
(a)通用推理,包括端到端QA、少量样本QA、思维链;端到端QA引导LLM在得到表格和问题作为输入prompt时直接产生答案。 少量样本QA的操作类似,但它在prompt中包含少量(表格、问题、答案)三元组的示例。从训练集中选择这些示例,模型也直接输出答案。 思维链在提供问题之前会提示LLM以文本格式表述其推理过程。
(b)程序辅助推理,包括文本到SQL、Binder、Dater。这些基准方法的详细描述如下。文本到SQL利用上下文样本引导LLM生成SQL查询以回答问题。有将语言模型API与SQL或Python等编程语言相集成。这种集成促使LLM产生可执行程序,在给定的表格和问题上执行表格推理任务。有采用少量样本高效分解表格上下文和问题,用分解后的子表格和子问题增强端到端表格推理。
论文效果
使用三个表格基准测试集验证了CHAIN-OF-TABLE,以评估基于表格的推理:WikiTQ、TabFact。使用专有的PaLM 2和GPT-3.5以及开源的LLaMA 2进行实验,以证明提出的CHAIN-OF-TABLE方法能够推广到各种LLM选项。论文贡献如下:
- 将思维链的概念扩展到表格设置,其中转换输入表以存储中间结果。这种多步表格推理方法可以实现更准确的表格理解。
- 在基于表格的事实验证和问答上的大量实验表明,CHAIN-OF-TABLE在WikiTQ、TabFact数据集上实现了实现了当前最高水平的性能。
image-20240622170310647
表1:在WikiTQ和TabFact数据集上,使用PaLM 2、GPT 3.5和LLaMA 2进行表格理解的结果。(下划线表示第二优秀性能;粗体表示最佳性能;改进是相对第二优秀方法的)
image-20240622170515370
表2:在WikiTQ不同大小的表格上,Binder、Dater和所提出的CHAIN-OF-TABLE的性能。观察到,随着输入表格的增大,性能降低,而CHAIN-OF-TABLE性能优雅地下降,相比竞争方法取得显著改进。(下划线表示第二优秀性能;粗体表示最佳性能;改进是相对第二优秀方法的)
表3:在WikiTQ和TabFact数据集上,CHAIN-OF-TABLE所需的操作链长度与样本数量的分布。观察到,大多数样本需要2到4个操作来生成最终输出
image-20240622170733746
图3:在WikiTQ不同操作链长度的问题上,思维链、Dater和所提CHAIN-OF-TABLE的性能。提出的原子操作允许我们的方法通过多次推理迭代动态转换输入表格。这显著提高了通用和程序辅助推理对应的性能
表4:在WikiTQ数据集上,Binder、Dater和所提出的CHAIN-OF-TABLE为单个问题生成的样本数量。值得注意的是,CHAIN-OF-TABLE生成的样本数量在基准中最小——比Binder少50%,比Dater少75%。
补充
思维链
2022 年,在 Google 发布的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出,通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。而这一系列推理的中间步骤就被称为思维链(Chain of Thought)。
1、COT原则上允许模型把一个复杂问题拆解成多个步骤,也就是说需要更多推理步骤的问题可以多分点计算量
2、COT提供了一个观察模型为何会犯错的窗口,因此也就提供了一个debug模型的机会
3、COT能用在数学应用题、常识推理和符号操作上,也就有可能用在任何人类通过语言能解决的问题上
4、COT非常好用,任何语言模型都可以用,加在 few-shot的样例中就能生效。省去了重新训练模型的功夫。