從弱模型和強(qiáng)模型合成文本到SQL數(shù)據(jù) 原創(chuàng)
論文來自中國科學(xué)院深圳先進(jìn)技術(shù)研究院、中國科學(xué)院大學(xué)、阿里巴巴集團(tuán)
論文標(biāo)題:Synthesizing Text-to-SQL Data from Weak and Strong LLMs
論文鏈接:??https://arxiv.org/pdf/2408.03256??
1、論文背景
在使用標(biāo)準(zhǔn)化提示進(jìn)行評(píng)估后,論文觀察到開源模型與閉源模型之間文本到SQL的性能仍存在顯著差距。特別是,流行的開源模型 CodeLLaMA-13B-Instruct 在 BIRD基準(zhǔn)測(cè)試中的執(zhí)行準(zhǔn)確率比 GPT-4 低 30%。
圖 1:SENSE 概覽:將人工標(biāo)注數(shù)據(jù)與強(qiáng)模型生成的合成數(shù)據(jù)結(jié)合,以增強(qiáng)領(lǐng)域多樣性,并通過弱模型進(jìn)行偏好學(xué)習(xí),與執(zhí)行器對(duì)齊,從而提升文本到 SQL 的性能。
針對(duì)數(shù)據(jù)稀缺的挑戰(zhàn),眾多研究致力于利用更大、更強(qiáng)大的大型語言模型(強(qiáng)模型),如GPT-4,生成所謂的強(qiáng)數(shù)據(jù)。盡管強(qiáng)數(shù)據(jù)本質(zhì)上增強(qiáng)了數(shù)據(jù)多樣性,這對(duì)模型的領(lǐng)域泛化至關(guān)重要,但其在文本到SQL任務(wù)中的應(yīng)用仍未被探索。此外,生成有價(jià)值的不正確文本到SQL數(shù)據(jù)也構(gòu)成了單獨(dú)的挑戰(zhàn)。強(qiáng)模型通常在正確對(duì)齊和安全性方面投入巨大努力,使得獲取錯(cuò)誤樣本變得困難。因此,論文將注意力轉(zhuǎn)向較小、對(duì)齊程度較低的開源模型(弱模型)。弱模型產(chǎn)生有價(jià)值的弱SQL樣本,這些樣本隨后可以通過執(zhí)行器的輔助進(jìn)行驗(yàn)證和錯(cuò)誤誘導(dǎo)。偏好學(xué)習(xí)(Rafailov et al., 2023)被用來指導(dǎo)語言模型從正確和錯(cuò)誤樣本中學(xué)習(xí),論文稱之為弱數(shù)據(jù)。
為了驗(yàn)證SENSE的有效性,論文對(duì)一個(gè)流行的開源基礎(chǔ)模型,即CodeLLaMA進(jìn)行監(jiān)督微調(diào)(SFT),并獲得了一個(gè)新的專業(yè)模型SENSE。論文全面評(píng)估了SENSE在文本到SQL任務(wù)上的性能,在標(biāo)準(zhǔn)基準(zhǔn)Spider(Yu et al., 2018)和挑戰(zhàn)性基準(zhǔn)BIRD(Li et al., 2023c)上都取得了最先進(jìn)(SOTA)的結(jié)果,縮小了開源模型與閉源模型之間的差距。此外,論文在三個(gè)魯棒性數(shù)據(jù)集上評(píng)估了SENSE:SYN、REALISTIC和DK,展示了其在魯棒性方面的優(yōu)勢(shì)。
表1 :監(jiān)督微調(diào)階段強(qiáng)數(shù)據(jù)的統(tǒng)計(jì)信息。對(duì)于合成數(shù)據(jù),基于語義相似性合并了類似的數(shù)據(jù)庫。
圖2:統(tǒng)一提示(Chang和Fosler-Lussier,2023)模板用于文本到SQL任務(wù)。
2、方法論
首先,論文通過監(jiān)督微調(diào)(SFT)增強(qiáng)基礎(chǔ)模型的文本到SQL能力,主要關(guān)注數(shù)據(jù)的多樣性和質(zhì)量。論文將這部分?jǐn)?shù)據(jù)稱為強(qiáng)數(shù)據(jù)。隨后,論文采用偏好學(xué)習(xí),激勵(lì)模型從錯(cuò)誤的SQL中學(xué)習(xí),論文將其稱為弱數(shù)據(jù),需要使用較弱的語言模型進(jìn)行錯(cuò)誤生成。
2.1 強(qiáng)數(shù)據(jù):監(jiān)督微調(diào)
監(jiān)督微調(diào)(SFT)將顯著提升模型生成恰當(dāng)響應(yīng)的能力,包括文本到SQL的轉(zhuǎn)換。當(dāng)前流行的跨領(lǐng)域數(shù)據(jù)集,主要是Spider和BIRD,由于需要人類專家進(jìn)行標(biāo)注,導(dǎo)致成本高昂。為了緩解這一問題并進(jìn)一步擴(kuò)大規(guī)模,論文轉(zhuǎn)向強(qiáng)大的語言模型GPT-4尋求幫助,利用提示來合成目標(biāo)數(shù)據(jù)。鑒于跨領(lǐng)域泛化是文本到SQL的核心挑戰(zhàn),論文設(shè)計(jì)了提示,鼓勵(lì)GPT-4生成足夠多樣化的數(shù)據(jù)集,如圖3所示。如表1所示,論文合成數(shù)據(jù)集中每個(gè)領(lǐng)域的樣本比例明顯低于Spider和Bird中的比例,這表明更高的領(lǐng)域多樣性。此外,合成數(shù)據(jù)中的SQL查詢平均包含更多的JOIN操作,表明構(gòu)建的SQL具有更高的復(fù)雜性和深度。這些包括控制問題難度的機(jī)制、促進(jìn)領(lǐng)域多樣性以及明確排除過度代表的領(lǐng)域,從而引導(dǎo)GPT-4生成不僅多樣而且適應(yīng)不同復(fù)雜級(jí)別的數(shù)據(jù)點(diǎn)。
給定一個(gè)由輸入提示x和目標(biāo)響應(yīng)y生成的強(qiáng)數(shù)據(jù)集D_s,監(jiān)督微調(diào)可以表述為對(duì)數(shù)似然損失:
圖3:合成強(qiáng)數(shù)據(jù)的提示。占位符the-level由程序動(dòng)態(tài)填充,控制生成數(shù)據(jù)點(diǎn)的期望難度級(jí)別。為了考慮有限的令牌,論文隨機(jī)從Spider訓(xùn)練集中抽取兩個(gè)示例作為少量示例演示。
2.2 弱數(shù)據(jù):偏好學(xué)習(xí)
第二階段涉及更細(xì)致的方法處理弱數(shù)據(jù)。這里,論文引導(dǎo)模型識(shí)別由較弱LLMs故意生成的錯(cuò)誤SQL查詢。通過偏好學(xué)習(xí),模型被鼓勵(lì)辨別正確與錯(cuò)誤的SQL,有效地從錯(cuò)誤中學(xué)習(xí)。這一過程不僅精煉了模型對(duì)SQL語法的理解,還增強(qiáng)了其對(duì)現(xiàn)實(shí)場(chǎng)景中可能出現(xiàn)的常見錯(cuò)誤的抵抗力。
給定一個(gè)自然語言描述x,論文使用較弱的模型(規(guī)模較小且對(duì)齊程度較低)生成輸出y^{\prime。然后使用 SQL 執(zhí)行器E 執(zhí)行y‘,如果執(zhí)行結(jié)果與真實(shí)值y 匹配,論文將其視為正樣本y_w。相反,如果結(jié)果不一致,論文將其標(biāo)記為負(fù)樣本y_l。
論文構(gòu)建了一個(gè)包含正負(fù)樣本的數(shù)據(jù)集D_w,并使用最近流行的偏好學(xué)習(xí)方法——直接偏好優(yōu)化(DPO)來優(yōu)化模型。DPO 直接基于偏好數(shù)據(jù)微調(diào)模型,繞過獎(jiǎng)勵(lì)建模階段,旨在最大化以下目標(biāo)函數(shù):
利用上述方法,論文使用 CodeLLaMA-7B 和 CodeLLaMA-13B 進(jìn)行了兩階段的訓(xùn)練,成功生成了最終模型 SENSE-7B 和 SENSE-13B。
3、實(shí)驗(yàn)
3.1 評(píng)估基準(zhǔn)
論文使用五個(gè)數(shù)據(jù)集上的流行文本到 SQL 基準(zhǔn)測(cè)試來評(píng)估 SENSE 的有效性。
通用基準(zhǔn) Spider包含7,000個(gè)文本-SQL對(duì)在其訓(xùn)練集中,以及1,034個(gè)對(duì)在其開發(fā)集中,跨越200個(gè)不同的數(shù)據(jù)庫和138個(gè)領(lǐng)域。
挑戰(zhàn)基準(zhǔn) BIRD是一個(gè)新的包含大規(guī)模真實(shí)世界數(shù)據(jù)庫的基準(zhǔn),包含95個(gè)大型數(shù)據(jù)庫,高質(zhì)量的文本-SQL對(duì),總計(jì)33.4GB的數(shù)據(jù)跨越37個(gè)領(lǐng)域。與Spider不同,BIRD專注于大規(guī)模和真實(shí)的數(shù)據(jù)庫內(nèi)容,自然語言問題與數(shù)據(jù)庫內(nèi)容之間的外部知識(shí)推理。
魯棒基準(zhǔn) SYN取代了簡(jiǎn)單的字符串匹配問題標(biāo)簽或模式,使用同義詞替換表名。DK要求文本到SQL解析器具備領(lǐng)域知識(shí)推理能力。REALISTIC 替換問題中提到的模式項(xiàng),使其更接近真實(shí)世界場(chǎng)景。
表2:在Spider和Bird基準(zhǔn)測(cè)試上的性能比較
3.2 評(píng)估指標(biāo)
對(duì)于Spider及其魯棒性基準(zhǔn)測(cè)試,論文遵循Spider的官方評(píng)估協(xié)議,使用EX和 TS指標(biāo)。EX衡量SQL輸出是否與提供的黃金SQL的執(zhí)行結(jié)果完全匹配。TS是一個(gè)更可靠的指標(biāo),確認(rèn)Spider的SQL查詢是否通過數(shù)據(jù)庫增強(qiáng)創(chuàng)建的各種測(cè)試上的所有EX檢查。對(duì)于BIRD,論文采用其官方評(píng)估腳本,重點(diǎn)關(guān)注EX準(zhǔn)確性評(píng)估。
3.3 對(duì)比方法
論文比較了多種基線方法,這些方法可以分為三類。
提示方法 ACT-SQL引入了一種自動(dòng)生成思維鏈 (CoT) (Wei et al., 2022) 示例的方法。DIN-SQL (Pourreza and Rafiei, 2023) 使用提示將復(fù)雜的文本到SQL任務(wù)分解為較小的子任務(wù)以提高性能。DAIL-SQL (Gao et al., 2023) 改進(jìn)了問題表示、示例選擇和樣本序列組織。
表3 : SENSE和先前提出的各種方法在基于Spider的魯棒性基準(zhǔn)測(cè)試上的評(píng)估:Spider-SYN、REALISTIC和Spider-DK。
表4:Spider Dev測(cè)試集在不同SQL難度級(jí)別下的準(zhǔn)確率。
微調(diào)模型 PICARD 是一種在T5-3B上微調(diào)的約束解碼方法。RASAT (Qi et al., 2022) 和 Graphix (Li et al., 2023b) 專注于如何將結(jié)構(gòu)信息融入T5模型(Raffel et al., 2020)的微調(diào)過程中,而 RESDSQL-3B (Li et al., 2023a) 則解耦了模式鏈接和骨架解析。
開源LLMs 近期開源LLMs數(shù)量激增。論文選取了一些最新流行的LLMs,包括多種規(guī)模和版本的DeepSeek-Coder、Qwen、StarCoder、LLaMA2和CodeLLaMA。論文采用了如圖2所示的統(tǒng)一提示,以確保與SENSE進(jìn)行公平比較。
3.4 實(shí)施細(xì)節(jié)
論文選擇CodeLLaMA-7B和CodeLLaMA-13B作為主要模型,DeepSeek-Coder-1.3B作為弱模型生成偏好數(shù)據(jù)。論文的實(shí)驗(yàn)在8塊XA100 GPU上進(jìn)行,結(jié)合Spider和Bird數(shù)據(jù)集與GPT-4生成的數(shù)據(jù),使用AdamW優(yōu)化器以2e-5的學(xué)習(xí)率和三周期余弦預(yù)熱調(diào)度器進(jìn)行監(jiān)督微調(diào)。偏好學(xué)習(xí)階段始于通過微調(diào)的弱模型和SQL評(píng)估器生成弱數(shù)據(jù)。評(píng)估器將每個(gè)生成的SQL識(shí)別為正或負(fù),從而進(jìn)一步使論文能夠構(gòu)建偏好數(shù)據(jù)集。該數(shù)據(jù)集成為直接偏好優(yōu)化(DPO,)訓(xùn)練的基礎(chǔ)。
3.5總體性能
通用設(shè)置下的結(jié)果 表2顯示,在文本到SQL任務(wù)中,提示方法由于閉源LLMs和定制化提示而超越了微調(diào)方法。開源LLMs在泛化能力上稍顯不足。模型規(guī)模越大,性能通常越好,并且指令調(diào)優(yōu)能提升性能,展示了合成數(shù)據(jù)調(diào)優(yōu)的有效性。值得注意的是,SENSE在Spider數(shù)據(jù)集上達(dá)到了最先進(jìn)(SOTA)水平,超過了基于GPT-4的DAlL-SQL。具體而言,SENSE-13B在開發(fā)集上比CodeLLaMA-13B-Instruct提升了21.8%,并略微超越了DAIL-SQL,表明SENSE在縮小開源與閉源模型在文本到SQL挑戰(zhàn)中的性能差距方面具有潛力。
挑戰(zhàn)設(shè)置下的結(jié)果 在BIRD上的實(shí)驗(yàn)揭示了其復(fù)雜性,所有開源LLMs在該任務(wù)上表現(xiàn)不佳,但SENSE-13B樹立了新標(biāo)桿,如表2所示,它在測(cè)試集上超越了DAIL-SQL 5.98%。這
圖4:領(lǐng)域密度比較。該可視化圖按示例數(shù)量對(duì)領(lǐng)域進(jìn)行排序,展示了一個(gè)長(zhǎng)尾分布,以突出論文合成數(shù)據(jù)集內(nèi)的廣泛多樣性。
圖5:2-D t-SNE 可視化比較原始數(shù)據(jù)與合成數(shù)據(jù)在最后標(biāo)記上進(jìn)行監(jiān)督微調(diào)后的最后一層隱藏表示。
圖6:在CodeLLaMA-13B上使用不同監(jiān)督微調(diào)數(shù)據(jù)得到的Bird dev和Spider dev分?jǐn)?shù)。論文分別報(bào)告Bird和Spider的E X和TS
魯棒性設(shè)置結(jié)果 表3顯示,即使沒有額外訓(xùn)練,SENSE在魯棒性(SYN、DK、REALISTIC)方面表現(xiàn)卓越。SENSE-7B和SENSE-13B領(lǐng)先,平均超過RESDSQL-3B 1.4%和5.4%。值得注意的是,SENSE在DK方面的強(qiáng)大能力表明合成數(shù)據(jù)有效利用了基礎(chǔ)模型的領(lǐng)域知識(shí)。
3.6 難度細(xì)粒度分析
Spider的難度標(biāo)簽顯示SENSE-13B在所有級(jí)別上的優(yōu)勢(shì),如表4所示。相對(duì)于最佳替代方案的性能提升顯著:簡(jiǎn)單(1.6%)、中等(3.4%)、困難(7.5%)和極難(9.7%)。這表明它在處理困難樣本方面具有優(yōu)勢(shì),得益于合成數(shù)據(jù)提示中的難度控制。
3.7 消融研究
表5展示了針對(duì)SENSE的消融研究,剖析其組件以評(píng)估各自的影響。研究聚焦于三個(gè)關(guān)鍵主題。
表5:消融和可遷移性結(jié)果。上部詳細(xì)說明了排除弱數(shù)據(jù)和強(qiáng)數(shù)據(jù)在微調(diào)中的影響。下部評(píng)估了模型可遷移性,使用Qwen-1.8B和Qwen-7B。
為何強(qiáng)數(shù)據(jù)大有裨益?從圖6與表5的分析可見,強(qiáng)數(shù)據(jù)因其更為簡(jiǎn)潔的SQL查詢語句及對(duì)領(lǐng)域泛化能力的重視,顯著提升了Spider的準(zhǔn)確性。同時(shí),當(dāng)特定領(lǐng)域數(shù)據(jù)缺失時(shí),鳥類與蜘蛛數(shù)據(jù)能夠相互補(bǔ)益,這一現(xiàn)象清晰可見。圖4展示了強(qiáng)數(shù)據(jù)得益于大語言模型所存儲(chǔ)的廣泛知識(shí),呈現(xiàn)出更寬廣的長(zhǎng)尾分布,從而增強(qiáng)了SENSE適應(yīng)新領(lǐng)域的能力。此外,圖5中的t-SNE可視化進(jìn)一步凸顯了合成樣本在填補(bǔ)人工標(biāo)注數(shù)據(jù)空白方面的作用,從而再次驗(yàn)證了合成數(shù)據(jù)的價(jià)值。
圖7:偏好學(xué)習(xí)在關(guān)鍵標(biāo)記上提升文本到SQL的性能。
表6:SENSE及其對(duì)應(yīng)基礎(chǔ)模型在MMLU、ARC-Challenge、GSM8K和HumanEval上的性能表現(xiàn)。
為什么弱數(shù)據(jù)是有幫助的?弱數(shù)據(jù),在與偏好學(xué)習(xí)結(jié)合使用時(shí),幫助SENSE通過從錯(cuò)誤中學(xué)習(xí)來重新調(diào)整其輸出,確保與SQL執(zhí)行器更緊密的匹配。如表5所示,弱數(shù)據(jù)顯著提升了整體性能,特別是在提高生成的SQL查詢復(fù)雜度方面,與強(qiáng)數(shù)據(jù)訓(xùn)練的模型相比,在BIRD上提升了4.9%。此外,圖7和案例研究表明,弱數(shù)據(jù)在減少SQL生成中的幻覺方面發(fā)揮作用,最小化在選擇列、表和操作符時(shí)的錯(cuò)誤,這對(duì)于構(gòu)建復(fù)雜的SQL命令至關(guān)重要。
跨不同LLM的可遷移性 在表2 中,SENSE 以 CodeLLaMA 初始化,并利用較小的 DeepSeek-Coder 作為弱數(shù)據(jù)生成器。從模型差異的角度來看,CodeLLaMA 和 DeepSeek-Coder 由于其結(jié)構(gòu)細(xì)節(jié)和預(yù)訓(xùn)練數(shù)據(jù)的差異,可以被視為異構(gòu)模型。這引發(fā)了論文對(duì)于 SENSE 是否能有效遷移到具有相同預(yù)訓(xùn)練數(shù)據(jù)的同構(gòu)模型的疑問。論文選擇了 Qwen 系列,這是一組具有豐富尺寸多樣性的開源模型。論文使用 Qwen-7B 作為基礎(chǔ)模型,Qwen-1.8B 作為弱模型進(jìn)行合成,創(chuàng)造了一個(gè)新的變體,SENSE。如表5 所示,論文發(fā)現(xiàn)使用合成數(shù)據(jù)的方法在同構(gòu)模型下同樣有效,展示了與 SENSE 相同的改進(jìn)水平。這證實(shí)了所提出方法的可遷移性。
在一般和罕見任務(wù)上的表現(xiàn) 除了評(píng)估 SENSE 在多個(gè)文本到SQL任務(wù)上的性能外,論文還通過在幾個(gè)基準(zhǔn)測(cè)試上進(jìn)行實(shí)驗(yàn)來評(píng)估其泛化能力:用于語言理解的 MMLU,用于常識(shí)推理的 ARC-Challenge,用于數(shù)學(xué)推理的 GSM8K,以及用于代碼生成的 HumanEval。表6 中的結(jié)果突顯了 SENSE 在這些多樣任務(wù)中的競(jìng)爭(zhēng)性能,展示了其在 SQL 領(lǐng)域之外的廣泛適用性。
值得注意的是,盡管 SENSE 在數(shù)學(xué)推理上保持了競(jìng)爭(zhēng)性能,但 SENSE-13B 在代碼生成性能上相較于其基礎(chǔ)模型有顯著提升。這些發(fā)現(xiàn)強(qiáng)調(diào)了 SENSE 在各種任務(wù)中的強(qiáng)大多功能性和泛化能力。此外,論文的實(shí)驗(yàn)顯示,即使專門針對(duì)文本到SQL任務(wù)進(jìn)行微調(diào),SENSE 模型在 MMLU 任務(wù)上仍能保持性能,證實(shí)了論文提出的方法不會(huì)影響 LLM 中存儲(chǔ)的知識(shí)。此外,如果需要提升 NLP 任務(wù)性能,可以通過指令微調(diào)加入額外的通用數(shù)據(jù),盡管這超出了本文的范圍。
?
本文轉(zhuǎn)載自 ??AI帝國???,作者: 無影寺
