当前位置: 首页 > news >正文

在Text-to-SQL任务中应用过程奖励模型

论文标题

Reward-SQL: Boosting Text-to-SQL via Stepwise Reasoning and Process-Supervised Rewards

论文地址

https://arxiv.org/pdf/2505.04671

代码地址

https://github.com/ruc-datalab/RewardSQL

作者背景
中国人民大学,香港科技大学广州,阿里云,清华大学

前言

CTE是大部分数据库系统都支持的SQL表达模式,这种模式恰好能作为过程奖励模型的构建依据,从而显著减轻了在Text-to-SQL任务上应用PRMs的标注难度

动机

在Text-to-SQL任务中,模型的推理能力至关重要,但实践中经常发现“推理链条越长,模型产生幻觉的风险就越高”,即在复杂查询场景中引入无关或错误的步骤,会显著降低查询准确率。于是我们希望使用强化学习来来评估和监督生成结果,以提高推理准确性。

过程奖励模型(PRMs)能为训练过程提供细粒度的奖励信号,识别推理过程中的关键错误,或许能有效缓解上述问题。然而,在Text-to-SQL任务中有效利用PRMs并非易事,一方面需要构建适合Text-to-SQL任务的中间推理步骤,并设计能准确评估这些步骤的PRM;另一方面,要探索如何将PRM最优地整合到训练和推理流程中,以最大化其指导效果,同时确保模型能发展出真正的SQL推理能力,而不是仅仅优化奖励信号

于是作者设计了一套应用于Text-to-SQL任务的PRMs方法,并探索了多种训练与推理范式

本文方法

本文提出REWARD-SQL框架,其核心在于引入链式公共表表达式(Chain-of-CTEs, COCTE)作为中间推理步骤,并设计相应的PRM来评估这些步骤。

一、COCTE介绍

COCTE将复杂的SQL查询分解为一系列公共表表达式(CTEs),每个CTE代表一个独立的推理步骤,最终通过这些CTE构建出完整的SQL查询。CTE是SQL查询中定义的临时命名结果集,使复杂查询更易于管理和阅读。COCTE的优势在于提供可解释性和灵活性,每个CTE产生一个具体的、可执行的中间结果,并且COCTE形成一个有向无环图,每个步骤可以引用任何前面的步骤

简单来说就是要求生成的SQL都按照以下形式书写:

WITH step1 AS (
-- 第一步的查询逻辑
),
step2 AS (
-- 基于step1结果的第二步查询逻辑
),
step3 AS (
-- 基于step2的第三步查询逻辑
)
SELECT*FROM step3;

在这里插入图片描述

二、模型初始化

  • 策略模型冷启动
    在BIRD训练集上,手动编写一些COCTEs示例,提示强模型将其他SQL语句转换为COCTEs;然后执行这些COCTEs并保留与原始SQL结果一致的样本;此外还使用SQL语法树编辑距离过滤语义相似的样本,确保数据多样性。然后通过SFT训练开源模型,使之具备基本的SQL能力
  • 过程奖励模型训练
    通过蒙特卡洛树搜索(MCTS)算法探索多样化的推理路径,并标记每个步骤的正确性。使用二元交叉熵损失函数训练PRM,使其能够准确评估每个CTE步骤的正确性

在这里插入图片描述

三、优化策略

  • 奖励设计: 训练时同时使用过程奖励和结果奖励
  • 离线训练方法:
    • 拒绝采样(RS): 生成多个COCTEs,根据PR和OR分数过滤,保留高分样本进行微调
    • 直接偏好优化(DPO): 利用样本之间的比较信息,通过Bradley-Terry偏好模型优化策略
  • 在线训练方法 : 分组相对策略优化(GRPO)在线更新策略模型,利用PRM的步骤级分数指导策略更新,通过分组相对优势减少方差和计算负担

在这里插入图片描述

  • 推理时奖励辅助 : 在推理过程中也让奖励模型参与决策:让模型生成多个候选COCTEs,使用PRM选择得分最高的候选作为最终输出

