专栏名称: 机器学习算法与Python学习
作为沟通学习的平台,发布机器学习与数据挖掘、深度学习、Python实战的前沿与动态,欢迎机器学习爱好者的加入,希望帮助你在AI领域更好的发展,期待与你相遇!
目录
相关文章推荐
51好读  ›  专栏  ›  机器学习算法与Python学习

浙大 TableGPT2 开源,横扫任务榜,最强表格 AI问世!

机器学习算法与Python学习  · 公众号  ·  · 2024-11-08 09:55

正文

机器之心报道
当结构化数据也变成一个模态,哪家的大语言模型能脱颖而出呢?
现在正是多模态大模型的时代,图像、视频、音频、3D、甚至气象运动都在纷纷与大型语言模型的原生文本模态组合。而浙江大学及其计算机创新技术研究院的一个数十人团队也将结构化数据(包括数据库、数仓、表格、json  等)视为了一种独立模态。
基于这一视角,依托 Qwen,他们研发了 TableGPT 系列模型。现如今,这个模型已经更新到了第 2 代,性能表现较之前代已有大幅提升: 在某些基准上,TableGPT2 能够媲美甚至优于 GPT-4o! 或者按团队负责人赵俊博博士的说法:「目前通用大模型在许多结构化数据相关的任务上的表现仍然较弱,TableGPT2 在相关任务的榜单上铁腕刷榜 —— 各类相关任务刷出去平均 40 个点。」

  • 论文标题:TableGPT2: A Large Multimodal Model with Tabular Data Integration
  • 论文地址:https://arxiv.org/pdf/2411.02059
  • TableGPT 智能体:https://github.com/tablegpt/tablegpt-agent
  • Hugging Face:https://huggingface.co/tablegpt/TableGPT2-7B
