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