AI News HubLIVE
站內改寫3 分鐘閱讀

Feyn AI發佈SQRL:一個在編寫查詢前先檢查數據庫的文本到SQL模型系列

Feyn Labs發佈了SQRL,這是一系列文本到SQL模型,能在生成查詢前通過只讀探針檢查數據庫。旗艦型號SQRL-35B-A3B在BIRD Dev上達到70.6%的執行準確率,略超Claude Opus 4.6,並可蒸餾為可自託管的4B和9B檢查點。

來源MarkTechPost作者: Asif Razzaq

Feyn AI(YC支持的初創公司)發佈了SQRL,這是一個新型文本到SQL模型系列,其核心創新在於將自然語言問題轉化為SQL之前先檢查數據庫。與大多數將任務視為翻譯的系統不同,SQRL通過只讀探針來解決歧義,確保生成的查詢與數據實際支持的內容一致。

旗艦型號SQRL-35B-A3B在BIRD Dev基準測試中達到了70.6%的執行準確率,對比之下,Claude Opus 4.6為68.77%。同時,團隊發佈了三個可在Hugging Face上獲取的檢查點:SQRL-4B、SQRL-9B和SQRL-35B-A3B。

為什麼先檢查數據庫至關重要

文本到SQL常被描述為翻譯問題,但這一視角忽略了最困難的環節。一個查詢可以是完全有效的SQL,卻返回錯誤結果——可能因為連接了錯誤的表、誤解了模糊列的含義,或過濾了不存在的值。這些錯誤不會拋出異常,因此僅通過執行無法捕獲。

模式信息也無濟於事。模式列出了表、列、類型以及有時包括的關係,但它無法揭示縣名是存儲為“Alameda”、“Alameda County”還是“ALAMEDA”,也無法告訴你哪種連接會產生重複行。

BIRD基準測試量化了這些失敗。其數據庫涵蓋真實領域,包含不完美的值、模糊列和複雜關係。系統通過執行SQL並將返回行與參考結果比較來評分。對於查詢語言來説,語法正確遠遠不夠。Feyn的核心洞察是:缺失的信息已經存在於數據庫中,模型只需要被允許去詢問。

SQRL的工作原理

SQRL接收問題、模式以及關於數據庫的可選證據。如果上下文足夠,它會立即返回查詢。如果存在歧義,它會執行只讀查詢,利用返回的行來起草最終答案。檢查決策視情況而定:統計單錶行數無需查詢,因此SQRL直接回答。

交互使用兩種不同的動作:inspect塊請求數據庫觀察,answer塊提交最終查詢。執行框架以只讀模式運行探索查詢,並在observation標籤內返回結果行。SQRL最多可檢查五次,但大多數問題在更少的步驟內完成。

訓練檢查決策

賦予模型數據庫訪問權限並不能教會它何時以及如何檢查。這種行為需要訓練,而基於執行的訓練是苛刻的:如果參考查詢本身錯誤,正確的模型答案也會受到錯誤獎勵。因此,Feyn首先清理了訓練集。從BIRD和Spider開始,團隊移除了參考SQL未產生可用結果的示例,然後由三個模型審查剩下的配對,並移除任何未回答其問題的查詢。測試集包括Spider的保留部分和BIRD dev,其餘數據用於訓練。

35B-A3B教師模型使用CISPO(一種來自MiniMax M1工作的強化學習方法)直接訓練。CISPO裁剪重要性採樣權重而非策略比率,從而保留了來自罕見但關鍵標記的梯度信號。對於每個問題,模型生成八個完整軌跡,執行每個最終查詢,並根據結果是否匹配參考來給予獎勵——這是一個忽略措辭、僅檢查返回行的二進制信號。

組相對訓練需要組內變化。八個成功或八個失敗的嘗試沒有提供關於哪些決策有助於的信號。因此,Feyn在“混合區域”上訓練——即只有部分嘗試成功的情況,這樣每個組都能強化區分正確與錯誤軌跡的選擇。這就是教師模型學習何時檢查的方式。

為了使其行為可部署,團隊採樣了完整的教師軌跡,並僅保留最終SQL返回正確結果的軌跡。這產生了約10,200個示例,每個示例保留了推理、探索查詢、觀察和最終答案。4B和9B學生模型在這些軌跡上進行微調,隨後使用相同的CISPO執行獎勵進行優化。SQRL基於Qwen3.5和Qwen3.6模型系列構建。

全系列性能表現

Feyn在BIRD Dev上評估了SQRL,當查詢返回與參考相同的結果時計為正確。SQRL-35B-A3B得分為70.60%,每個令牌激活約3B參數。9B學生模型保留了幾乎全部性能,達到69.80%。SQRL-4B達到68.80%,在這一評估中與Claude Opus 4.6持平,但模型小巧,可在任何地方託管,使模式、查詢和觀察數據保留在用户控制的基礎設施內。

在Feyn報告中,其他前沿模型表現如下:Claude 4.5 Sonnet為67.34%,Qwen3-Coder-480B-A35B為66.17%,GLM-4.7為63.82%,DeepSeek-R1為61.67%,Kimi-K2-Thinking為60.63%。

部署指南

Feyn推薦SQRL-9B作為默認檢查點,SQRL-4B用於預算最緊張的情況,SQRL-35B-A3B用於最高精度。9B模型可通過vLLM提供服務:

vllm serve feyninc/sqrl-9b \
  --served-model-name sqrl-9b \
  --gpu-memory-utilization 0.90 \
  --max-model-len 32768

應用程序循環很簡單。保持數據庫執行為只讀,並將每次觀察返回給模型,直到它發出答案。需要注意:不要啓用服務層的推理解析器。動作協議出現在/answer關閉標籤之後的內容中,因此剝離該內容會移除模型的inspectanswer動作。請解析原始消息內容並保留最終think標籤之後的所有內容。模型卡包含完整的系統提示和參考框架。

關鍵要點

  • SQRL是通過在提交最終查詢前執行只讀探針來檢查數據庫的文本到SQL模型系列。
  • Feyn報告SQRL-35B-A3B在BIRD Dev上達到70.6%的執行準確率,高於Claude Opus 4.6的68.77%。
  • 旗艦模型蒸餾為4B和9B學生模型;SQRL-4B在該測試中匹配Opus,同時保持可自託管。
  • 訓練清理了BIRD和Spider數據集,獎勵執行匹配,並利用CISPO和蒸餾來教會模型何時檢查。
  • 所有三個檢查點已在Hugging Face開源,並通過vLLM和只讀框架提供服務,框架將觀察反饋給模型。

SQRL由Feyn構建。團隊可在GitHub、Hugging Face和X上找到。