Graph-Reward-SQL: 字节跳动新框架让Text-to-SQL训练效率提升10倍

向量数据库大模型关系型数据库
Graph-Reward-SQL: 字节跳动新框架让Text-to-SQL训练效率提升10倍

发布时间:2025年05月18日

Text2SQL

picture.image

添加请注明 Text2SQL

如遇无法添加,请+ vx: iamxxn886


  1. 强化学习在Text2SQL领域的现状

Text2SQL技术是将自然语言转换为结构化数据库查询,通过赋能非技术人员高效操作关系数据库。

当前研究聚焦于基础模型微调 ,其中强化学习(RL)被证实能显著提升模型表现。而奖励模型 (RM)的精心设计尤为重要,其信号质量直接影响微调效果。

在现有RL方案中,有三种主流奖励方案:

  • 执行准确率 : 仍是核心指标,通过查询正确性提供直观反馈。
  • Bradley-Terry奖励模型 : 基于大模型的Bradley-Terry奖励模型(BTRM)通过执行结果构建偏好对,已成功应用于代码生成。
  • 抽象语法树 : 采用抽象语法树(AST)结构奖励来捕捉语法相似性。

但这些方法各存缺陷:

  • 执行奖励因实时数据库访问导致延迟;
  • BTRM计算内存开销大;
  • AST匹配易误判语法相异但语义相同的查询,产生噪声信号。

这些痛点表明Text2SQL领域的关键挑战:如何设计高效奖励模型,在保持性能前提下替代执行验证。

为此,字节跳动有团队提出了Graph-Reward-SQL 框架,包含两大互补奖励模型:

  • 图匹配网络评分(Graph Matching Network Score, GMNScore): 通过图匹配网络(GMN)直接评估SQL功能等价性,无需执行即可捕捉深层语义。相较执行验证,其速度提升显著;相比BTRM,GMN轻量架构大幅降低GPU内存占用。
  • 渐进式关系运算符树匹配(Stepwise Relational Operator Tree Match,StepRTM):StepRTM则通过渐进奖励机制评估公共表表达式(CTE)子查询生成,与GMNScore形成优势互补。

“ 什么是CTE?CTE(Common Table Expression,公共表表达式)是SQL中一种用于简化复杂查询的结构,它通过将子查询定义为临时命名的结果集(类似于临时表),使得查询更具可读性和模块化。CTE使用WITH关键字定义,允许在后续查询中多次引用。

  1. 什么是Graph-Reward-SQL

2.1 主流奖励模型

picture.image

鉴于奖励模型在强化学习中的核心地位,介绍 Graph-Reward-SQL 框架之前,先介绍三类主流模型。如上表所示,从推理耗时和GPU显存占用维度,将现有模型与 Graph-Reward-SQL 进行对比。

2.1.1 执行准确率

在Text2SQL任务中,执行准确率(Execution Accuracy,EX)通过判断SQL执行结果正确性提供离散奖励。采用融合语法错误分析运行时诊断 的改进模型,其计算公式为:

picture.image

但EX存在明显缺陷:当数据库存在数据质量问题(如缺失、不一致)或结构异常时,不同查询可能输出相同结果。

虽然测试套件TS尝试解决此问题,但假阳性/假阴性仍难以避免,且频繁执行SQL会导致计算开销激增。

“ 测试套件TS:https://github.com/taoyds/test-suite-sql-eval

2.1.2 Bradley-Terry模型(BTRM)

相较于EX,BTRM无需实时查询数据库即可提供密集奖励信号,但大模型参数导致显存占用较高。

2.1.3 匹配式奖励

现有方法包括SQL关键词匹配和n-gram重叠检测,虽响应迅速但易误判语法差异的语义等价查询。PPOCoder虽引入语法树匹配,仍局限于浅层结构分析。

2.2 GRAPH-REWARD-SQL框架

上图展示GRAPH-REWARD-SQL 框架创新点:

  • 采用GMNScore解决EX的语义盲区(如WHERE age>34与>=34得分相同的问题)
  • 为CTE-SQL设计渐进式奖励模型StepRTM,填补中间奖励空白(如下图)

picture.image

上图展示了StepRTM的实现机制:

  • 将生成SQL拆解为带位置标记的子查询链;
  • 将参考查询与子查询均解析为运算符树;
  • 通过树结构逐级匹配,动态计算增量奖励。

2.2.1 关系操作符树(ROT)

精准建模SQL的结构与语义是查询分析与比对的核心。虽然抽象语法树(AST)能捕捉SQL的句法特征,但SQL天然缺失控制流图 (CFGs)和数据流图(DFGs)等关键逻辑表征——这些恰是呈现程序逻辑与数据依赖的基石。

为此,引入关系操作符树(Relational Operator Tree,ROT),将SQL查询解构为关系代数操作符的层次化树结构。

每个树节点代表特定逻辑操作(如连接、投影),而枝干走向则暗含查询的依赖关系与执行脉络。

基于Apache Calcite框架,SQL被编译为标准化中间表示RelNode,其内置操作符优化与子句精简能力,可生成抗语法干扰的规范逻辑计划。

RelNode能像CFGs/DFGs般,通过边结构融合控制流与数据流,为深度查询分析提供全景式的图模型支撑。

2.2.2 FuncEvalGMN

获取SQL图表示后,使用基于SQL语句对训练的图匹配网络(GMN)来评估功能等价性。该模型创新性地融合了全局位置编码与跨图注意力机制,通过对比学习预训练结合监督学习,深度捕捉SQL查询的语义关联。相似度计算采用最终图嵌入的负欧氏距离。

2.2.3 ROT/RelNode局部匹配(RelPM)

