SHARE: An SLM-based Hierarchical Action CorREction Assistant for Text-to-SQL¶
会议: ACL 2025
arXiv: 2506.00391
代码: GitHub
领域: 其他
一句话总结¶
提出 SHARE 框架,用三个 <8B 参数的专用小语言模型(SLM)组成顺序管道,将声明式 SQL 转换为可暴露推理路径的步进动作轨迹,再分阶段修正 schema 链接错误与逻辑推理错误,以极低成本实现 LLM 的 Text-to-SQL 自纠正。
研究背景与动机¶
- LLM 自纠正成本高昂: 现有 self-correction 方法依赖对 LLM 的递归调用,每轮都需完整推理,计算开销呈乘法增长;例如 Multiple-Prompt 方法每千条查询成本高达 $62.86
- 执行反馈不可靠且受限: Self-debugging 依赖数据库执行反馈,但 SQLite 等主流引擎返回信息过于简略,难以精确定位语义错误;且在数据隐私敏感场景中,直接访问数据库受到严格限制
- 声明式 SQL 的黑盒困境: LLM 直接对声明式 SQL 进行纠正时无法展示底层推理过程,存在 self-enhancement bias —— GPT-4o 原生 self-correction 反而使 BIRD 准确率从 55.87% 下降到 55.28%
- Prompt 工程依赖严重: 现有高性能方法(如 MAGIC)依赖精心设计的多阶段 prompt,人力成本高且难以泛化到其他生成器模型或 SQL 方言
方法详解¶
整体框架¶
SHARE 采用 assistant-based 自纠正范式:任意生成器 LLM 产生初始 SQL 后,三个 LoRA 微调的专用 SLM(均 <8B 参数)组成顺序管道进行纠正,最终将修正后的动作轨迹作为反馈引导 LLM 重新生成 SQL。
关键设计¶
1. Base Action Model (BAM) — 声明式到过程式的推理暴露
BAM 将声明式 SQL 查询拆解为 pandas-like API 的步进动作轨迹(如 where → groupby → orderby → select),使隐含的推理路径显式化。训练数据通过 GPT-4o 蒸馏构建 13K 条高质量 query-trajectory 对,并采用可逆性验证(轨迹必须能还原回原始 SQL)来过滤幻觉样本。BAM 同时充当后续模型的数据工厂,通过层级自演化策略为 SAM 和 LOM 自动合成训练数据,避免重复调用教师 LLM。
2. Schema Augmentation Model (SAM) — 两阶段 Schema 链接修正
SAM 专注于检测和修正动作轨迹中的 schema 链接错误(表名、列名误匹配等)。采用两阶段训练:Phase 1 学习在轨迹中用 [MASK] 精确标记所有 schema 元素位置;Phase 2 根据数据库 schema、用户问题和初始 SQL 的 schema 列表,将 mask 位置填充为正确的 schema 链接。这种"先定位后修正"的解耦设计使模型能独立优化每个子任务。
3. Logic Optimization Model (LOM) — 动作扰动增强的逻辑修正
LOM 处理逻辑推理错误(操作顺序、条件逻辑、聚合方式等)。为扩充训练数据,提出动作扰动策略:对正确轨迹施加 ADD(插入冗余动作)、DELETE(删除必要动作)、SUBSTITUTE(替换动作类型或参数)三种扰动,模拟真实错误模式。最终收集 15K 条错误-正确轨迹对进行训练。
训练与推理¶
| 阶段 | 模型 | 数据来源 | 数据量 | 训练方式 |
|---|---|---|---|---|
| Stage 1 | BAM | GPT-4o 蒸馏 + 可逆性验证 | 13K | LoRA 微调 |
| Stage 2 | SAM | BAM 层级自演化 + schema masking | 13K | LoRA 两阶段微调 |
| Stage 3 | LOM | BAM 自演化 + 动作扰动增强 | 15K | LoRA 微调 |
推理时三个模型顺序执行:BAM 生成动作轨迹 → SAM 修正 schema → LOM 修正逻辑 → 将修正轨迹反馈给 LLM 重新生成 SQL,全程单轮交互。
实验结果¶
主实验:GPT-4o 生成器 + 单轮修正¶
| 方法 | 外部反馈 | BIRD EX(%) | SPIDER EX(%) | 每千条成本 |
|---|---|---|---|---|
| GPT-4o (baseline) | — | 55.87 | 77.10 | — |
| Self-Correction | ✗ | 55.28 ↓ | 75.90 | — |
| Self-Consistency | ✗ | 58.75 | 81.80 | — |
| Multiple-Prompt | ✗ | 58.80 | 81.50 | $62.86 |
| Self-Debugging | ✓ | 58.28 | 81.20 | — |
| MAC-Refiner | ✓ | 58.74 | 80.40 | $20.18 |
| MAGIC | ✗ | 59.53 | 85.66 | $37.99 |
| +SHARE-3.8B | ✗ | 60.89 | 84.00 | — |
| +SHARE-8B | ✗ | 64.14 | 85.90 | $2.57 |
SHARE-8B 在 BIRD 上实现 14.80% 的相对提升,且推理成本仅为最经济基线的 1/10。
跨模型泛化与消融¶
| 实验维度 | 设置 | BIRD EX(%) | 变化 |
|---|---|---|---|
| 跨模型 | Claude-3.5-S → +SHARE-8B | 49.41 → 63.56 | +28.64% |
| GPT-4o-mini → +SHARE-8B | 49.09 → 59.64 | +21.49% | |
| Llama-3.1-70B → +SHARE-8B | 53.91 → 61.93 | +14.88% | |
| DS-Coder-6.7B → +SHARE-8B | 34.57 → 51.24 | +48.22% | |
| 鲁棒性 | DK 数据集 +SHARE-8B | 64.10 → 75.30 | +11.20% |
| Realistic 数据集 +SHARE-8B | 73.40 → 81.50 | +8.10% | |
| 消融 | w/o SAM (Schema Aug) | 60.02 | ↓ 4.08 |
| w/o LOM (Logic Opt) | 56.98 | ↓ 7.16 | |
| w/o 层级自演化 | 60.55 | ↓ 3.59 | |
| w/o 动作扰动 | 61.38 | ↓ 2.76 | |
| 数据效率 | 50% 训练数据 | 60.71 | 已超 MAGIC |
| 开源教师 | SHARE-llama (Llama-70B 教师) | 65.19 | 超 SHARE-gpt |
关键发现¶
- GPT-4o 原生 self-correction 导致性能下降(55.87→55.28),验证了 LLM 在声明式 SQL 上的 self-enhancement bias
- SHARE 单轮即可实现 BIRD +14.80%、SPIDER +11.41%,推理成本仅 $2.57/千条
- 仅 50% 训练数据即超过 SOTA(MAGIC),层级自演化策略大幅提升数据效率
- 跨模型(闭源/开源)、跨 SQL 方言(MySQL/PostgreSQL)均有效泛化,非拟合特定错误模式
- 使用开源 Llama-70B 替代 GPT-4o 作为教师模型,SHARE-llama 性能与 SHARE-gpt 持平甚至更优
亮点与不足¶
亮点:
- 核心创新在于"声明式→过程式"的范式转换,将 SQL 黑盒纠正转为动作轨迹白盒调试,错误定位精度大幅提升
- SLM 辅助 LLM 的协作范式极具性价比,推理成本仅为 MAGIC 的 6.8%
- 层级自演化策略解耦了训练数据构建对教师 LLM 的依赖,训练阶段成本也仅为 MAGIC 的 14.7%
不足:
- 仅验证单轮纠正,多轮迭代修正场景尚未探索
- 预定义的 pandas-like action space 可能无法覆盖所有 SQL 方言的复杂特性
- 对数学推理类错误(Mathematical Delusion)修正效果有限(仅 ↓1.63%),受限于生成器模型的数学能力
评分¶
| 维度 | 分数 (1-10) | 说明 |
|---|---|---|
| 新颖性 | 7 | 声明式→过程式转换 + 三模型顺序管道的设计有新意,但动作模型和 LoRA 微调均为成熟技术 |
| 有效性 | 9 | 四个基准全面提升,跨模型/跨方言泛化性强,50%数据即超SOTA,消融完整 |
| 工程价值 | 8 | 推理成本极低($2.57/千条),可即插即用辅助任意 LLM,开源教师模型方案进一步降低门槛 |
| 可复现性 | 8 | 代码已开源,训练细节充分,超参数和 prompt 均在附录给出 |
| - 目前仅评估在 SQLite 相关 benchmark 上,其他数据库系统的效果未知 |
相关工作¶
- Self-debugging: 基于执行反馈的迭代修正(Zhong et al., 2023; Li & Xie, 2024)
- Self-correction: 无需执行反馈的自主纠正(Liu & Tan, 2024; Askari et al., 2024)
- Action model: 将任务分解为过程式动作轨迹(Zhang et al., 2024)
- MAGIC: 当前 SOTA 的 text-to-SQL 自纠正方法
评分¶
- 新颖性: ★★★★☆ — 动作轨迹转换加模块化纠正的设计很有创意
- 技术深度: ★★★★☆ — 三阶段管道设计和自演化训练策略设计精细
- 实验充分性: ★★★★★ — 4个benchmark + 多个生成器 + 低资源分析 + 跨方言测试
- 实用价值: ★★★★☆ — 低成本辅助纠正在隐私受限的实际场景中非常有价值