AI 摘要 · 由英文经 AI 翻译

CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL

Mohammadreza Pourreza, Hailong Li, Ruoxi Sun, Yeounoh Chung, Shayan Talaei, Gaurav Tarlok Kakkar, Yu Gan, Amin Saberi, Fatma Ozcan, Sercan O. Arik

arXiv:2410.01943v1cs.LGcs.AIcs.CLcs.DB

TL;DR

当单次提示带来的多样性和自一致性不足以满足需求时,Text-to-SQL 系统需要可靠的方法来生成和筛选 SQL。CHASE-SQL 使用多个基于推理的生成器、合成示例、查询修正和经过成对微调的选择器。在 BIRD 开发集上的执行准确率为 73.01%,在留出测试集上为 73.0%,在报告的评测中达到最先进水平。

  • 问题

    单提示设计可能无法充分利用 LLM 的 Text-to-SQL 能力;即使答案一致,自一致性也可能选出错误答案。

    出处:§1 · p. 2
  • 方法

    CHASE-SQL 通过分而治之、查询计划和在线合成示例策略生成多样化候选,再进行成对筛选和查询修正。

    出处:§1 · p. 2, §3.3 · p. 4, §3.5 · pp. 5–6
  • 结果

    CHASE-SQL 在 BIRD 上的开发集执行准确率为 73.01%,留出测试集执行准确率为 73.0%,达到新的最先进水平。

    出处:§4.2 · p. 7
  • 要点与局限

    CHASE-SQL 展示了测试时计算在生成多样化 SQL 查询和筛选准确答案方面的效果。

    出处:§5 · p. 11

Abstract

from arXiv · show

In tackling the challenges of large language model (LLM) performance for Text-to-SQL tasks, we introduce CHASE-SQL, a new framework that employs innovative strategies, using test-time compute in multi-agent modeling to improve candidate generation and selection. CHASE-SQL leverages LLMs' intrinsic knowledge to generate diverse and high-quality SQL candidates using different LLM generators with: (1) a divide-and-conquer method that decomposes complex queries into manageable sub-queries in a single LLM call; (2) chain-of-thought reasoning based on query execution plans, reflecting the steps a database engine takes during execution; and (3) a unique instance-aware synthetic example generation technique, which offers specific few-shot demonstrations tailored to test questions.To identify the best candidate, a selection agent is employed to rank the candidates through pairwise comparisons with a fine-tuned binary-candidates selection LLM. This selection approach has been demonstrated to be more robust over alternatives. The proposed generators-selector framework not only enhances the quality and diversity of SQL queries but also outperforms previous methods. Overall, our proposed CHASE-SQL achieves the state-of-the-art execution accuracy of 73.0% and 73.01% on the test set and development set of the notable BIRD Text-to-SQL dataset benchmark, rendering CHASE-SQL the top submission of the leaderboard (at the time of paper submission).

1 引言

CHASE-SQL通过采用多样化候选生成器和选择机制,解决Text-to-SQL中单提示生成与自一致性方法的局限。在BIRD上,其开发集和测试集执行准确率分别达到73.01%和73.0%。

  • Text-to-SQL将自然语言问题转换为可执行的SQL,使用户无需掌握SQL也能使用数据库。出处:§1 · p. 1
  • 自一致性方法可能选出错误答案,因为最一致的回答并不总是正确的。出处:§1 · p. 2, Table 1 · p. 2
  • CHASE-SQL在智能体框架中利用测试时计算,生成多样且高质量的候选回答。出处:§1 · p. 2
  • 其生成器采用分而治之式分解、查询计划推理和在线合成示例来引导候选生成。出处:§1 · p. 2
  • 在BIRD基准上,开发集和测试集的执行准确率分别达到73.01%和73.0%。出处:§1 · p. 2

2 相关工作

Text-to-SQL 研究从神经序列到序列模型和表格语言模型,逐步发展到基于 LLM 的方法。近期研究则主要关注提示优化及相关 LLM 技术。

  • 早期 Text-to-SQL 系统采用 GNN、RNN、LSTM 和预训练 transformer 编码器,并使用槽位填充或自回归解码。出处:§2 · p. 2
  • TaBERT、TaPas 和 Grappa 等表格语言模型将表格与文本数据共同编码。出处:§2 · p. 2
  • 由于 Text-to-SQL 性能更优,LLM 已在很大程度上取代了早期方法。出处:§2 · p. 3
  • 最初的基于 LLM 的研究主要聚焦于提示设计优化。出处:§2 · p. 3

3 方法

CHASE-SQL结合值检索、多路径候选生成、查询修复和两两比较选择。生成器构造多样化的 SQL 候选,训练好的选择器则从中选出最佳结果。

整体框架

  • 框架先检索相关数据库值,再将这些值、元数据和模式提供给 LLM 生成候选。出处:§3.1 · p. 3, §3.2 · p. 3

候选生成与选择

  • CHASE-SQL 优先保证候选多样性,因为执行结果的一致性可能导致选出次优答案。出处:§3.3 · p. 3

多路径候选生成

  • 思维链生成采用分而治之分解、基于查询执行计划的推理,以及在线合成示例。出处:§3.3 · pp. 4–5

