前言这一章我们聊聊大模型表格理解任务在大模型时代主要出现在包含表格的RAG任务以及表格操作数据抽取文本对比等任务中。这一章先聊单一的文本模态既你已经通过OCR或者多模态等方式从PDF或者图片中获取了表格的文本数据。和前文相同我们分别介绍微调和基于Prompt的两种方案。Prompt LLM首先我们介绍基于Prompt的方案核心节约表格问答和推理中的两个问题表格太大或包含的信息散落各处问题复杂涉及到多步推理。如何使用prompt让模型在表格任务上更好进行COTDater和Chain-of-Table给出了方案二者有前后关系Dater在前。而针对Prompt设计表格推理还要解决表格数据如何输入prompt推理效果更好的问题这里微软的Table Meets LLM也做了实验尝试。DaterLarge Language Models are Versatile Decomposers: Decompose Evidence and Questions for Table-based ReasoningDater的整体流程包含三个步骤表格分解问题分解和合并推理。论文使用了GPT3 Codex作为模型。Evidence Decomposer第一步是证据拆解从原始表格数据中抽取和问题相关的数据这里Dater使用行号和列号来表示相关的数据。以下使用Few-Shot Prompt来引导模型预测哪些Cell(row, index)和提问相关并返回。之后直接使用行号和列号从原始的表格中抽取出问题相关的数据构建成更小更聚合的新的表格。Question Decomposer第二步是问题拆解论文提出如果直接使用COT进行推理在表格问题上很容易出现幻觉所以论文提出了Parsing-execution-filling的方案其实和ReACTSelf-ASKIRCOT的思路是一样的不过是适配到了表格任务上。首先基于以下Few-Shot Prompt把原始问题拆解成子问题。这里需要注意的是子问题不会直接使用表格中的数据进行回答而是会把涉及数值答案的部分用{}进行掩码。其次会基于以下few-shot prompt把子问题转化成SQL语句这在TableQA的任务范式中较为常见很多经典方案都是把TableQA转化成了NL2SQL的问题进行解决。这里的表格数据只使用了原始的表格转化成了文本格式并没有加入更多表格行列相关Schema的数据其实相比真实场景做了简化这部分Schema和NL2SQL任务相似可以参考解密Prompt系列15. LLM Agent之数据库应用设计Jointly Reasoning第三步是把前两步得到的sub-evidence和sub-questions(sql)合并在一起同样是使用few-shot prompt进行推理。以下prompt是TableNLI任务也就是基于表格数据判断描述是对还是错。效果我们放到后面的论文里一起说。Chain-of-TableChain-of-Table: Evolving Tables in the Reasoning Chain for Table Understanding谷歌提出的Chain-of-Table在Dater的基础上加入了更多更灵活的表格操作。整个任务同样分成三个主要步骤动态规划参数推理和最终结果。整个过程中通过大模型多步规划和参数生成对表格进行变换操作直到输出最终变换后表格并推理出最终的结果。Dynamic Planning动态规划是模型基于当前表格状态历史表格操作和用户提问推理生成新的表格操作函数。对比Dater只通过选择CELL来缩小表格范围这里Chain-of-Table利用大模型In-Context Function calling的能力定义了可以灵活扩展的几个表格操作函数以下为不同functino的解码参数和few-shot数量其中f_select_row f_select_column其实就对应上面Dater的表格操作。动态规划部分prompt包括以上每个函数的few-shot sample和函数描述经过多步操作后当前的表格状态问题和历史的Function chain。模型推理是下一步的操作function或者END结束如下Argument Generation这里论文其实是把Function Call拆成了两步分别是使用哪个操作以及操作的入参。所以这一步是基于上面推理的操作函数推理该函数的入参参数生成的prompt包括和规划prompt相同的表格状态规划生成的操作函数和每个操作的few-shot sample。这里不同的操作Function的推理格式会有差异例如f_add_column除了需要推理增加的列还需要同时给出列的取值。再例如f_select_columns存在多列选择因此使用*等正则表达式来支持可变参数列表。以下分别为f_add_column, 和f_select_column的few-shot demosFinal Query经过一步或者多步上面的动态规划生成函数参数生成生成入参会使用该函数对表格进行多步操作最后得到的表格用于问题回答。回答部分同样是few-shot prompt如下基于多步操作得到的最终的表格和提问进行回答。效果上对比Dater使用不同的基座模型Chain-of-Table在Wiki TQ和TabFact等表格理解任务上均有一定的提升。并且在不同大小的表格数据上也都有显著的提升。Table Meets LLMTable Meets LLM: Can Large Language Models Understand Structured Table Data? A Benchmark and Empirical Study微软这篇论文主要实验并回答了两个问题LLM对结构化数据的理解能力究竟如何对于表格类的任务Prompt应该咋写包括表格的格式内容的顺序角色描描述和分割符对最终推理效果的影响有多少首先论文把表格理解任务拆分成了多个可以定量评估的子任务相比直接评估表格问答能力以下子任务的评估更加简单直接包括Table Partition检测模型能否识别表格的边界例如表格的首位字符Table Size Detection检测模型能否正确解析结构化数据例如有几行几列Merged Cell Detection检测模型能否识别出合并表格结构Cell Lookup Reverse Lookup检测模型能否正确抽取指出value对应cell的位置或者某位置cell的取值Column Row Retrieval检测模型能否正确抽取出某行某列的所有取值基于上述的7个子任务论文首先对比了不同的表格数据表征形式的效果差异。这里论文实验了包括JSON3种不同的标记语言markdonwXMLHTML以及在众多表格任务中常见的使用“|”分隔符直接分割表的NLSep模式。上面的Dater和Chain of Table就是NLSep。以下为子任务的对比结果以上实验数据不难得到两个结论标记语言包括markdownXMLHTML的效果是显著优于NLSEP的在众多标记语言中HTML来表征表格的效果是最好的之前在看新加坡Prompt大赛冠军秘籍时就发现prompt中不同内容的分割符和结构化数据例如标签表格等数据使用XMLHTML等标记语言进行表征效果是显著更好的例如使用XML表征分类标签在我们的任务上分类的结果更稳定模型更不容易在分类前后给你瞎逼逼。再例如用HTML表征表格模型定位到具体数值的准确率也会更高。之后论文以HTML作为基准进一步对其他prompt细节进行了测试如下以上消融实验比较明显的结论也有两个w/o 1-shot:one-shot相当重要模型理解结构化表格数据很大程度上依赖于one-shot去掉one-shot准确率直接掉了30%w/o change order顺序很重要把问题和描述放到表格后面会带来6.8%的效果下降可能因为模型可以基于描述和问题有针对性的理解后面的表格数据其他表格格式描述分割符之类的影响较低可能是因为HTML类标记文本本身已经有很好的结构化表征论文还提出了self-augmented prompt个人感觉略微缺乏针对性一些感兴趣的朋友自己去看细节吧~微调除了以上利用GPT的Prompt方案我们再介绍两个微调方案Table Llama和TableLLMTable LlamaTableLlama: Towards Open Large Generalist Models for TablesTable Llama是很典型的垂直领域微调方案。论文设计了TableInstruct微调数据集筛选了总共包括14个表格数据集的总共11类任务。其中训练集选择8个数据集和8类任务测试集为6个数据集和4类任务来检测模型在样本外任务类型上的泛化效果。数据集和任务分布如下微调数据的构成就是InstructionInputQuesiton为输入Response为输出。这里论文使用了NLSEP来表征表格数据并加入了表格任务的描述。考虑表格数据的长度往往超过4K这里选用LongLora微调后的7B模型为基座效果上分别看下样本内和样本外任务上的效果提升这里Base使用了LongLora微调后的7B以及对比了GPT3.5和GPT4采样了部分样本。在样本内任务上TableLlama能超越GPT4,在样本外任务上TableLlama相比Base有显著提升但部分任务效果不及GPT4TableLLMTableLLM: Enabling Tabular Data Manipulation by LLMs in Real Office Usage Scenarioshttps://github.com/RUCKBReasoning/TableLLMTableLLM论文做了以下的用户调研更充分地了解了用户对于表格任务究竟有哪些真实需求。除了前面Table Llama涵盖的TableQATable ExtractionDialogueFact Verfication等传统Table2Text任务之外还包含了更多操作类任务例如表格匹配表格绘图。整体上论文把表格数据涉及到的操作类型分成了QueryUpdateMerge和Chart四大类这四种操作在不同类型的表格数据上侧重不同在纯表格数据上四种操作类型都会有更接近现在众多ChatBI在做的方向更多是code-driven。而在文本中内嵌的表格数据上query查询是主要操作更多用于像RAG的场景依赖纯文本的理解推理。基于上面的两大类表格数据和四种操作类型TableLLM说自己使用了远程监督构建了微调数据集其实就是传统的TableSQL数据集上用大模型构建了新的推理和回答作为样本。数据集构成包含三个主要部分TableQA Benchmark包括了WikiTQ,FetaQA, TAT-QA数据集论文使用GPT3.5在原始训练数据question answer的基础上补充了推理过程并使用CtitiqueLLM来对推理过程进行打分只保留打分高的样本。这部分样本主要用来提升模型在文本中内嵌表格数据的文本推理能力。Text2SQL Benchamrk包括了WikiSQL和Spider数据集论文使用了DeepSeek把原始的Text2SQL转换成了pandas代码并基于最终代码计算结果的一致性来判断DeepSeek构建的答案是否正确只保留结果一致的样本。这部分样本主要用来提升模型在纯表格数据上的代码推理能力纯模型生成样本为了补充更多updatemergechart操作的数据。论文从WikiTALMTAT-QAFeTaQA和GitTable中采样了部分样本使用GPT3.5生成了新的单表操作和多表操作的问题。之后使用GPT3.5来基于表格和问题进行回答这里为了提高模型生成结果的准确性会使用GPT3.5分别从coding和文本两个方向进行推理回答并使用CritiqueLLM来判断两个答案的一致性。之后基于上面构建的样本针对不同的数据和操作论文使用了不同的prompt来构建指令微调样本在CodeLlama-7B和13B模型上进行了微调。整个数据构建和微调prompt如下这里主要是看下上面表格数据构建的流程效果对比就不说了因为部分数据集这里加入了训练集而上面的Table Llama则放到了OOB测试集不能直接对比。最后感谢你们的阅读和喜欢我收藏了很多技术干货可以共享给喜欢我文章的朋友们如果你肯花时间沉下心去学习它们一定能帮到你。因为这个行业不同于其他行业知识体系实在是过于庞大知识更新也非常快。作为一个普通人无法全部学完所以我们在提升技术的时候首先需要明确一个目标然后制定好完整的计划同时找到好的学习方法这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。四、AI大模型商业化落地方案五、面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】