TableDreamer: Progressive and Weakness-Guided Data Synthesis from Scratch for Table Instruction Tuning¶
会议: ACL 2025
arXiv: 2506.08646
代码: https://github.com/SpursGoZmy/TableDreamer
领域: LLM对齐 / 表格理解
关键词: 表格指令微调, 合成数据, 弱点引导, 渐进式数据演化, 课程学习
一句话总结¶
提出 TableDreamer 两阶段数据合成框架:第一阶段从零合成多样化表格及种子指令数据,第二阶段通过弱点引导的迭代输入空间探索(在三个方向上演化数据,并用 LLM-as-Judge 筛选模型表现差的样本作为下一轮种子),仅用 27K GPT-4o 合成数据即将 Llama3.1-8B 的平均准确率提升 11.62%,超越使用 80K-100K 数据的所有基线方法。
研究背景与动机¶
领域现状:表格理解是 LLM 的核心能力之一,主流做法是用表格指令微调数据对通用 LLM 进行 SFT,产生专用的 Tabular LLM(如 TableLLM、TableGPT)。早期数据来源于人工标注或公开数据集转化,近期转向用 LLM 合成数据。
现有痛点: - 数据多样性不足:Self-Instruct 等通用方法未考虑结构化表格的特殊性(多种表格结构、格式),生成的表格过于简单;TableLLM 等方法只能基于已有公开数据集的表格生成指令,无法合成新表格,导致表格多样性受限。 - 数据效率低下:现有方法盲目追求数据量,但大量合成数据对目标 LLM 已经能正确回答,训练价值低。TableLLM 用 80K 数据、Self-Instruct 用 100K 数据,但提升有限。
核心矛盾:表格理解的输入空间极其庞大(表格结构 × 表格内容 × 指令类型),如何在这个空间中高效采样,找到对目标模型最有学习价值的数据点?
本文目标:(a) 如何从零合成多样化表格和指令,不依赖公开数据集?(b) 如何让合成数据聚焦于模型的弱点,提高数据效率?
切入角度:受课程学习和 Evol-Instruct 启发——先用 LLM 评估目标模型在合成数据上的表现,找出其难以正确回答的样本(weakness data),然后以这些弱点样本为种子进行多方向演化,迭代产生越来越有针对性的训练数据。
核心 idea:用"找弱点→以弱点为种子演化→再找弱点"的迭代循环,让少量合成数据精准覆盖模型的薄弱环节,实现高效表格指令微调。
方法详解¶
整体框架¶
TableDreamer 分为两个阶段。Stage 1(表格与种子数据生成):从零开始合成多样化表格,再基于表格和 20 种预定义任务描述生成种子指令-响应对。Stage 2(弱点引导的迭代演化):对种子数据在三个方向上进行数据演化(指令复杂化、指令泛化、表格泛化),用 LLM-as-Judge 评估目标 LLM 的回答,筛选出表现差的弱点数据作为下一轮演化的种子,迭代 2 轮后累积的弱点数据即为最终训练数据。输入是任务描述和 LLM,输出是 27K 条 (instruction, table, response) 三元组。
关键设计¶
-
多属性控制的表格生成:
- 功能:从零合成覆盖多种结构、格式、大小的多样化表格
- 核心思路:先让 LLM 生成多主题的表格标题(如"科技→AI 应用→自动驾驶 AI 集成分析 2022"),然后在 prompt 中控制 5 个关键表格属性:(1) 表格类型——随机选择扁平表/水平表/层次化表三种之一;(2) 表格大小——随机行列数;(3) 表头结构——层次化表可指定多级行列表头(如 3 级列头 + 2 级行头);(4) 单元格关系——要求 LLM 用 markdown 公式标记单元格间的依赖关系(如净利润 = 收入 - 成本),后续脚本自动计算;(5) 表格格式——层次化表用 HTML(准确反映合并单元格),扁平/水平表用 Markdown
- 设计动机:现有方法只用公开数据集的表格(主要是扁平表),结构单一。实际场景中表格结构千变万化,控制多属性能显著提升表格多样性。后处理还会自动计算公式和过滤残缺表格
-
20+ 种任务类型的种子指令生成:
- 功能:基于合成表格和预收集的 20 种表格任务描述,生成覆盖广泛任务类型的种子指令
- 核心思路:从已发表研究中收集 20 种表格理解任务(表格数值推理、结构理解、事实验证、查询回答等),将任务描述和合成表格一起输入 LLM 生成指令-响应对。3272 条种子数据覆盖 1541 张表格
- 设计动机:避免像 TableLLM 那样仅基于少数预定义模板生成指令,通过覆盖 20+ 任务类型从起点就保证任务多样性
-
三方向数据演化(Input Space Exploration):
- 功能:从每条种子数据出发,在三个正交方向上生成更多样的数据
- 指令复杂化(Instruction Complication):基于原始表格和指令,通过增加任务数量(一条指令要求完成多个任务)、增加推理步数(生成多步问题)等策略,让指令变得更复杂。这能暴露 SOTA LLM 在复杂组合任务上的弱点
- 指令泛化(Instruction Generalization):让 LLM 合成超出 20 种预定义任务的新类型指令(如分析表格并给出推荐、翻译某几列等创意任务),同时也生成与原任务同类但表述不同的指令以提升鲁棒性
- 表格泛化(Table Generalization):对已有表格进行格式变换、表头修改、行列重排等扰动,生成表格变体。解决 LLM 对表格格式和结构扰动不鲁棒的已知问题
- 设计动机:三个方向分别扩展了指令难度、指令类型和表格形态,联合探索才能充分覆盖庞大的输入空间
-
弱点数据识别(Weakness Data Identification):
- 功能:从演化产生的大量数据中,筛选出目标 LLM 表现差的样本
- 核心思路:对每条演化数据,让目标 LLM(如 Llama3.1-8B)生成回答,同时让强 LLM(如 GPT-4o)生成参考答案。然后用 LLM-as-Judge 按 5 分制评估目标 LLM 回答的正确性,评分低于 3 分的样本被标记为弱点数据
- 弱点数据被用作下一轮演化的种子 → 这使得后续演化方向天然偏向模型更薄弱的区域
- 设计动机:不加筛选直接用全部演化数据(34K)反而比只用弱点数据(27K)效果差 4.41%,说明大量"简单"数据会稀释训练信号。弱点筛选是提升数据效率的关键
训练策略¶
- 用 GPT-4o 作为数据合成 LLM,Llama3.1-8B-Instruct 作为目标 LLM
- 从 3272 条种子数据出发,迭代 2 轮,最终得到 27,083 条数据(TableDreamer-27K),覆盖 7950 张表格
- 也尝试用 Llama3.1-70B-Instruct 替代 GPT-4o 合成数据做公平对比
- 累积的弱点数据连同强 LLM 的参考响应一起用于 SFT
实验关键数据¶
主实验¶
在 10 个表格基准上评测,覆盖表格问答(TQA)、表格事实验证(TFV)、表格生成文本(T2T)和 OOD 泛化(TableGPT):
| 方法 | 数据量 | TABMWP | WTQ | HiTab | AIT-QA | TabMCQ | TabFact | InfoTabs | TableGPT | 平均 |
|---|---|---|---|---|---|---|---|---|---|---|
| Llama3.1-8B-Instruct | - | 53.39 | 36.53 | 11.35 | 43.63 | 75.31 | 53.87 | 48.94 | 21.68 | 49.07 |
| Self-Instruct | 100K | 46.68 | 28.98 | 13.77 | 48.92 | 80.27 | 52.92 | 45.07 | 43.13 | 49.44 |
| Magpie | 100K | 57.11 | 34.66 | 13.89 | 47.16 | 76.96 | 51.21 | 43.83 | 40.59 | 52.23 |
| TableLLM-syn-data | 80K | 46.10 | 42.24 | 13.92 | 39.72 | 25.46 | 29.24 | 31.31 | 23.74 | 38.68 |
| TableGPT2 (Qwen2.5-7B) | 2.36M | 56.35 | 49.35 | 38.26 | 73.97 | 85.71 | 60.42 | 54.87 | 70.25 | 63.80 |
| TableDreamer (70B) | 27K | 60.57 | 42.47 | 17.25 | 56.75 | 82.99 | 57.32 | 49.98 | 33.03 | 56.02 |
| TableDreamer (GPT-4o) | 27K | 64.61 | 54.66 | 22.88 | 53.22 | 84.29 | 63.09 | 57.65 | 46.20 | 60.69 |
消融实验¶
| 配置 | 数据量 | TQA 平均 | TFV 平均 | T2T 平均 | TableGPT | 总平均 | 说明 |
|---|---|---|---|---|---|---|---|
| Full TableDreamer | 27K | 55.93 | 60.37 | 80.17 | 46.20 | 60.69 | 完整模型 |
| w/o 扁平表 | 17K | 51.41 | 52.02 | 74.85 | 40.59 | 55.13 | -5.56% |
| w/o 层次化表 | 17K | 49.24 | 52.54 | 76.37 | 46.79 | 55.08 | -5.61% |
| w/o 水平表 | 18K | 54.58 | 51.40 | 78.07 | 45.38 | 57.72 | -2.97% |
| w/o 数据演化 | 3K | 47.71 | 49.50 | 71.28 | 38.68 | 51.88 | -8.82%,仅用种子数据 |
| w/o 指令泛化 | 18K | 52.32 | 51.77 | 78.26 | 40.89 | 56.26 | -4.44% |
| w/o 指令复杂化 | 18K | 50.83 | 51.25 | 73.95 | 39.82 | 54.44 | -6.26%,掉点最多 |
| w/o 表格泛化 | 19K | 50.20 | 54.29 | 76.19 | 42.35 | 55.43 | -5.26% |
| w/o 弱点筛选 | 34K | 53.12 | 51.72 | 75.82 | 42.12 | 56.28 | -4.41%,数据更多但效果更差 |
关键发现¶
- 27K 数据超越所有 80K-132K 基线:弱点引导的数据效率远高于盲目增加数据量。TableDreamer-27K(60.69%)甚至接近 TableGPT2 用 2.36M 数据的效果(63.80%)
- 弱点筛选是核心:不用弱点筛选而用全部 34K 数据反而比用筛选后的 27K 弱点数据低 4.41%,证明"质 > 量"
- 指令复杂化贡献最大:三个演化方向中去掉指令复杂化掉点最多(-6.26%),说明提高指令难度是发现模型弱点的最有效手段
- 去掉数据演化掉了 8.82%:说明仅用 LLM 合成预定义类型指令(现有 Tabular LLM 的做法)远远不够
- 表格多样性很重要:去掉任何一种表格类型都会导致性能下降,层次化表影响最大(-5.61%)
- Few-shot 场景下效果更显著:在仅有 20-200 条标注数据时,加入 TableDreamer-27K 平均提升 7.5-10.8%
- 超越 R1 蒸馏模型:TableDreamer 微调的 Llama3.1-8B 比 R1-Distill-Llama-8B 高 3.07%
- 数据规模可扩展:从 3K→10K→27K,性能持续提升,迭代演化有效积累有价值数据
亮点与洞察¶
- "找弱点→以弱点为种子定向演化"的迭代闭环:核心思想是将课程学习与数据合成结合——不是堆数据量,而是让数据合成过程聚焦在模型的薄弱环节。这个思路可以迁移到任何需要合成训练数据的场景(如代码、数学),只要能评估模型在样本上的表现就能实现弱点引导
- 从零合成完全不依赖外部数据源:通过控制 5 个表格属性实现多样化表格生成,全流程可控、可复现,避免了公开数据集的版权和分布偏差问题
- 三方向正交演化设计很巧妙:指令复杂化(提升难度)、指令泛化(扩展任务类型)、表格泛化(增加鲁棒性)三个方向互不重叠,联合探索输入空间的不同维度
- 反直觉发现——更多数据不一定更好:w/o 弱点筛选用了 34K 数据反而比 27K 弱点数据差,这个实验结论非常有说服力,证明了数据质量筛选的必要性
局限与展望¶
- 仅覆盖文本格式表格:未考虑表格图像(视觉表格理解),作者建议可用 html2image 转换但未验证
- 依赖强 LLM:属于 Strong2Weak 蒸馏范式,弱点检测和参考答案都依赖 GPT-4o,无法自我进化
- 合成成本未分析:需要多次调用 GPT-4o 进行数据合成和弱点评估,API 成本不低但论文未给出具体费用
- 仅 SFT 阶段:未探索生成 preference data 用于 RLHF,作者认为结合 R1 风格推理是有前景的方向
- 迭代轮数较少:仅 2 轮迭代,更多轮是否能持续提升?是否存在过拟合弱点的风险?
- 弱点阈值固定:评分 <3 作为弱点阈值,未探索不同阈值的影响
相关工作与启发¶
- vs TableLLM:TableLLM 用 GPT-3.5 基于公开表格合成 80K 指令数据,但只能处理已有表格且任务类型有限,导致 OOD 性能差(38.68%)。TableDreamer 从零合成表格+弱点引导演化,27K 数据达到 60.69%
- vs Self-Instruct/Magpie:通用数据合成方法可以扩展到表格场景(Magpie 100K 达到 52.23%),但未专门考虑表格结构多样性和弱点引导,效率仍不如 TableDreamer
- vs TableGPT2:TableGPT2 用 2.36M 高质量数据(含人工精修)达到 63.80%,是最强基线。TableDreamer 用不到其 1/87 的数据量达到 60.69%,数据效率极高
- vs Evol-Instruct:TableDreamer 的演化思想受 Evol-Instruct 启发,但增加了弱点引导机制和表格特异性的演化方向,比通用 Evol-Instruct(100K→50.54%)效果好得多
评分¶
- 新颖性: ⭐⭐⭐⭐ 弱点引导迭代演化框架有创意,将课程学习与数据合成结合
- 实验充分度: ⭐⭐⭐⭐⭐ 10 个 benchmark、详尽的消融、few-shot、R1 对比、数据规模分析,实验非常全面
- 写作质量: ⭐⭐⭐⭐ 框架表述清晰,图示直观,问题定义到方法设计逻辑连贯
- 价值: ⭐⭐⭐⭐ 对表格 LLM 领域有直接实用价值,弱点引导思想可迁移到其他数据合成场景