与抽象语法树(AST)类似,RelNode同样能通过图匹配评估SQL相似性。RelPM 作为基于规则的匹配算法,通过SQL的RelNode表示来衡量相似度。其AST版本称为AstPM。

二者均采用分层局部匹配策略,依据节点匹配的精确率与召回率得出全局相似度评分。

算法将生成节点逐一比对:当运算符类型和值相同时判定匹配,并通过子图比对计算匹配分数,最终选取最高分节点作为匹配结果。

2.2.4 奖励函数设计

picture.image

上图展示了奖励机制设计,包含最终结果评估模型GMNScore和分步评估模型StepRTM。

2.2.5 结果奖励:GMN评分机制

采用FuncEvalGMN指标来评估生成SQL的功能正确性,与强化学习奖励模型的目标高度契合。具体奖励模型设计如下:

picture.image

该评分机制对SQL查询中的语法错误和ROT解析错误实施分级惩罚。

2.2.6 分步奖励机制:StepRTM

现代ETL(数据抽取-转换-加载)流程通常不会一蹴而就,而是由分析师拆解为循序渐进的子查询计划(一般采用CTE)。

picture.image

CTE不仅能提升复杂SQL的可读性,清晰展示ETL的中间转换步骤,更天然适配分步评估的需求。

借鉴子图匹配技术,创新性地提出分步关系运算符树匹配(StepRTM),通过分步奖励机制提供渐进式反馈。

  1. 效果对比

3.1 对比实验设计

3.1.1 数据集

主要基于Spider和BIRD两大基准展开:

  • Spider数据集囊括10,181条自然语言问询与5,693个跨越138个领域的复杂SQL语句。
  • BIRD数据集包含12,751道专业问题,覆盖37+个垂直领域。

采用Spider训练集进行模型训练,并选取两个数据集的开发集进行评估。

PPO训练前使用200k-Text2SQL数据集进行预热,完整数据说明详见附录A。

3.1.2 基线模型

对比了多种典型基线方案:

  • 主流方案EX;
  • 基于DeepSeek-Coder-1.3B-Ins架构的BTRM奖励模型
  • 匹配式奖励模型AstPM与RelPM

3.1.3 评估体系

采用测试套件TS(开源地址:https://github.com/taoyds/test-suite-sql-eval)作为核心指标,通过多数据库验证提升评估鲁棒性。

picture.image

上表展示了Deepseek-Coder双模型在各类基线及GMNScore奖励机制下的TS表现。

3.1.4 实施细节

PPO训练前分两阶段进行监督微调:

  • 使用与Spider等量的200k-Text2SQL子集训练1.3B/6.7B模型2个epoch;
  • 将BIRD数据转为CTE格式构建CTE-SFT预热集,以优化逐步奖励实验中的CTE生成能力。

PPO超参设置如下:

picture.image

3.2 奖励机制性能对比

GMNScore成功取代了传统EX方案,彻底摆脱了对SQL执行和数据库环境的依赖。

picture.image

如上表所示,在1.3B和6.7B模型上,GMNScore均取得了最优的平均TS得分,充分验证了在强化学习中奖励信号设计的关键作用

RelPM表现显著优于AstPM,两种模型规模下分别实现2.53%和1.71%的性能提升。

这一优势源于ROT采用归一化逻辑计划进行SQL解析,有效规避了表层语法差异的干扰,为两种奖励模型提供了更鲁棒的表示。

GMNScore通过图嵌入技术捕捉深层语义特征,不仅省去了执行结果对比环节,更大幅降低了误报噪声。此外,该方案无需构建和维护数据库,为大规模Text-to-SQL强化学习提供了轻量化解决方案。

引入StepRTM逐步奖励机制后,模型性能得到进一步提升。

picture.image

如上表所示,CTE-SFT与StepRTM的组合在各种奖励模型中均展现出稳定增益。特别地,集成GMNScore与StepRTM的框架实现了最佳综合表现:在BIRD数据集上提升5.87%,Spider数据集上提升0.97%。这表明由于BIRD数据集具备更复杂的数据库结构和查询逻辑,其从逐步奖励机制中的获益更为显著。

3.3 GMNScore在GRPO中的卓越表现

picture.image

GMNScore不仅与PPO配合默契,在GRPO框架下同样大放异彩。通过使用PPO和GRPO对Qwen2.5-Coder-7B/14B-Ins模型进行训练,上图显示:在这两种强化学习方案中,GMNScore始终力压EX,充分彰显了其稳定可靠的优越性能。

3.4 StepRTM赋能CTE-SQL

picture.image

上表通过两组对比,揭示了逐步奖励模型对SQL语句正确性与结构优化的双重提升。

案例一中,传统模型误检索评论表数据,而采用StepRTM的CTE-SQL通过"用户定位→帖子评分聚合"的分步子查询精准解决问题。

案例二中,当传统SQL因硬编码性别标识而失效时,CTE-SQL则以"男性英雄筛选→超能力提取"的模块化设计完美实现需求。

3.5 GMNScore准确性分析

picture.image

实验证明,GMNScore作为PPO的奖励模型表现优异,远超BTRM。通过分析训练过程中两种奖励信号与实际结果的关联性(如上图),GMNScore始终保持着与执行结果的高度同步2。这说明GMNScore在训练时能提供更稳定精准的反馈信号,这正是其性能出众的关键所在。


0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生数据库 veDB 核心技术剖析与展望
veDB 是一款分布式数据库,采用了云原生计算存储分离架构。本次演讲将为大家介绍火山引擎这款云原生数据库的核心技术原理,并对未来进行展望。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论