低資源場景下Text2SQL方法 原創
SFT的text2sql方法
SFT使模型能夠遵循輸入指令并根據預定義模板進行思考和響應。如上圖,、和是用于通知模型在推理過程中響應角色的角色標簽。后面的內容表示模型需要遵循的指令,而后面的內容傳達了當前用戶對模型的需求。后面的內容代表模型的預期輸出,也可以定義為模型預測的標簽。在監督微調期間,模型根據和中的內容預測后面的內容,然后將其與標簽進行比較以計算損失函數。標記作為結束標記,以防止模型在后續推理階段偏離思路,從而減少推理時間。通過定義監督微調模板,模型可以在推理時根據模板喚起微調知識,用戶可以從預先建立的響應模板中提取答案。
text2sql一些研究涵蓋兩個基本任務:schema_linking和SQL生成。
- Schema Linking: 主要目的是識別和提取與問題相關的表,并通過分步推理和鏈式思維方法在有限內存下處理大規模數據庫。
- SQL 生成: 主要目的是根據模式鏈接任務的結果生成準確的SQL查詢語句,同時通過減少輸入表的數量來降低內存消耗。
方法
LR-SQL方法框架
提出了LR-SQL方法,解決低資源場景下的Text2SQL任務,具體如下:
1.schema_link模型:首先,LR-SQL方法包含兩個監督微調模型:schema_link模型和SQL生成模型。schema_link模型的主要作用是簡化整個流程,通過將完整的數據庫分解為靈活的表組合,使模型能夠從這些分散的切片中學習數據庫內關系。
2.數據分解:在schema_link模型的微調過程中,LR-SQL將數據庫分解為多個切片,每個切片具有可調節的表數量。這種方法允許模型根據GPU內存限制靈活地覆蓋不同數量的表。
LR-SQL的監督模板構建
將數據庫中的表分解成多個片段,每個片段包含一定數量的表和其列的描述。
3.思維鏈:為了增強模型在推理過程中感知各個離散切片之間關系的能力,LR-SQL訓練了模型的鏈式思維能力。COT能力使模型能夠逐步引導自己生成最終結果。
LR-SQL訓練
4.SQL生成模型:在schema_link模型微調完成后,預測的目標表和問題被發送到SQL生成模型以生成最終的SQL查詢。該模型僅使用包含目標表的少量表進行微調,從而顯著減少了所需的內存。
在推理階段,與訓練相比,模型處理長文本所需的內存需求大幅減少。
實驗
schema_link模型評估:LR-SQL方法在兩個數據集上的總準確率分別為91.38和94.38,過濾準確率分別為94.26和97.19,平均精度分別為95.50和96.91,平均召回率分別為95.76和97.85。與現有方法相比,LR-SQL在保持較高準確率的同時,顯著減少了GPU內存使用。
切片大小對性能的影響:實驗還探討了不同切片大小對模型性能和GPU內存使用的影響。結果表明,當切片大小適中時,模型的性能最佳。
參考文獻
- LR-SQL: A Supervised Fine-Tuning Method for Text2SQL Tasks under Low-Resource Scenarios,https://arxiv.org/pdf/2410.11457
本文轉載自公眾號大模型自然語言處理 作者:余俊暉
