CSC-SQL: Corrective Self-Consistency in Text-to-SQL via Reinforcement Learning
作者: Lei Sheng, Shuai-Shuai Xu
分类: cs.CL
发布日期: 2025-05-19 (更新: 2025-06-30)
备注: 25 pages, 5 figures
🔗 代码/项目: GITHUB
💡 一句话要点
提出CSC-SQL,通过强化学习优化自洽性和自校正,提升Text-to-SQL的准确率。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: Text-to-SQL 自洽性 自校正 强化学习 群体相对策略优化 大型语言模型 SQL生成
📋 核心要点
- 现有Text-to-SQL方法如自洽性可能选择次优解,自校正仅纠正语法错误,未能充分利用二者优势。
- CSC-SQL融合自洽性和自校正,选择高频输出进行合并修订,并用强化学习微调生成和修订模型。
- 实验表明,CSC-SQL在BIRD数据集上显著提升了SQL执行准确率,7B模型达到71.72%,32B模型达到73.67%。
📝 摘要(中文)
大型语言模型(LLMs)在将关于关系数据库的自然语言问题翻译成SQL查询方面表现出强大的能力。特别是,诸如自洽性(Self-Consistency)和自校正(Self-Correction)等测试时扩展技术可以通过增加推理过程中的计算量来提高SQL生成精度。然而,这些方法存在明显的局限性:自洽性可能在多数投票的情况下选择次优输出,而自校正通常只解决语法错误。为了利用这两种方法的优势,我们提出了一种新方法CSC-SQL,它集成了自洽性和自校正。CSC-SQL从并行采样中选择两个最常出现的输出,并将它们输入到合并修订模型中进行校正。此外,我们采用群体相对策略优化(GRPO)算法,通过强化学习对SQL生成和修订模型进行微调,从而显著提高输出质量。实验结果证实了CSC-SQL的有效性和泛化性。在BIRD私有测试集上,我们的7B模型实现了71.72%的执行准确率,而32B模型实现了73.67%。代码已在https://github.com/CycloneBoy/csc_sql上开源。
🔬 方法详解
问题定义:论文旨在解决Text-to-SQL任务中,现有自洽性(Self-Consistency)和自校正(Self-Correction)方法的局限性问题。自洽性可能因为多数投票机制而选择次优的SQL查询,而自校正通常只关注语法层面的错误,忽略了语义层面的问题。这些方法未能充分利用大规模语言模型在理解自然语言和SQL查询之间的复杂关系的能力。
核心思路:论文的核心思路是将自洽性和自校正两种方法结合起来,并利用强化学习进行优化。首先,通过自洽性生成多个候选SQL查询,然后选择其中最常见的两个查询。接着,使用一个专门的修订模型对这两个查询进行合并和校正,以生成更准确的SQL查询。最后,使用群体相对策略优化(GRPO)算法,通过强化学习的方式对生成模型和修订模型进行微调,从而提高整体性能。
技术框架:CSC-SQL的技术框架主要包含三个阶段:1) SQL生成阶段:利用大型语言模型生成多个候选SQL查询;2) 合并修订阶段:选择两个最常见的SQL查询,并使用修订模型进行合并和校正;3) 强化学习优化阶段:使用GRPO算法对生成模型和修订模型进行微调。整体流程是先通过自洽性采样得到多个SQL查询,然后通过合并修订模型进行优化,最后通过强化学习进一步提升性能。
关键创新:论文的关键创新在于以下几点:1) 提出了CSC-SQL方法,将自洽性和自校正两种技术融合在一起,充分利用了它们的优势;2) 使用合并修订模型对候选SQL查询进行优化,能够有效地纠正语法和语义错误;3) 采用群体相对策略优化(GRPO)算法,通过强化学习的方式对生成模型和修订模型进行微调,从而显著提高整体性能。与现有方法相比,CSC-SQL能够更有效地利用大规模语言模型的能力,生成更准确的SQL查询。
关键设计:在合并修订阶段,修订模型的设计至关重要,需要能够理解两个SQL查询之间的差异,并生成一个更准确的查询。在强化学习优化阶段,GRPO算法的设计需要考虑到生成模型和修订模型的相互作用,以及如何有效地利用奖励信号来提高整体性能。具体的参数设置、损失函数和网络结构等技术细节在论文中应该有详细描述(未知)。
🖼️ 关键图片
📊 实验亮点
CSC-SQL在BIRD私有测试集上取得了显著的性能提升。7B模型达到了71.72%的执行准确率,而32B模型达到了73.67%。这些结果表明,CSC-SQL能够有效地提高Text-to-SQL的准确率,并且具有良好的泛化能力。相较于之前的模型,性能提升显著(具体提升幅度未知,需参考原文)。
🎯 应用场景
CSC-SQL在Text-to-SQL领域具有广泛的应用前景,可以应用于智能问答系统、数据库查询接口、数据分析平台等。该研究能够提升用户通过自然语言与数据库交互的效率和准确性,降低使用门槛,促进数据驱动决策的普及。未来,该方法可以扩展到更复杂的数据库和查询场景,例如跨数据库查询、多轮对话查询等。
📄 摘要(原文)
Large language models (LLMs) have demonstrated strong capabilities in translating natural language questions about relational databases into SQL queries. In particular, test-time scaling techniques such as Self-Consistency and Self-Correction can enhance SQL generation accuracy by increasing computational effort during inference. However, these methods have notable limitations: Self-Consistency may select suboptimal outputs despite majority votes, while Self-Correction typically addresses only syntactic errors. To leverage the strengths of both approaches, we propose CSC-SQL, a novel method that integrates Self-Consistency and Self-Correction. CSC-SQL selects the two most frequently occurring outputs from parallel sampling and feeds them into a merge revision model for correction. Additionally, we employ the Group Relative Policy Optimization (GRPO) algorithm to fine-tune both the SQL generation and revision models via reinforcement learning, significantly enhancing output quality. Experimental results confirm the effectiveness and generalizability of CSC-SQL. On the BIRD private test set, our 7B model achieves 71.72\% execution accuracy, while the 32B model achieves 73.67\%. The code has been open sourced at https://github.com/CycloneBoy/csc_sql.