Graph-Reward-SQL: 字節(jié)跳動(dòng)新框架讓Text-to-SQL訓(xùn)練效率提升10倍
1. 強(qiáng)化學(xué)習(xí)在Text2SQL領(lǐng)域的現(xiàn)狀
Text2SQL技術(shù)是將自然語(yǔ)言轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)庫(kù)查詢,通過(guò)賦能非技術(shù)人員高效操作關(guān)系數(shù)據(jù)庫(kù)。
當(dāng)前研究聚焦于基礎(chǔ)模型微調(diào),其中強(qiáng)化學(xué)習(xí)(RL)被證實(shí)能顯著提升模型表現(xiàn)。而獎(jiǎng)勵(lì)模型(RM)的精心設(shè)計(jì)尤為重要,其信號(hào)質(zhì)量直接影響微調(diào)效果。
在現(xiàn)有RL方案中,有三種主流獎(jiǎng)勵(lì)方案:
- 執(zhí)行準(zhǔn)確率: 仍是核心指標(biāo),通過(guò)查詢正確性提供直觀反饋。
- Bradley-Terry獎(jiǎng)勵(lì)模型: 基于大模型的Bradley-Terry獎(jiǎng)勵(lì)模型(BTRM)通過(guò)執(zhí)行結(jié)果構(gòu)建偏好對(duì),已成功應(yīng)用于代碼生成。
- 抽象語(yǔ)法樹(shù): 采用抽象語(yǔ)法樹(shù)(AST)結(jié)構(gòu)獎(jiǎng)勵(lì)來(lái)捕捉語(yǔ)法相似性。
但這些方法各存缺陷:
- 執(zhí)行獎(jiǎng)勵(lì)因?qū)崟r(shí)數(shù)據(jù)庫(kù)訪問(wèn)導(dǎo)致延遲;
- BTRM計(jì)算內(nèi)存開(kāi)銷大;
- AST匹配易誤判語(yǔ)法相異但語(yǔ)義相同的查詢,產(chǎn)生噪聲信號(hào)。
這些痛點(diǎn)表明Text2SQL領(lǐng)域的關(guān)鍵挑戰(zhàn):如何設(shè)計(jì)高效獎(jiǎng)勵(lì)模型,在保持性能前提下替代執(zhí)行驗(yàn)證。
為此,字節(jié)跳動(dòng)有團(tuán)隊(duì)提出了Graph-Reward-SQL 框架,包含兩大互補(bǔ)獎(jiǎng)勵(lì)模型:
- 圖匹配網(wǎng)絡(luò)評(píng)分(Graph Matching Network Score, GMNScore): 通過(guò)圖匹配網(wǎng)絡(luò)(GMN)直接評(píng)估SQL功能等價(jià)性,無(wú)需執(zhí)行即可捕捉深層語(yǔ)義。相較執(zhí)行驗(yàn)證,其速度提升顯著;相比BTRM,GMN輕量架構(gòu)大幅降低GPU內(nèi)存占用。
- 漸進(jìn)式關(guān)系運(yùn)算符樹(shù)匹配(Stepwise Relational Operator Tree Match,StepRTM):StepRTM則通過(guò)漸進(jìn)獎(jiǎng)勵(lì)機(jī)制評(píng)估公共表表達(dá)式(CTE)子查詢生成,與GMNScore形成優(yōu)勢(shì)互補(bǔ)。
什么是CTE?CTE(Common Table Expression,公共表表達(dá)式)是SQL中一種用于簡(jiǎn)化復(fù)雜查詢的結(jié)構(gòu),它通過(guò)將子查詢定義為臨時(shí)命名的結(jié)果集(類似于臨時(shí)表),使得查詢更具可讀性和模塊化。CTE使用WITH關(guān)鍵字定義,允許在后續(xù)查詢中多次引用。
2. 什么是Graph-Reward-SQL
2.1 主流獎(jiǎng)勵(lì)模型
鑒于獎(jiǎng)勵(lì)模型在強(qiáng)化學(xué)習(xí)中的核心地位,介紹 Graph-Reward-SQL 框架之前,先介紹三類主流模型。如上表所示,從推理耗時(shí)和GPU顯存占用維度,將現(xiàn)有模型與 Graph-Reward-SQL 進(jìn)行對(duì)比。
2.1.1 執(zhí)行準(zhǔn)確率
在Text2SQL任務(wù)中,執(zhí)行準(zhǔn)確率(Execution Accuracy,EX)通過(guò)判斷SQL執(zhí)行結(jié)果正確性提供離散獎(jiǎng)勵(lì)。采用融合語(yǔ)法錯(cuò)誤分析和運(yùn)行時(shí)診斷的改進(jìn)模型,其計(jì)算公式為:
但EX存在明顯缺陷:當(dāng)數(shù)據(jù)庫(kù)存在數(shù)據(jù)質(zhì)量問(wèn)題(如缺失、不一致)或結(jié)構(gòu)異常時(shí),不同查詢可能輸出相同結(jié)果。
雖然測(cè)試套件TS嘗試解決此問(wèn)題,但假陽(yáng)性/假陰性仍難以避免,且頻繁執(zhí)行SQL會(huì)導(dǎo)致計(jì)算開(kāi)銷激增。
測(cè)試套件TS:https://github.com/taoyds/test-suite-sql-eval
2.1.2 Bradley-Terry模型(BTRM)
相較于EX,BTRM無(wú)需實(shí)時(shí)查詢數(shù)據(jù)庫(kù)即可提供密集獎(jiǎng)勵(lì)信號(hào),但大模型參數(shù)導(dǎo)致顯存占用較高。
2.1.3 匹配式獎(jiǎng)勵(lì)
現(xiàn)有方法包括SQL關(guān)鍵詞匹配和n-gram重疊檢測(cè),雖響應(yīng)迅速但易誤判語(yǔ)法差異的語(yǔ)義等價(jià)查詢。PPOCoder雖引入語(yǔ)法樹(shù)匹配,仍局限于淺層結(jié)構(gòu)分析。
2.2 GRAPH-REWARD-SQL框架
上圖展示GRAPH-REWARD-SQL 框架創(chuàng)新點(diǎn):
- 采用GMNScore解決EX的語(yǔ)義盲區(qū)(如WHERE age>34與>=34得分相同的問(wèn)題)
- 為CTE-SQL設(shè)計(jì)漸進(jìn)式獎(jiǎng)勵(lì)模型StepRTM,填補(bǔ)中間獎(jiǎng)勵(lì)空白(如下圖)
上圖展示了StepRTM的實(shí)現(xiàn)機(jī)制:
- 將生成SQL拆解為帶位置標(biāo)記的子查詢鏈;
- 將參考查詢與子查詢均解析為運(yùn)算符樹(shù);
- 通過(guò)樹(shù)結(jié)構(gòu)逐級(jí)匹配,動(dòng)態(tài)計(jì)算增量獎(jiǎng)勵(lì)。
2.2.1 關(guān)系操作符樹(shù)(ROT)
精準(zhǔn)建模SQL的結(jié)構(gòu)與語(yǔ)義是查詢分析與比對(duì)的核心。雖然抽象語(yǔ)法樹(shù)(AST)能捕捉SQL的句法特征,但SQL天然缺失控制流圖(CFGs)和數(shù)據(jù)流圖(DFGs)等關(guān)鍵邏輯表征——這些恰是呈現(xiàn)程序邏輯與數(shù)據(jù)依賴的基石。
為此,引入關(guān)系操作符樹(shù)(Relational Operator Tree,ROT),將SQL查詢解構(gòu)為關(guān)系代數(shù)操作符的層次化樹(shù)結(jié)構(gòu)。
每個(gè)樹(shù)節(jié)點(diǎn)代表特定邏輯操作(如連接、投影),而枝干走向則暗含查詢的依賴關(guān)系與執(zhí)行脈絡(luò)。
基于Apache Calcite框架,SQL被編譯為標(biāo)準(zhǔn)化中間表示RelNode,其內(nèi)置操作符優(yōu)化與子句精簡(jiǎn)能力,可生成抗語(yǔ)法干擾的規(guī)范邏輯計(jì)劃。
RelNode能像CFGs/DFGs般,通過(guò)邊結(jié)構(gòu)融合控制流與數(shù)據(jù)流,為深度查詢分析提供全景式的圖模型支撐。
2.2.2 FuncEvalGMN
獲取SQL圖表示后,使用基于SQL語(yǔ)句對(duì)訓(xùn)練的圖匹配網(wǎng)絡(luò)(GMN)來(lái)評(píng)估功能等價(jià)性。該模型創(chuàng)新性地融合了全局位置編碼與跨圖注意力機(jī)制,通過(guò)對(duì)比學(xué)習(xí)預(yù)訓(xùn)練結(jié)合監(jiān)督學(xué)習(xí),深度捕捉SQL查詢的語(yǔ)義關(guān)聯(lián)。相似度計(jì)算采用最終圖嵌入的負(fù)歐氏距離。
2.2.3 ROT/RelNode局部匹配(RelPM)
與抽象語(yǔ)法樹(shù)(AST)類似,RelNode同樣能通過(guò)圖匹配評(píng)估SQL相似性。RelPM 作為基于規(guī)則的匹配算法,通過(guò)SQL的RelNode表示來(lái)衡量相似度。其AST版本稱為AstPM。
二者均采用分層局部匹配策略,依據(jù)節(jié)點(diǎn)匹配的精確率與召回率得出全局相似度評(píng)分。
算法將生成節(jié)點(diǎn)逐一比對(duì):當(dāng)運(yùn)算符類型和值相同時(shí)判定匹配,并通過(guò)子圖比對(duì)計(jì)算匹配分?jǐn)?shù),最終選取最高分節(jié)點(diǎn)作為匹配結(jié)果。
2.2.4 獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)
上圖展示了獎(jiǎng)勵(lì)機(jī)制設(shè)計(jì),包含最終結(jié)果評(píng)估模型GMNScore和分步評(píng)估模型StepRTM。
2.2.5 結(jié)果獎(jiǎng)勵(lì):GMN評(píng)分機(jī)制
采用FuncEvalGMN指標(biāo)來(lái)評(píng)估生成SQL的功能正確性,與強(qiáng)化學(xué)習(xí)獎(jiǎng)勵(lì)模型的目標(biāo)高度契合。具體獎(jiǎng)勵(lì)模型設(shè)計(jì)如下:
該評(píng)分機(jī)制對(duì)SQL查詢中的語(yǔ)法錯(cuò)誤和ROT解析錯(cuò)誤實(shí)施分級(jí)懲罰。
2.2.6 分步獎(jiǎng)勵(lì)機(jī)制:StepRTM
現(xiàn)代ETL(數(shù)據(jù)抽取-轉(zhuǎn)換-加載)流程通常不會(huì)一蹴而就,而是由分析師拆解為循序漸進(jìn)的子查詢計(jì)劃(一般采用CTE)。
CTE不僅能提升復(fù)雜SQL的可讀性,清晰展示ETL的中間轉(zhuǎn)換步驟,更天然適配分步評(píng)估的需求。
借鑒子圖匹配技術(shù),創(chuàng)新性地提出分步關(guān)系運(yùn)算符樹(shù)匹配(StepRTM),通過(guò)分步獎(jiǎng)勵(lì)機(jī)制提供漸進(jìn)式反饋。
3. 效果對(duì)比
3.1 對(duì)比實(shí)驗(yàn)設(shè)計(jì)
3.1.1 數(shù)據(jù)集
主要基于Spider和BIRD兩大基準(zhǔn)展開(kāi):
- Spider數(shù)據(jù)集囊括10,181條自然語(yǔ)言問(wèn)詢與5,693個(gè)跨越138個(gè)領(lǐng)域的復(fù)雜SQL語(yǔ)句。
- BIRD數(shù)據(jù)集包含12,751道專業(yè)問(wèn)題,覆蓋37+個(gè)垂直領(lǐng)域。
采用Spider訓(xùn)練集進(jìn)行模型訓(xùn)練,并選取兩個(gè)數(shù)據(jù)集的開(kāi)發(fā)集進(jìn)行評(píng)估。
PPO訓(xùn)練前使用200k-Text2SQL數(shù)據(jù)集進(jìn)行預(yù)熱,完整數(shù)據(jù)說(shuō)明詳見(jiàn)附錄A。
3.1.2 基線模型
對(duì)比了多種典型基線方案:
- 主流方案EX;
- 基于DeepSeek-Coder-1.3B-Ins架構(gòu)的BTRM獎(jiǎng)勵(lì)模型
- 匹配式獎(jiǎng)勵(lì)模型AstPM與RelPM
3.1.3 評(píng)估體系
采用測(cè)試套件TS(開(kāi)源地址:https://github.com/taoyds/test-suite-sql-eval)作為核心指標(biāo),通過(guò)多數(shù)據(jù)庫(kù)驗(yàn)證提升評(píng)估魯棒性。
上表展示了Deepseek-Coder雙模型在各類基線及GMNScore獎(jiǎng)勵(lì)機(jī)制下的TS表現(xiàn)。
3.1.4 實(shí)施細(xì)節(jié)
PPO訓(xùn)練前分兩階段進(jìn)行監(jiān)督微調(diào):
- 使用與Spider等量的200k-Text2SQL子集訓(xùn)練1.3B/6.7B模型2個(gè)epoch;
- 將BIRD數(shù)據(jù)轉(zhuǎn)為CTE格式構(gòu)建CTE-SFT預(yù)熱集,以優(yōu)化逐步獎(jiǎng)勵(lì)實(shí)驗(yàn)中的CTE生成能力。
PPO超參設(shè)置如下:
3.2 獎(jiǎng)勵(lì)機(jī)制性能對(duì)比
GMNScore成功取代了傳統(tǒng)EX方案,徹底擺脫了對(duì)SQL執(zhí)行和數(shù)據(jù)庫(kù)環(huán)境的依賴。
如上表所示,在1.3B和6.7B模型上,GMNScore均取得了最優(yōu)的平均TS得分,充分驗(yàn)證了在強(qiáng)化學(xué)習(xí)中獎(jiǎng)勵(lì)信號(hào)設(shè)計(jì)的關(guān)鍵作用。
RelPM表現(xiàn)顯著優(yōu)于AstPM,兩種模型規(guī)模下分別實(shí)現(xiàn)2.53%和1.71%的性能提升。
這一優(yōu)勢(shì)源于ROT采用歸一化邏輯計(jì)劃進(jìn)行SQL解析,有效規(guī)避了表層語(yǔ)法差異的干擾,為兩種獎(jiǎng)勵(lì)模型提供了更魯棒的表示。
GMNScore通過(guò)圖嵌入技術(shù)捕捉深層語(yǔ)義特征,不僅省去了執(zhí)行結(jié)果對(duì)比環(huán)節(jié),更大幅降低了誤報(bào)噪聲。此外,該方案無(wú)需構(gòu)建和維護(hù)數(shù)據(jù)庫(kù),為大規(guī)模Text-to-SQL強(qiáng)化學(xué)習(xí)提供了輕量化解決方案。
引入StepRTM逐步獎(jiǎng)勵(lì)機(jī)制后,模型性能得到進(jìn)一步提升。
如上表所示,CTE-SFT與StepRTM的組合在各種獎(jiǎng)勵(lì)模型中均展現(xiàn)出穩(wěn)定增益。特別地,集成GMNScore與StepRTM的框架實(shí)現(xiàn)了最佳綜合表現(xiàn):在BIRD數(shù)據(jù)集上提升5.87%,Spider數(shù)據(jù)集上提升0.97%。這表明由于BIRD數(shù)據(jù)集具備更復(fù)雜的數(shù)據(jù)庫(kù)結(jié)構(gòu)和查詢邏輯,其從逐步獎(jiǎng)勵(lì)機(jī)制中的獲益更為顯著。
3.3 GMNScore在GRPO中的卓越表現(xiàn)
GMNScore不僅與PPO配合默契,在GRPO框架下同樣大放異彩。通過(guò)使用PPO和GRPO對(duì)Qwen2.5-Coder-7B/14B-Ins模型進(jìn)行訓(xùn)練,上圖顯示:在這兩種強(qiáng)化學(xué)習(xí)方案中,GMNScore始終力壓EX,充分彰顯了其穩(wěn)定可靠的優(yōu)越性能。
3.4 StepRTM賦能CTE-SQL
上表通過(guò)兩組對(duì)比,揭示了逐步獎(jiǎng)勵(lì)模型對(duì)SQL語(yǔ)句正確性與結(jié)構(gòu)優(yōu)化的雙重提升。
案例一中,傳統(tǒng)模型誤檢索評(píng)論表數(shù)據(jù),而采用StepRTM的CTE-SQL通過(guò)"用戶定位→帖子評(píng)分聚合"的分步子查詢精準(zhǔn)解決問(wèn)題。
案例二中,當(dāng)傳統(tǒng)SQL因硬編碼性別標(biāo)識(shí)而失效時(shí),CTE-SQL則以"男性英雄篩選→超能力提取"的模塊化設(shè)計(jì)完美實(shí)現(xiàn)需求。
3.5 GMNScore準(zhǔn)確性分析
實(shí)驗(yàn)證明,GMNScore作為PPO的獎(jiǎng)勵(lì)模型表現(xiàn)優(yōu)異,遠(yuǎn)超BTRM。通過(guò)分析訓(xùn)練過(guò)程中兩種獎(jiǎng)勵(lì)信號(hào)與實(shí)際結(jié)果的關(guān)聯(lián)性(如上圖),GMNScore始終保持著與執(zhí)行結(jié)果的高度同步2。這說(shuō)明GMNScore在訓(xùn)練時(shí)能提供更穩(wěn)定精準(zhǔn)的反饋信號(hào),這正是其性能出眾的關(guān)鍵所在。
本文轉(zhuǎn)載自????大語(yǔ)言模型論文跟蹤????,作者:HuggingAGI