该团队表示:「提出 TableGPT2 的关键动机是解决当前 LLM 在数据驱动型真实世界应用中的限制。」
当今的许多 LLM 的设计目标就是以端到端的方式运行,而没有整合外部数据。但该团队认为这种方法存在固有缺陷。 举个例子,如果你想用 LLM 来帮助你挑选股票,但如果不给它提供实时的市场信息,它的建议就根本不可能靠谱;更别说必需病人病历和各类过往的指标数据才能做出准确判断的医疗 AI 应用了。具身智能中的灵巧手的触觉信号以及多个传感器中的各类 「觉」 也都是结构化信息。
同时,即便 LLM 已经整合了外部数据源(如数据库),其性能也往往无法达到最优。目前常见的整合思路包括通过工具(如 natural-language-to-sql / NL2SQL)来调用外部数据源以及通过更长的长下文和新架构来纳入外部数据源。但这些方法要么难以用于复杂场景,要么就效率低下,不实用。
基于这些思考,该团队认为在整合外部数据源时需要根本上的范式转变。TableGPT2 也由此而生,该模型的设计目标是直接且高效地整合和处理表格数据,克服当前 LLM 的固有限制,进而实现生产级部署。
之前 LLM 和 VLM 方面的研究已经证明了大规模多样化数据集的重要性。其实表格数据也同样多,并且也同样重要。据估计,全球超过 70% 的数据都是以结构化的表格形式存储的,包括数据库和电子表格。
所以,资源浩瀚,也因此,开发大规模表格模型极具潜力!该团队表示:「通过使用大规模表格及其 schema 元数据的数据集,我们的目标是探索能否有效地建模这些数据格式,从而得到可用于商业智能等应用的功能强大的模型。」
TableGPT2 的表格数据编码器是该团队全新设计的,其重在建模表格数据的结构和内容。这让 TableGPT2 可以捕获 schema 层面和单元格层面的信息,从而有望为表格大模型带来文本模型和视觉模型所经历过的那种巨大提升。
TableGPT2 是什么
从名称也能看出,TableGPT2 是 TableGPT 的新一代版本。初始版本的 TableGPT 就已经引入了结构化特定领域语言(DSL)和专用表格编码器等方法,可以管理复杂的基于表格的查询。在此基础上,TableGPT2 实现了巨大的改进。他们不仅扩大了数据和训练协议的规模,还重新设计了每个组件,同时也引入了一些提升稳健性、扩大适用性以及优化商业智能应用性能的技术。
最终,大规模多模态模型 TableGPT2 诞生了!它有两种配置:7B 和 72B 版本。它们全都基于 Qwen2.5 系列模型。训练过程中,该团队使用了超过 860 亿 token 来进行持续预训练(CPT)、超过 43.75 万个表格 - 语言交织的样本来训练编码器、236 万多个高质量「查询 - 表格 - 输出」元组来进行监督式微调。
在相关研究中,这种规模是前所未有的,足以保证 TableGPT2 满足涉及结构化或表格数据的现代应用的严格要求。
TableGPT2 经历的持续预训练(CPT)、监督式微调(SFT)和支持生产级能力的智能体框架不同于传统 LLM,因为这里的预训练和微调更加注重编程、多轮推理和工具使用。这些特点可确保模型不仅擅长自然语言处理,而且能够很好地处理与表格相关的复杂任务。
此外,该团队还初步探索了表格数据的多模态对齐。具体来说,TableGPT2 创新性地加入了一个单独的模态模块,专门用于读取和解释表格数据。类似于视觉 - 语言模型(VLM),TableGPT2 包含一个表格数据读取模块,其作用是生成与来自文本输入的 token 嵌入相连接的专用嵌入。这个新增模块可让 TableGPT2 更好地捕获表格数据的结构和语义,从而在复杂的商业智能场景中实现更准确的表格理解。图 1 描绘了其整体模型框架。
TableGPT2 是如何炼成的
持续预训练
为了实现 TableGPT2 的目标,该团队首先是通过持续预训练(CPT)来提升模型的编程和推理能力。
具体来说,80% 的 CPT 数据都是标注良好的代码,从而确保 TableGPT2 具有稳健的编程能力,这与 DeepSeek-v2 采用的方法是一致的。此外,该团队还做了补充;他们收集整理了大量包含多种领域知识(如金融、制造业、生物技术、市场技术)的推理数据和一般教科书,以保持数据比例平衡,增强推理能力。表 1 展示  CPT 过程中使用的数据分布和总 token 数。
在数据处理方面,他们采用了一种两级过滤策略。
在文档层面,他们使用 54 个不同的类别对数据进行了标注,以确保全面覆盖不同的文档类型。下表展示了一些重要的过滤标签。
在 token 层面,则是利用了 RHO-1 来微调对高质量 token 的选择。
此外,他们还引入了一种可将代码长度和上下文窗口设置纳入考虑的新方法,这可优化模型有效处理多种不同代码段的能力。
经过彻底过滤后,最终的 CPT 数据包含 86B token,这种稳健强大的预训练可确保 TableGPT2 具备必要的编程和推理能力,足以应对复杂的商业智能和其他相关任务。
有监督微调
在 TableGPT2 中,监督式微调(SFT)的作用是解决在用于商业智能任务和场景时的局限。
为此,该团队编排了一个数据集,其中包含范围广泛的近乎现实的关键场景,包括多轮对话、复杂推理、工具使用和针对具体业务的查询。
这个数据集的构建过程既包括人工标注,也包含一个专家驱动的自动化标注流程,从而可以保证数据的质量和相关性。总体而言,SFT 过程涉及 236 万个样本, token 数量达数十亿,足可用于进一步微调模型,使其满足商业智能和其他涉及表格的环境的特定需求。
更具体地说,TableGPT2 的 SFT 流程有一个关键差异,即这 236 万个指令样本的组成非常平衡且多样化。如此一来,就可以满足表格相关任务的需求:既需要通用的模型能力,也需要针对表格的技能。
该数据集包含的表格专有任务包括代码生成(Python 和 SQL)、表格查询、数据可视化、统计测试和预测建模。此外,其中还有表格理解、表格生成、缺失值插补和基于表格的问答等多种任务,几乎涵盖了表格使用的所有阶段。输入格式加上随机排列的表格元数据(如字段描述、schema 信息和值枚举),可以产生超过 20 种不同的「表格 - 信息」输入组合,组可确保全面覆盖。
为了保证数据质量,他们还实施了一个多步骤的数据过滤流程:
  • 首先,使用一组基于规则的过滤器,包括使用 Python 和 SQL 执行器检查代码的可执行性和正确性,从而消除常见错误(例如键错误和类型转换问题)。此外,还会使用正则表达式和其他规则来丢弃异常输出。
  • 然后,使用多个模型(如 GPT-4o)对过滤后的数据进行评分;这里使用的提示词是专门设计的,可以保证得到更为细致的评估。只要当样本在所有评分组合上都超过阈值时,该样本才会被保留下来。
  • 之后,通过人工检查进行样本校准。如果样本准确率低于 95%,就重新审查并优化其数据生成和过滤脚本。
  • 最后,执行评估,这会用到一个包含约 94.9K 个案例(包括现有案例和新构建的案例)的固定验证集,如此可确保生成的结果是可执行且准确的。同时还会执行进一步的手动验证来抽查任何不一致之处并检测潜在的数据问题,例如缺少函数调用或多轮对话能力较差。
