专栏名称: 机器学习算法与Python学习
作为沟通学习的平台,发布机器学习与数据挖掘、深度学习、Python实战的前沿与动态,欢迎机器学习爱好者的加入,希望帮助你在AI领域更好的发展,期待与你相遇!
目录
相关文章推荐
生信菜鸟团  ·  7月3日开课:生信入门&数据挖掘线上直播课7月班 ·  20 小时前  
生物学霸  ·  公开道歉!超 10 ... ·  昨天  
BioArt  ·  Cell Stem ... ·  昨天  
生物学霸  ·  两篇 Science ... ·  2 天前  
51好读  ›  专栏  ›  机器学习算法与Python学习

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

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

正文

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


为了实现 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 ,以区分表格特征和原生文本,让模型可以同时处理这两种模态,并且不产生混淆。






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