分而治之 CoT

  • 分而治之 CoT 将问题拆解为若干子问题,生成部分 SQL 查询,再组合成最终查询。出处:§3.3 · p. 4

Query Plan CoT

  • Query Plan CoT 将数据库 EXPLAIN 输出转换为易读的执行步骤,以指导 SQL 构造。出处:§3.3 · p. 4

在线合成示例生成

  • 针对每个问题生成在线合成示例,以定制少样本演示,同时减少重复使用误导性示例的情况。出处:§3.3 · p. 5

查询修复器

  • 基于 LLM 的修复器利用语法错误或空结果集作为反馈,迭代修正语法不正确的查询。出处:§3.4 · p. 5

选择代理

  • 选择代理以分类为目标,每次比较两个候选,而不是同时对较大的候选组排序。出处:§3.5 · p. 6

4 实验

CHASE-SQL 在 BIRD 和 Spider 上通过基准对比、消融实验、生成器分析及选择代理研究进行评估。结果表明,该方法在 BIRD 上达到最先进水平,在 Spider 上具有较强的泛化能力;不同生成器彼此互补,训练得到的选择器优于基于一致性的选择方式。

BIRD 结果

  • CHASE-SQL 在 BIRD 开发集上取得 73.01% 的准确率,在留出测试集上取得 73.0%,达到最先进水平。Gemini 1.5 pro 配置在报告的两个 BIRD 数据划分上均优于此前方法。出处:§4.2 · p. 7

Spider 结果

  • 在 Spider 测试集上,执行准确率达到 87.6%,表明该方法无需针对目标分布调整提示词或重新训练选择模型,也能实现泛化。在专门针对 Spider 训练或优化提示词的方法中,CHASE-SQL 位居第二。出处:§4.3 · p. 7

消融实验

  • 消融实验将候选生成器与采用零样本思维链的原始 BIRD 提示词进行比较,并评估查询修复器及框架其他组件的贡献。报告的分析包括单候选生成、21 候选选择,以及二元选择模型的比较。出处:§4.4 · p. 8, Table 4 · p. 8, Table 5 · p. 8

候选生成分析

  • 随着候选数量增加,上界性能有所提升;但对于中等难度和较难的 BIRD 问题,性能增益比简单问题更早趋于平缓。该分析汇总了三种生成方法产生的候选,并按人工标注的难度等级进行考察。出处:§4.4 · pp. 8–9, Figure 2 · p. 9

生成器分析

  • 三种生成器能够互补地给出正确答案:分而治之方法在较难问题上表现最好,查询计划推理则在中等难度问题上表现最好。在线合成示例提升了多样性,并在不同数据库上总体产生了更多正确答案。出处:§4.4 · p. 9

选择分析

  • 对于在温度 0.5 和 1.8 下采样得到的候选池,选择代理的表现比自一致性方法高出约 6%。较高的温度会提高上界、降低下界,而训练得到的选择器对温度变化不太敏感。出处:§4.4 · pp. 9–10, Table 6 · p. 10

5 结论

CHASE-SQL 是一种智能体框架,利用测试时计算生成多样且高质量的 SQL 候选,并选出最准确的答案。其生成器—选择器设计旨在应对复杂 Text-to-SQL 任务中的查询多样性和选择优化问题。

  • CHASE-SQL 利用测试时计算生成多样且高质量的 SQL 查询,并选出正确答案。出处:§5 · p. 11
  • 该框架结合多种思维链提示方法与在线合成示例生成。出处:§5 · p. 11
  • 其查询选择机制通过两两比较为候选打分。出处:§5 · p. 11
  • 截至论文投稿时,CHASE-SQL 在公开的 Text-to-SQL 排行榜上取得了最先进的成绩。出处:§5 · p. 11
  • 该框架旨在解决复杂真实场景 Text-to-SQL 推理中的查询多样性和选择优化问题。出处:§5 · p. 11

A.1 相关工作

Self-consistency 会生成多个 SQL 响应,根据执行结果对它们分组,并从最大组中选择一个查询。这为 Text-to-SQL 答案选择提供了一种基于一致性的方法。

  • Self-consistency 从 LLM 采样多个响应,并通过多数投票选出最一致的答案。出处:§A.1 · p. 14
  • 在 Text-to-SQL 中,self-consistency 会针对一个问题生成多条 SQL 查询。出处:§A.1 · p. 14
  • 生成的查询会根据其执行结果进行分组。出处:§A.1 · p. 14
  • 从成员数量最多的组中选出一个查询。出处:§A.1 · p. 14

A.2 模型

实验采用 Gemini 和 Claude 模型,因其擅长处理长上下文,这对于在大型数据库上执行 Text-to-SQL 任务尤为重要。生成相关组件和查询选择组件使用的模型有所不同。

  • 实验采用 Gemini 和 Claude 系列模型。出处:§A.2 · p. 14
  • 这些模型被认为能够处理大型数据库查询所需的长上下文信息。出处:§A.2 · p. 14
  • Gemini 1.5 Pro 和 Claude-3.5-Sonnet 用于候选生成及若干辅助组件。出处:§A.2 · p. 14
  • 查询选择模型使用 Gemini 1.5 Flash 进行训练。出处:§A.2 · p. 14