用于表格数据的数据增强
为了提升 TableGPT2 的性能(尤其是商业智能任务性能),该团队采用了多种查询增强技术,包括
  • 在查询内引入字段时进行模糊化处理
  • 通过匿名化字段名和类别值来实现表格数据增强
  • 通过结合单轮和多轮问答任务来增强模型的多功能性
  • 使用变动的提示词格式和输出结构来降低 TableGPT2 对某些提示词模板的敏感度
  • 在数据生成过程中应用后处理增强来提升训练数据的多样性
语义表格编码器
由于 NL2SQL 等传统工作流程存在局限性,该团队为 TableGPT2 设计了新的语义编码器。
这种新的表格编码器的输入是整张表格。基于此,它可为每一列生成一组紧凑的嵌入。
该架构是根据表格数据的独特属性专门设计的,毕竟表格与文本、图像和其它数据类型存在根本性差异。
表格的语义来自四个关键维度:单元格、行、列和表格整体结构。这些维度都存在排列不变性(permutation invariance)。基于这一观察,该团队实现了一个没有位置嵌入的二维注意力机制以及一个分层特征提取过程。这能确保行方向和列方向的关系都被捕获并被有效理解。
此外,他们还采用了一种逐列式对比学习方法,以鼓励模型学习有意义的、对结构有感知的表格语义表征。
该团队使用了 Q-former 式的适应器(配备了一组可学习的查询)来将列嵌入与文本嵌入对齐。
他们还引入了两个特殊 token ,以区分表格特征和原生文本,让模型可以同时处理这两种模态,并且不产生混淆。
为进一步增强文本信息、列嵌入和 schema 元数据之间的对齐程度,他们还使用了联合指令微调。此过程有助于优化模型对表格数据的理解,使其能够更有效地集成和解读各种输入。
顺带一提,目前这个编码器部分还尚未开源。至于原因,赵俊博博士表示:「一方面保护下团队学生们未来的小论文,另外一方面确实 VLM 和特定领域的适配没弄好,解码器可以独立使用,效果仍在。」
智能体框架
该团队在开源库中提供了一个全面的智能体工作流程运行时间框架,其设计目标是将 TableGPT2 无缝地集成到企业级数据分析工具中。该框架包含三个核心组件:
  • 运行时间的提示词工程
  • 一个安全的代码沙箱
  • 一个智能体评估模块
它们加在一起,可以提升智能体的能力和可靠性。这个工作流程具有模块化的步骤,因此可支持复杂的数据分析。这些步骤包括输入规范化、智能体执行(可选择 VLM 支持)、工具调用。
再结合检索增强式生成(RAG,用于高效上下文检索)和代码沙箱(用于安全执行),该框架可确保 TableGPT2 为实际问题提供准确、与上下文相关的见解。
下图展示了智能体的完整工作流程:首先通过一个提示词工程模块来准备和处理输入查询。再基于一个外部知识库使用 RAG 模块后,将经过处理的输入送入主模型。然后,TableGPT2 会与一个视觉 - 语言模型(VLM)合作生成工具调用、代码等相关动作。通过观察中间结果,可以根据需求选择是否迭代,以利用该智能体的反思能力。通过智能体与工具之间的无缝交互,这个迭代过程最终可得到最终输出。
TableGPT2 效果怎么样
在实验部分,团队此次针对表格相关任务进行了全面的基准测试,不仅涵盖了已有的一些数据集,还加入了一个新收集的、面向真实任务的复杂表格数据集,从而提供了一个严格的评估平台。
为了进行全面的比较,团队选择了多样化的基线大语言模型。 第一类是最先进的开源通用 LLM ,包括 DeepSeek-Coder-V2-Lite-16B、 YiCoder-9B-Chat 以及 Qwen2.5-Coder-7B-Instruct、Qwen2.5-7B-Instruct。
第二类是 针对表格相关任务进行微调或专门开发的模型 ,比如针对表格分析设计和优化的 TableLLM、为处理电子表格和文档设置中各种真实表格操作而微调的 CodeLlama-13B。
基准概览






请到「今天看啥」查看全文