在这里插入图片描述

上述RS、DPO、GRPO以及推理时奖励辅助刚好对应了四种典型的奖励信号处理方式,如下图所示:

在这里插入图片描述

  • RS:仅针对过程正确且结果正确的样本进行奖励
  • DPO:奖励过程、结果都正确的样本,惩罚过程、结果都错误的样本
  • GRPO:奖励过程、结果都正确的样本,惩罚其他所有样本。其中,【过程正确但结果错误】表明推理链条中存在隐蔽的逻辑缺陷,为了提高大模型推理能力所以需要惩罚;【过程错误但结果正确】表明模型可能依靠巧合,或者数据集偏差蒙对了答案,需要进行较严厉的惩罚
  • 推理时奖励辅助:与GRPO训练策略不同,推理时模型已经学习完毕,不用再惩罚【过程正确但结果错误】,但为了提高输出质量,发生这种情况时应当酌情奖励

实验结果

一、各优化策略对比

在这里插入图片描述

表中的SFT表示仅经过冷启动阶段训练的开源模型。作者表示也尝试了将后续RL阶段所使用的数据加入训练,但效果很差;

实验结果表明通过GRPO能够实现最好的性能,并且在解码阶段引入过程奖励模型从Best-of-N中进行挑选,效果能再提升近10个点

二、与各SOTA模型对比

在这里插入图片描述

在贪婪解码下,REWARD-SQL优于多个基于更大模型(如GPT-4)的基线方法;在投票解码下,REWARD-SQL进一步超越了所有基线方法,包括Reasoning-SQL,即使在不使用模式过滤器的情况下,REWARD-SQL的表现依然出色;结合模式过滤器后,REWARD-SQL在贪婪解码和投票解码下的执行准确率又得到了进一步提升

模式过滤(Schema Filter)是一种精简上下文,提高模型的专注度和效率的方法
实现过程:
类似于RAG,首先分析用户query,然后计算各种数据库Schema表述与query之间的相似度,只保留与query相关的放入上下文

相关文章:

  • AI中的MCP是什么?MCP的作用及未来方向预测 (使用go-zero 快速搭建MCP服务器)
  • 如何使用主机名在 CMD 中查找 IP 地址?
  • M0基础篇之DAC
  • 华为行业认证是什么?如何考取华为行业认证?
  • BUUCTF 大流量分析(三) 1
  • HAProxy + Keepalived + Nginx 高可用负载均衡系统
  • [网络层]ICMP协议
  • Java:编程世界的常青树与数字化转型的基石
  • Maven 项目构建时编译错误问题排查与解决
  • IDEA+git将分支合并到主分支、IDEA合并分支
  • OpenCV直方图与直方图均衡化
  • 解决vue create 创建项目,不能使用上下键选择模板的问题
  • 网页禁止粘贴的解决方法(以学习通网页为例)
  • 笔记本电脑升级实战手册【扩展篇1】:flash id查询硬盘颗粒
  • kkfileview文件上传安全漏洞原理分析及解决方案
  • 在Linux中安装JDK并且搭建Java环境
  • 如何禁止chrome自动更新
  • 免布线视频桩如何重塑停车管理模式
  • 基于STM32、HAL库的RN8209C电能计量芯片驱动程序设计
  • Android Studio 中 build、assemble、assembleDebug 和 assembleRelease 构建 aar 的区别
  • 最高降九成!特朗普签署降药价行政令落地存疑,多家跨国药企股价收涨
  • 吉林:消纳绿电,“氢”装上阵
  • 茅台回应“茅台1935脱离千元价位带竞争”:愿与兄弟酒企共同培育理性消费生态
  • 人民日报整版聚焦:专家学者看2025中国经济增长点
  • 上报集团社长李芸:发挥媒体优势,让中非民心在数字时代更深层互联互通
  • 一企业采购国产化肥冒充“挪威化肥”:7人被抓获