A.3 基于数据库的性能

本节分析了不同候选生成方法在 BIRD 开发集各数据库上的表现。Figure 4 展示了各方法在不同数据库上得到的正确查询数量。

  • 分析评估了各候选生成方法在 BIRD 开发集数据库上的表现。出处:§A.3 · p. 15
  • Figure 4 对比了各方法在 BIRD 开发集不同数据库上的表现。出处:Figure 4 · p. 15
  • 该图以正确查询数量作为比较指标。出处:Figure 4 · p. 15

A.4 错误分析

错误分析将最终答案的正确性与候选可用性及选择结果区分开来,并比较不同数据库上的这些正确性指标。大多数回答正确,但选择错误仍是一个显著的失败来源。

性能细分

  • 72.9%的案例得到了正确的最终答案,另有10.4%的案例中存在正确候选,但系统未选择该候选。其余类别包括生成错误或不存在正确候选(6.7%),以及错误的标准查询(10.0%)。出处:§A.4 · p. 16

数据库对比

  • Figure 6比较了各数据库中候选集包含正确查询的比例,以及选择智能体选出正确查询的比例。横轴表示数据库或类别,纵轴表示性能百分比。出处:§A.4 · pp. 16–17, Figure 6 · p. 16
  • 数据库对比将候选生成覆盖率与选择成功率区分开来,而非将正确性视为单一指标。这种区分可以揭示错误是发生在选择之前,还是发生在智能体从候选中进行选择时。出处:Figure 6 · p. 16, §A.4 · p. 17

A.4.1 选择智能体错误分析

当存在正确候选项、但另一个候选项得分最高时,我们分析选择智能体的错误。这些错误分为问题含糊、选择错误、数据完整性错误和标准查询错误。

错误类别

  • 选择错误分为问题含糊、选择错误、数据完整性错误和标准查询错误。分析对象是至少有一个生成候选项符合真实答案、但选择器选中了另一个候选项的情况。出处:§A.4.1 · p. 17, Figure 7 · p. 17

选择错误

  • 选择错误是数量最多的错误类别,通常表现为所选候选项遗漏了必需的列、表或 SQL 子句。分析未发现不同实例中反复出现的特定错误模式;其中一个例子使用 *,而不是只返回必需的 id。出处:§A.4.1 · p. 17, Figure 8 · p. 17

标准查询错误

  • 标准查询错误是第二大类别:真实答案中的 SQL 有误,而某个生成候选项复现了这一错误。在示例中,标准查询包含了问题未要求的额外 molecule_ID 列,而另一个候选项给出了正确答案。出处:§A.4.1 · p. 18, Figure 9 · p. 18

问题含糊

  • 问题含糊时,即使选择器的选择与明确无歧义的参考查询不同,也可能看似正确。Figure 10 展示了一个归因于问题表述模糊的错误案例。出处:Figure 10 · p. 18

数据完整性

  • 数据完整性错误是数量最少的类别,发生在本应一致的列中存在缺失值时。一个例子涉及 School 或 School Name 列中的缺失值。出处:§A.4.1 · p. 18

A.4.2 错误分析

错误分析将失败归纳为模式链接、逻辑错误、SQL 函数错误、JOIN 错误和忽略证据,其中最常见的是缺少必需的列或表。附录还展示了所提出的分而治之与查询计划推理提示、查询修正、选择代理提示以及合成示例生成。

错误类别

  • 候选查询未使用问题所需的列或表时,最常出现模式链接错误。含义模糊或容易混淆的列名可能导致模型选错字段。出处:§A.4.2 · pp. 18, 20
  • 逻辑错误包括遗漏 DISTINCT、NOT NULL 条件、SELECT 列,或 WHERE 和 HAVING 条件。分析指出,这是数量第二多的错误类别。出处:§A.4.2 · p. 20
  • SQL 函数错误包括使用错误或遗漏函数,例如 COUNT()、CAST()、AVG() 和 ROUND()。一个示例需要使用 ROUND(),但所有候选查询都未使用该函数。出处:§A.4.2 · p. 20
  • 当预测的 SQL 查询在 JOIN 子句中遗漏一个或多个表时,就会出现 JOIN 错误。忽略明确证据也是一种记录在案的错误类别,但占比最小。出处:§A.4.2 · p. 20

提示示例

  • 分而治之 CoT 方法将问题拆解为伪 SQL 子问题,汇总各子问题的解,并优化生成的查询。示例展示了一个仅由该生成器解出的查询。出处:§A.5 · pp. 20–21
  • 查询计划 CoT 方法模拟数据库执行步骤;选择代理提示则根据两个候选查询的答案及其差异进行比较。附录还展示了查询修正提示,以及实例感知的合成示例;除 CASE 语句外,这些示例的 SQL 特征分布与真实标注分布高度接近。出处:§A.6 · p. 24, §A.8 · p. 27, §A.9 · p. 28
Loading 2410.01943v1…