AI 摘要 · 由英文经 AI 翻译
XiYan-SQL: A Novel Multi-Generator Framework For Text-to-SQL
Yifu Liu, Yin Zhu, Yingqi Gao, Zhiling Luo, Xiaoxia Li, Xiaorong Shi, Yuntao Hong, Jinyang Gao, Yu Li, Bolin Ding, Jingren Zhou
TL;DR
基于大语言模型的 Text-to-SQL 方法容易受到提示词影响,而仅有多样化候选项并不能保证查询正确或稳健。XiYan-SQL 结合多个筛选后的 schema、多样化生成器集成,以及候选项重组与模型选择。在 BIRD 和 Spider 上,该方法均取得最先进的性能。
问题
基于 LLM 的 Text-to-SQL 提示对提示词的结构和内容较为敏感,仅靠候选项多样化并不能保证查询正确或稳健。
出处:§I · p. 1方法
XiYan-SQL 筛选多个相关 schema,利用经过微调的模型和上下文学习模型生成多样化 SQL 候选项,再通过选择模型从重组后的候选项中选出结果。
出处:§I · p. 1, C. Multiple SQL Generation · p. 5, D. SQL Selection · p. 5结果
XiYan-SQL 在 BIRD 和 Spider 上均取得最先进的性能:在 BIRD 上的 EX 为 75.63%,在 Spider 测试集上的 EX 为 89.65%。
出处:B. Main Results · p. 7启示与局限
作者认为,将多样化 SQL 生成与选择相结合,对于单一生成风格可能失效的复杂查询是有效的。
出处:§VI · p. 12
Abstract
from arXiv · showhide
To leverage the advantages of LLM in addressing challenges in the Text-to-SQL task, we present XiYan-SQL, an innovative framework effectively generating and utilizing multiple SQL candidates. It consists of three components: 1) a Schema Filter module filtering and obtaining multiple relevant schemas; 2) a multi-generator ensemble approach generating multiple highquality and diverse SQL queries; 3) a selection model with a candidate reorganization strategy implemented to obtain the optimal SQL query. Specifically, for the multi-generator ensemble, we employ a multi-task fine-tuning strategy to enhance the capabilities of SQL generation models for the intrinsic alignment between SQL and text, and construct multiple generation models with distinct generation styles by fine-tuning across different SQL formats. The experimental results and comprehensive analysis demonstrate the effectiveness and robustness of our framework. Overall, XiYan-SQL achieves a new SOTA performance of 75.63% on the notable BIRD benchmark, surpassing all previous methods. It also attains SOTA performance on the Spider test set with an accuracy of 89.65%.
I. 引言
XiYan-SQL 通过结合多个 SQL 生成器与选择模型的框架,应对对提示敏感的 Text-to-SQL 生成问题。该框架在 BIRD 和 Spider 上取得了最先进的结果。
- 基于提示的上下文学习方法能够提升 SQL 生成效果,但其性能受 LLM 对提示结构和内容的敏感性限制。引言还指出,仅有候选多样性并不能确保正确性或稳健性,而自一致性方法未必能选出最优查询。出处:§I · p. 1
- XiYan-SQL 采用由微调专家模型和上下文学习模型构成的混合集成,并通过 Schema Filter 为生成提供多样化的模式。随后,框架从候选查询中进行选择;引言还介绍了模式检索和迭代式列选择。出处:§I · pp. 1–2
- 多任务微调旨在实现 SQL 与文本的句法对齐,多格式训练则鼓励生成结构或风格不同、但语义等价的查询。例如,复杂的 CTE 与较简单的子查询,以及明确指定的风格约定。出处:§I · pp. 1–2
- XiYan-SQL 在 BIRD 上以 75.63% EX 的成绩登顶排行榜,成为当时的最先进方法;提交时领先第二名 0.84%。论文还报告称,该方法在 Spider 测试集上取得了最先进的执行准确率 89.65%。出处:§I · p. 2
- Schema Filter 通过多路径检索和迭代式列选择,生成多个精确率和召回率各异的模式。贡献列表将其描述为向下游生成器提供多样化的模式输入。出处:§I · pp. 1–2
- 候选重组策略与经过微调的 SQL 选择模型协同工作,从生成的候选中识别出更优查询。模型从结构化列表中进行选择前,会依据一致性结果对候选进行重组。出处:§I · pp. 1–2
II. 相关工作
Text-to-SQL 研究已从模板和编码器—解码器模型发展到基于 LLM 的提示与微调。XiYan-SQL 通过由微调生成器和互补模式组成的模块化集成方案脱颖而出。
- 早期 Text-to-SQL 系统依赖人工设计的模板,之后发展出基于 Transformer 的编码器—解码器模型,以及 BERT、TaBERT 和 GraPPa 等预训练语言模型 [15]。论文指出,这些早期方法在更复杂、更多样的场景中存在局限。出处:§II · p. 2
- 提示工程方法通过分解、示例、思维链和多智能体提示来引导 SQL 生成 [8] [19] 。以往的模式链接方法通常为单个生成器寻找一个最优模式,而 XiYan-SQL 则旨在提供多个互补模式。出处:§II · p. 2
- 生成并筛选多个基于提示的候选项会增加推理开销,且仍容易受到提示影响 [8];微调方法则致力于以更少参数实现可控的 SQL 生成 。论文指出,现有微调方法在有挑战性的场景或基准测试中仍可能表现不佳。出处:§II · pp. 2–3
- XiYan-SQL 提出由风格各异的微调本地模型组成的模块化集成方案,并与迭代式模式筛选协同设计,以提供多样化输入和生成器风格。作者将解耦的组件定位为可与基于智能体的系统互补的工具或专家,并将该框架描述为构建稳健、保护隐私且经济高效的 Text-to-SQL 系统的蓝图。出处:§II · p. 3
III. 方法
XiYan-SQL以问题、文本证据和数据库模式为输入,依次进行模式筛选、多路SQL生成和候选选择。其Schema Filter模块检索相关模式元素,并通过迭代生成多样化的筛选后模式。
A. 整体框架
- 该框架以用户问题、文本证据和数据库模式为输入,随后筛选模式、生成多个SQL候选,并选出一个查询。选择模型通过候选重组来确定最准确的查询。出处:A. Overall Framework · p. 3
B. Schema Filter
- 多路径检索利用问题和证据中的关键词及模式元数据,在大型数据库中查找相关表、列和值。检索阶段对模式元素使用嵌入向量余弦相似度,并基于编辑距离和嵌入向量筛选值。出处:B. Schema Filter · pp. 3–4
- 迭代式列选择会生成多个模式,并保留主键和外键——包括完整的复合键及被引用键——以维持连接关系。随着迭代次数增加,筛选出的模式趋向于精度降低、召回率提高,从而为后续生成提供多样化的模式。出处:B. Schema Filter · p. 4
C. 多种 SQL 生成
XiYan-SQL 在相关语言–SQL任务和多格式查询上训练 SQL 生成器,以增强语言与 SQL 的对齐并生成多样化候选结果。该框架结合多个微调生成器、一个基于 ICL 的模型以及执行反馈优化。
C. 多种 SQL 生成
- 该训练策略通过监督微调同时优化 SQL 质量和候选多样性,以应对提示格式敏感性。论文指出,基于提示的生成难以在提高多样性的同时保证质量,因此提出了这一方案。出处:C. Multiple SQL Generation · p. 4
- 联合微调在标准 Text-to-SQL 训练中加入 Question Inference、Evidence Inference 和 Self-Refine,以增强语言与 SQL 的对齐。这些辅助任务分别从 SQL 推断可能的问题及相关信息、筛选相关证据,并利用先前生成结果和执行结果重新生成 SQL。出处:C. Multiple SQL Generation · p. 4, Figure 2 · p. 4
- 多格式训练通过结构变化(如 CTE 改写)和风格变化(如关键词大小写及表别名)构建专用生成器。这些变化为同一输入提供不同的 SQL 生成风格。出处:C. Multiple SQL Generation · p. 4, Figure 3 · p. 5
- 生成阶段针对经过筛选的模式,结合多个微调生成器和一个基于 ICL 的模型来生成候选结果;若生成遇到执行错误,则重试。候选结果数量由筛选后的模式数量乘以生成器数量决定。出处:C. Multiple SQL Generation · p. 5
D. SQL 选择
XiYan-SQL借助以执行结果一致性为依据的重组策略,从多个SQL候选中进行选择。选择数据包括执行结果等价的正例和有意构造的困难负例。
D. SQL 选择
- 选择模型在重组候选后依据一致性进行选择,从而处理自一致性无法形成多数意见或倾向于错误结果的情况。该方法将选择模型与候选重组策略结合,以引导模型关注相关信息。出处:D. SQL Selection · p. 5
- 选择训练将执行结果相同的候选标记为正例;负例则包括自然产生的错误查询,以及经LLM修改后似是而非的查询。只要执行结果相同,正例就不必与真实SQL语句字符串一致。出处:D. SQL Selection · p. 5
- 训练和推理阶段的候选查询均经过去形式化处理,以消除表面风格差异,使选择过程聚焦于语义正确性。标准SQL格式化工具可消除大小写、空格等差异。出处:D. SQL Selection · p. 5
- 推理时,先按执行结果一致性对可执行候选进行聚类,再依据簇大小和生成器性能排序。当某个共识结果占主导时,按簇顺序呈现候选;否则,从每组中各选一个候选交由选择模型处理。出处:D. SQL Selection · p. 5
- 选择模型接收问题、筛选后模式的并集、证据以及重组后的候选;排序利用一致性先验,同时减轻干扰。跨组按簇大小排序,组内则按生成器顺序排序。出处:D. SQL Selection · pp. 5–6
IV. 实验
实验评估 XiYan-SQL 的基准测试表现、框架组件及组件级行为。比较采用公开基准测试结果,以及在与 XiYan-SQL 相同配置下复现的结果。
IV. 实验
- 实验旨在展示 XiYan-SQL 在重要基准测试上的领先性能,并通过消融实验和组件分析评估其框架。评估也旨在为 XiYan-SQL 提供实证见解。出处:§IV · p. 6
- 比较采用先前方法公开可用的基准测试结果;作者称,这些结果通常来自其最强实现。出处:§IV · p. 6
- 复现的比较结果采用与 XiYan-SQL 相同的配置,包括基础模型。出处:§IV · p. 6
A. 实验设置
XiYan-SQL 在 BIRD 和 Spider 上使用执行准确率进行评估,并额外评估其在 BIRD 上的效率。实现中使用两个筛选后的模式和五个生成器,共生成十个候选项。
A. 实验设置
- BIRD 评估在本地使用其开发集,并提交结果至尚未发布的测试集;Spider 评估则侧重其测试集。BIRD 包含 95 个数据库中的 12,751 组问题–SQL 对;Spider 包含 200 个数据库中的 10,181 个问题。出处:A. Experimental Setup · p. 6
- 执行准确率衡量预测 SQL 的执行结果是否与真实查询的结果一致;BIRD 和 Spider 的具体计算方式略有不同。BIRD 的最新版本还报告 R-VES,该指标在准确率之外评估预测正确的查询的运行效率。出处:A. Experimental Setup · p. 6
- 最终框架使用 Qwen2.5-Coder-32B 构建五个生成器,其中包括四个微调模型和一个基于 ICL 的生成器,并使用 Qwen2.5-Coder-7B 进行筛选。GPT-4o 和 Qwen-Max 协助构建多任务和多格式数据;GPT-4o 还用于扩充筛选模型的训练数据。出处:A. Experimental Setup · pp. 6–7
- 借助两个筛选后的模式和五个生成器,该实现可生成十个 SQL 候选项;由于成本和资源限制,作者没有增加模型或候选项的数量。出处:A. Experimental Setup · pp. 6–7
- Table I 展示了 Text-to-SQL 方法在 BIRD 基准上的性能对比。出处:Table I · p. 7
B. 主要结果
XiYan-SQL在BIRD和Spider上取得领先的执行准确率;消融实验和Schema Filter评估则考察了各组件的作用。
B. 主要结果
- XiYan-SQL在BIRD上的EX达到75.63%,领先榜单第二名0.84%,创下SOTA;在未针对Spider进行专门调优的情况下,Spider上的EX也达到89.65%,创下SOTA。Spider上的结果补充了BIRD侧重数值的复杂性,也体现了Spider的结构复杂性。出处:B. Main Results · p. 7, Table II · p. 7
C. 消融研究
- 移除Schema Filter后,BIRD dev上的性能下降约1.24%;与多个生成模型相比,仅使用一个生成模型会导致约4%的性能下降。移除所提出的选择方法并改用多数投票,也会显著降低性能。出处:C. Ablation Study · p. 7, Table III · p. 8
D. Schema Filter研究
- Schema Filter的列召回率和值召回率均高于复现的模式链接方法,同时保持了精确率;通过多轮迭代调整精确率与召回率的平衡,生成多样化的模式。S1和S2分别表示第一轮和第二轮过滤迭代得到的模式。出处:D. Study of Schema Filter · p. 8, Table IV · p. 8
- 对三个生成器取平均后,Schema Filter方法的最终查询结果优于完整模式方法,且第一轮迭代优于第二轮。该比较报告相对于完整模式方法的ΔEX。出处:D. Study of Schema Filter · p. 8, Table V · p. 8
E. 单条 SQL 生成研究
多任务微调提升了单个生成器的 SQL 生成能力,多样化生成器扩大了候选覆盖范围,而重组式选择模型有助于从候选中选出最佳结果。
E. 单条 SQL 生成研究
- 多任务训练使不同类型和规模模型的单生成器结果提升了8.3%–15.3%;Qwen2.5-Coder-32B达到66.88% EX。与常规微调相比,五个基础微调模型的提升分别为4.5%、4.04%、2.9%、2.9%和2.2%。出处:E. Study of Single SQL Generation · p. 8
- 移除 Question Inference 导致辅助任务消融中的最大性能下降;移除 Self-refine 或 Evidence Inference 也会降低性能,而推理时自我优化带来了约1%的提升。完整的多任务模型优于逐项移除任务的变体和仅使用主任务的基线。出处:E. Study of Single SQL Generation · pp. 8–9, Table VII · p. 9
F. 多条 SQL 生成研究
- Multi-FT 平衡了候选多样性与准确率,准确率比 ICL-Prompt 提高约2%;在微调模型中加入 ICL 生成,进一步提升了多样性,同时保持了质量。Figure 4(a) compares methods using five candidates.出处:F. Study of Multiple SQL Generation · p. 9, Figure 4 · p. 10
- 候选项为10个时,多生成器候选池的上限达到82.2%,而下限有所下降;多任务训练有助于提升生成器质量,多格式训练则带来多样性。上限反映候选项正确性的潜力,因此候选集越大,选择环节就越为关键。出处:F. Study of Multiple SQL Generation · p. 9, Figure 4 · p. 10
G. SQL 选择研究
- 重组式选择策略的 EX 达到69.82%,比多数投票高约3%;微调后的选择器优于基线模型和先进的开箱即用模型。该策略对候选项进行组织,使选择模型的注意力更加集中;随着候选项数量增加,其优势更加明显。出处:G. Study of SQL Selection · pp. 9–10, Table VIII · p. 10
H. 不同 SQL 生成器的结果分析
这五个生成器采用不同的微调与提示方法,在单体准确率和互补的候选多样性之间权衡,以应对困难查询。
H. 不同 SQL 生成器的结果分析
- 贡献率衡量在结果不一致的案例中,最终选中的候选由哪个生成器提供;约 45% 的案例因所有候选的执行结果相同而被排除。各生成器的贡献率之和为 100%。出处:H. Analysis of Results from Different… · p. 10
- SQLG1 的单体 Avg. EX 最佳,贡献率也最高;专门化的 SQLG2–SQLG4 则牺牲部分峰值准确率,以便在困难案例中提供互补的生成结果。SQLG2 侧重结构变化,SQLG3 侧重风格变化,SQLG4 结合多任务与多格式数据,SQLG5 则采用 GPT-4o ICL。出处:H. Analysis of Results from Different… · p. 10, Table X · p. 11
- SQLG2 和 SQLG5 的 R1 值较高,表明它们能产出独有的正确结果;SQLG3 和 SQLG4 的分布更多集中在中间范围,而 SQLG1 的 R3 和 R4 较高。Rn 表示只有 n 个生成器产出正确结果的案例。出处:H. Analysis of Results from Different… · p. 10
- 在一个需要两步推理的 BIRD dev 查询中,SQLG1 的聚合操作未能成功,而 SQLG2 的 CTE 将推理步骤拆解为正确且易读的解答。作者将 SQLG2 的结构多样性描述为互补优势,同时指出这种优势并非完全适用于其他情形。出处:H. Analysis of Results from Different… · p. 11, Figure 5 · p. 11
I. 成本效率分析
我们评估了 XiYan-SQL 的推理成本及其在 BIRD 和 BIRD-CRITIC 上的泛化能力。结果显示,其延迟低于 CHASE-SQL,在分布内 BIRD 数据上表现出色,并在 BIRD-CRITIC 上取得了最优成绩。
I. 成本效率分析
- Table XI 按成功生成答案的生成器数量对 BIRD dev 中的正确答案进行分组,区分仅在 R1 中出现的独有解与在 R5 中全部正确的答案。文中将 Rn 定义为恰有 n 个模型成功时,生成器给出正确答案的比例。出处:Table XI · p. 11
- 训练 32B SQL 生成器和 7B 选择模型的成本分别为 45 GPU 小时和 15 GPU 小时。运行使用 NVIDIA A100 80G GPU,分别消耗约 180 million 和 50 million tokens。出处:§I · p. 11
- 每个 BIRD dev 样本的端到端延迟约为 40.81 秒;在 Apple M4 Pro 上执行 10 个候选项的平均耗时为 0.35 秒。执行时间取决于硬件和数据库规模;所报告的平均耗时包含 self-refine 操作。出处:§I · p. 11
- 使用 10 个候选项时,XiYan-SQL 仅需 CHASE-SQL 延迟的 60%,性能便超过了 CHASE-SQL 使用 21 个候选项时的表现。Table XII 汇总了平均推理成本;比较中的延迟数据基于 CHASE-SQL 提供的信息。出处:§I · p. 11, Table XII · p. 12
J. 泛化能力研究
- 在 BIRD 黑盒测试集上的执行准确率比公开 dev 集高 2.3%,超过了以往 SOTA 方法通常不足 1% 的差距。作者认为,这表明该框架学到了可泛化的翻译模式,而非仅仅过拟合开发集。出处:J. Study of Generalization · p. 12
- XiYan-SQL 在 BIRD-CRITIC 上取得 41.0%,达到公开排行榜上的 SOTA,展现了分布外泛化能力。文中称,该基准旨在应对现实应用中的复杂用户挑战。出处:J. Study of Generalization · p. 12
- 作者将其在 BIRD 测试集上的出色表现与 BIRD-CRITIC 上的 SOTA 成绩一并作为证据,说明该框架具有很强的泛化能力。作者称,该框架已可用于应对现实应用中的挑战。出处:J. Study of Generalization · p. 12
V. 讨论
讨论强调,应平衡 schema 链接的精确率与召回率,在提高候选多样性之前先提升单条 SQL 候选的质量,并考虑候选顺序对选择的影响。结论介绍了 XiYan-SQL 的 schema 过滤、多样化生成器和候选重组策略,并指出推理能力及更广泛 SQL 任务是未来方向。
V. 讨论
- 当 schema 链接的召回率达到 80% 等阈值后,提升精确率对整体结果更有益。作者以 Schema Filter 的多轮迭代为依据,说明需要平衡精确率与召回率。出处:§V · p. 12
- 相关的多种任务有助于提升经过微调的 SQL 生成器;提高候选多样性之前,应先提升单个生成器的生成质量。任务组合可根据主题考量进行调整;无论采用多个生成器,还是采用具备多路径生成能力的单个生成器,都应遵循先提升质量、再增加多样性的原则。出处:§V · p. 12
- 在某些任务上,API 推理模型优于单独微调的模型;而完整的 XiYan-SQL 流程在两个复杂内部数据集上取得了最高准确率。文中指出,API 模型在某些 SQL 推理任务上泛化能力更强,例如 BIRD-CRITIC 的 SQL 调试任务。出处:§V · p. 12
- LLM 的 SQL 选择对候选项顺序和组织方式较为敏感,因此加入先验知识有助于提升性能。作者报告称,微调和未经微调的 LLM 都存在这种敏感性,与先前研究 [37], 的发现类似。出处:§V · p. 12
VI. 结论
- XiYan-SQL 将多路径检索和迭代式列选择,与多任务、多格式生成器及重组后的候选选择模块相结合。作者指出,对于单一生成风格可能无法胜任的复杂查询,多样化的生成风格至关重要。出处:§VI · p. 12
- 未来方向包括增强专用模型的推理能力,并将 XiYan-SQL 扩展至 schema 链接和查询优化。后者被描述为一种可能性,即构建适用于更广泛 SQL 相关任务的统一“all-in-one”模型。出处:§VI · pp. 12–13