偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

NL2SQL:基于LLM的解決方案是最好的嗎?

發(fā)布于 2024-9-5 14:12
瀏覽
0收藏

1. NL2SQL現(xiàn)狀

自然語(yǔ)言轉(zhuǎn)SQL(nl2sql)技術(shù)是指自然語(yǔ)言查詢轉(zhuǎn)化為SQL查詢,降低普通用戶和專家用戶在訪問(wèn)海量數(shù)據(jù)集和獲取數(shù)據(jù)分析結(jié)果時(shí)的門檻。

1.1 我們目前處于何方?

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖展示了過(guò)去二十年nl2sql方法的演進(jìn)歷程,從基于規(guī)則的方法,到基于深度神經(jīng)網(wǎng)絡(luò)的方法,再到可調(diào)的預(yù)訓(xùn)練語(yǔ)言模型(PLMs),直至大型語(yǔ)言模型(LLMs),整個(gè)過(guò)程伴隨著數(shù)據(jù)集的發(fā)展,比如Spider和BIRD等基準(zhǔn)測(cè)試的發(fā)展。

LLMs(如GPT-4和Llama2)相較于PLMs(如GPT-2和BART)是規(guī)模更大的語(yǔ)言模型,展現(xiàn)出更深層次的語(yǔ)言理解能力。在nl2sql 任務(wù)中應(yīng)用PLMs需要在特定任務(wù)的數(shù)據(jù)集上進(jìn)行微調(diào),而利用LLMs則可以通過(guò)提示(上下文學(xué)習(xí))或僅對(duì)開(kāi)源LLMs進(jìn)行微調(diào)(即SFT)。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖對(duì)比了基于PLM(藍(lán)點(diǎn))和基于LLM(綠點(diǎn))的nl2sql模型在Spider排行榜上的準(zhǔn)確率。

可以看出基于LLM的nl2sql模型自2023年2月(DINSQL + CodeX)起便與基于PLM的模型展現(xiàn)出相當(dāng)?shù)臏?zhǔn)確率。

然而,隨著LLMs的迅猛發(fā)展,基于LLM和PLM模型之間的性能差距正在擴(kuò)大,表明了基于LLM方法優(yōu)勢(shì)十分明顯。

1.2 基于LLM的模型是否明顯勝出?

根據(jù)上圖,是否可以斷定基于LLM的模型是所有nl2sql應(yīng)用的“首選”?換句話說(shuō),總是選擇排行榜首位的模型是否總是最佳策略?

討論這一問(wèn)題前,作者分析了商業(yè)化場(chǎng)景的一些特征:

?多樣化的數(shù)據(jù)領(lǐng)域(Various Data Domains):類似Tableau 這樣的BI平臺(tái)通常涵蓋多個(gè)領(lǐng)域(如電影、體育等),每個(gè)領(lǐng)域都有其獨(dú)特的架構(gòu)和術(shù)語(yǔ)。理想的nl2sql模型必須能夠在這些不同領(lǐng)域間靈活轉(zhuǎn)換,同時(shí)針對(duì)每個(gè)特定領(lǐng)域進(jìn)行調(diào)整,以有效滿足即時(shí)需求。

?復(fù)雜的SQL操作(Complex SQL operations):實(shí)際應(yīng)用中往往需要執(zhí)行包含多個(gè)JOIN、嵌套查詢和聚合函數(shù)等高級(jí)操作的復(fù)雜SQL查詢。準(zhǔn)確生成這些復(fù)雜查詢的能力是衡量nl2sql模型性能的重要指標(biāo)。

?新興的語(yǔ)言現(xiàn)象(New Linguistic Phenomena):對(duì)于同一查詢意圖,不同用戶可能會(huì)使用不同的縮寫、同義詞和問(wèn)題風(fēng)格提出問(wèn)題。因此,nl2sql模型準(zhǔn)確解讀各種自然語(yǔ)言查詢變體的能力至關(guān)重要。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖從多個(gè)維度對(duì)比了Spider開(kāi)發(fā)數(shù)據(jù)集上的SOTA PLM和LLM模型,評(píng)價(jià)指標(biāo)是執(zhí)行準(zhǔn)確性(Execution-Accuracy)。

?多樣化的數(shù)據(jù)領(lǐng)域(Various Data Domains):上圖(a)在競(jìng)賽領(lǐng)域內(nèi)比較了不同模型。結(jié)果表明基于微調(diào)的LLM/PLM方法全面超越了所有基于提示的LLM方法。表現(xiàn)最佳的基于PLM的方法RESDSQL-3B+NatSQL,達(dá)到了83.9%的執(zhí)行準(zhǔn)確率,比表現(xiàn)最佳的基于提示的LLM方法DAILSQL(搭配GPT-4)高出3.3個(gè)百分點(diǎn)。結(jié)果表明,微調(diào)是提升nl2sql模型領(lǐng)域適應(yīng)能力的關(guān)鍵策略。

?復(fù)雜的SQL操作(Complex SQL operations):上圖(b)比較了僅包含JOIN操作符的SQL查詢用例中的不同模型?;赑LM的方法RESDSQL-3B+NatSQL位居榜首,超越了所有基于LLM的方法。然而,當(dāng)比較僅包含嵌套SQL查詢的用例時(shí),基于LLM的方法通常優(yōu)于基于PLM的方法。

?新興的語(yǔ)言現(xiàn)象(New Linguistic Phenomena):比較了不同語(yǔ)言現(xiàn)象下方法的平均準(zhǔn)確率(例如,“返回所有消費(fèi)總額超過(guò)1000的客戶”與“消費(fèi)超過(guò)1000的客戶名單是什么?”)。上圖(d)顯示,盡管兩種類型的方法都表現(xiàn)良好,但微調(diào)的LLM和PLM在nl2sql任務(wù)上優(yōu)于基于提示的LLM。主要是因?yàn)槲⒄{(diào)模型能更好地將不同的查詢變體與數(shù)據(jù)庫(kù)架構(gòu)相匹配。

所以,并非所有情況都適用同一解決方案;也就是說(shuō),即使是目前最強(qiáng)大的LLM GPT-4支持的模型,也沒(méi)有一個(gè)nl2sql模型能在所有不同的使用場(chǎng)景中都成為明顯的贏家。真實(shí)應(yīng)用場(chǎng)景遠(yuǎn)比公共nl2sql基準(zhǔn)測(cè)試(如Spider和BIRD)所能考察的要復(fù)雜得多。因此,迫切需要能夠從不同角度系統(tǒng)評(píng)估給定基準(zhǔn)上nl2sql模型的工具。

1.3 全局視角看NL2SQL

根據(jù)文章最開(kāi)始的進(jìn)化樹(shù),NL2SQL可以分為四大流派:

? 基于規(guī)則的方法:早期研究依賴于預(yù)設(shè)規(guī)則或語(yǔ)義解析器。例如,NaLIR利用句法解析器和手工規(guī)則將自然語(yǔ)言查詢轉(zhuǎn)換為SQL查詢。但這些方法在適應(yīng)性、擴(kuò)展性和泛化力上存在局限。

? 基于神經(jīng)網(wǎng)絡(luò)的方法:利用神經(jīng)網(wǎng)絡(luò)將自然語(yǔ)言查詢譯為SQL查詢。隨之發(fā)布了若干大規(guī)?;鶞?zhǔn)數(shù)據(jù)集,例如WikiSQL和Spider。相繼開(kāi)發(fā)了諸如IRNet的序列到序列nl2sql方法。IRNet通過(guò)編碼器對(duì)自然語(yǔ)言查詢和數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行編碼,并借助解碼器生成SQL查詢。

? 基于PLM的方法:隨著Transformer的問(wèn)世和Spider數(shù)據(jù)集的推出,基于神經(jīng)網(wǎng)絡(luò)的方法迅速崛起,BERT和T5等模型開(kāi)啟了預(yù)訓(xùn)練語(yǔ)言模型的新紀(jì)元,在基準(zhǔn)數(shù)據(jù)集上屢創(chuàng)佳績(jī)。例如,RESDSQL,作為Spider排行榜的佼佼者,采用兩階段框架:先從自然語(yǔ)言查詢中識(shí)別相關(guān)架構(gòu)元素,再構(gòu)建SQL查詢。

? 基于LLM的方法:ChatGPT和GPT-4等大型語(yǔ)言模型的出現(xiàn),徹底革新了nl2sql解決方案。如今,基于LLM的方法已在nl2sql領(lǐng)域占據(jù)主導(dǎo)地位。以DAIL-SQL為例,它借助GPT-4和提示工程,在Spider數(shù)據(jù)集上取得了不俗的成績(jī)。

NL2SQL系統(tǒng)的關(guān)鍵組件

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上表根據(jù)核心模型和若干關(guān)鍵組件對(duì)當(dāng)前領(lǐng)先的nl2sql方法進(jìn)行了分類。

2. NL2SQL360:NL2SQL的全方位測(cè)試平臺(tái)

為了更好的、系統(tǒng)性的測(cè)評(píng)NL2SQL任務(wù),作者推出了NL2SQL測(cè)評(píng)平臺(tái)。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖展示了NL2SQL360測(cè)試平臺(tái)框架,由六個(gè)核心組件構(gòu)成:

? 基準(zhǔn)數(shù)據(jù)集。匯集了多種廣泛采用的基準(zhǔn)數(shù)據(jù)集,包括Spider 、BIRD 、Spider-Realistic 、Dr.Spider 、KaggleDBQA 、WikiSQL 等。

? 模型庫(kù)。收錄了一系列在Spider和BIRD排行榜上表現(xiàn)出色的競(jìng)爭(zhēng)性開(kāi)源NL2SQL模型,主要包括基于LLM和PLM的方法。

? 數(shù)據(jù)集篩選器。傳統(tǒng)評(píng)估方法通過(guò)計(jì)算整個(gè)基準(zhǔn)數(shù)據(jù)集的平均性能,忽略了不同場(chǎng)景下NL2SQL的細(xì)微差別。為彌補(bǔ)這一不足,精心挑選了特定的基準(zhǔn)數(shù)據(jù)集子集,包括特定的數(shù)據(jù)庫(kù)、自然語(yǔ)言查詢和SQL查詢,以凸顯查詢復(fù)雜性、數(shù)據(jù)庫(kù)架構(gòu)多樣性以及SQL特性(如JOIN操作或嵌套查詢)等獨(dú)特要素。因此,在NL2SQL360中引入了數(shù)據(jù)集篩選機(jī)制。這使得測(cè)試數(shù)據(jù)集能夠根據(jù)不同的標(biāo)準(zhǔn)被劃分為更加專注的子集:

? (1) 場(chǎng)景一:
SQL復(fù)雜度。
根據(jù)復(fù)雜度對(duì)SQL查詢進(jìn)行分類,從簡(jiǎn)單查詢到包含多個(gè)子句和條件的復(fù)雜查詢。
分類標(biāo)準(zhǔn)遵循Spider的準(zhǔn)則,目的是評(píng)估NL2SQL方法處理不同難度SQL的能力。

? (2) 場(chǎng)景二:
SQL特性。
檢驗(yàn)主要利用特定特性的SQL查詢,例如JOIN操作、子查詢或聚合函數(shù)。
通過(guò)基于這些特性對(duì)查詢進(jìn)行分類,評(píng)估NL2SQL系統(tǒng)處理不同SQL功能的能力。
例如,商業(yè)智能平臺(tái)經(jīng)常需要處理包含嵌套子查詢的分析型查詢。

? 評(píng)估標(biāo)準(zhǔn)。采納了廣受認(rèn)可的評(píng)估標(biāo)準(zhǔn)。

? 采用執(zhí)行準(zhǔn)確度(EX)與完全匹配準(zhǔn)確度(EM)來(lái)評(píng)價(jià)生成的SQL查詢的效果。

? 利用有效效率得分(VES)來(lái)衡量生成有效SQL查詢的效率。

? 查詢變異性測(cè)試更全面地評(píng)估nl2sql解決方案處理自然語(yǔ)言查詢變化時(shí)的穩(wěn)定性與適應(yīng)性

? 評(píng)估工具。根據(jù)日志中的數(shù)據(jù),評(píng)估工具自動(dòng)生成定量評(píng)估報(bào)告,并以表格或排行榜等直觀格式展示。配備了可視化工具和儀表板,支持用戶進(jìn)行交互式分析,輕松比較不同nl2sql解決方案在數(shù)據(jù)庫(kù)領(lǐng)域和SQL特性等方面的性能表現(xiàn)。

3. LLM好還是PLM好?

作者采用了Spider 和 BIRD 的開(kāi)發(fā)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),分別包含1034和1534個(gè)自然語(yǔ)言與SQL樣本。BIRD數(shù)據(jù)集的SQL結(jié)構(gòu)更為復(fù)雜,涵蓋了Spider未包含的CASE、IIF等關(guān)鍵字,增加了對(duì)模型自然語(yǔ)言轉(zhuǎn)SQL能力的挑戰(zhàn)。此外,BIRD中的數(shù)據(jù)庫(kù)結(jié)構(gòu)也比Spider更為復(fù)雜。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

3.1 測(cè)評(píng)基準(zhǔn)

3.1.1 4種基于LLM提示工程的基準(zhǔn)方法

? (1) DINSQL:將SQL查詢生成分解為多個(gè)子任務(wù),并為每個(gè)子任務(wù)設(shè)計(jì)了特定的提示,以指導(dǎo)GPT-4生成最終的SQL查詢。

? (2) DAILSQL:以SQL代碼風(fēng)格對(duì)問(wèn)題和數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行編碼,根據(jù)結(jié)構(gòu)和查詢的相似性選擇少量示例,這些元素被整合成一個(gè)高效的提示,引導(dǎo)GPT-4進(jìn)行操作。

? (3) DAILSQL(SC) :DAILSQL的自我一致性(SC,Self Consistence)策略后處理版本。

? (4) C3SQL :結(jié)合了模式鏈接過(guò)濾(schema linking filterin)和為GPT-3.5定制的校準(zhǔn)偏差提示,用于生成SQL查詢,并采用自我一致性策略(SC,Self Consistence)進(jìn)行后處理。

33.1.2 9種基于finetune的LLM方法

? (5-8) SFT CodeS (1B/3B/7B/15B)  是基于StarCoder ,使用大量SQL相關(guān)語(yǔ)料庫(kù)逐步預(yù)訓(xùn)練的,在后續(xù)實(shí)驗(yàn)中,使用了與Spider或BIRD數(shù)據(jù)集微調(diào)的SFT CodeS。實(shí)驗(yàn)中包含了SFT CodeS家族的四個(gè)版本。

? (9) Llama2-7B 采用優(yōu)化的Transformer作為自回歸語(yǔ)言模型,由Meta在龐大的語(yǔ)料庫(kù)上預(yù)訓(xùn)練。

? (10) Llama3-8B 在超過(guò)15T的令牌數(shù)據(jù)上訓(xùn)練,訓(xùn)練數(shù)據(jù)集規(guī)模是Llama 2的7倍,包括4倍多的代碼。

? (11) StarCoder-7B 是一個(gè)代碼LLM,已在GitHub上許可的數(shù)據(jù)上進(jìn)行訓(xùn)練,包括超過(guò)80種編程語(yǔ)言的代碼。

? (12) CodeLlama-7B 是Llama2的增強(qiáng)版,通過(guò)在代碼庫(kù)數(shù)據(jù)集上進(jìn)行額外訓(xùn)練進(jìn)行了優(yōu)化。

? (13) Deepseek-Coder-7B 在項(xiàng)目級(jí)代碼語(yǔ)料庫(kù)和填空任務(wù)上進(jìn)行訓(xùn)練,以提升代碼補(bǔ)全能力。

3.1.3 7種基于PLM的自然語(yǔ)言轉(zhuǎn)SQL方法

? (1) Graphix-3B+PICARD 將預(yù)訓(xùn)練的T5-3B變換器與圖感知增強(qiáng)集成,用于自然語(yǔ)言轉(zhuǎn)SQL任務(wù),并利用PICARD 提高性能。

? (2-4) RESDSQL(Base/Large/3B) 引入了排名增強(qiáng)編碼和骨架感知解碼,將模式鏈接與骨架解析分離。

? (5-7) RESDSQL(Base/Large/3B)+NatSQL 結(jié)合了NatSQL 以獲得更好性能的版本。實(shí)驗(yàn)中使用了六個(gè)版本的RESDSQL家族模型。

3.2 實(shí)驗(yàn)一:微調(diào)是否必要?

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

從執(zhí)行準(zhǔn)確度(EX)的視角來(lái)看(上面兩圖分別展示了Spider數(shù)據(jù)集和Bird數(shù)據(jù)集上結(jié)果),基于LLM的方法在不同難度的子集中均超越了基于PLM的方法。特別是在BIRD測(cè)試數(shù)據(jù)集中,DAILSQL(SC)在挑戰(zhàn)性子集上的表現(xiàn)超過(guò)了基于LLM的最新最佳方法SFT CodeS15B,這可能是由于GPT-4在推理能力上的顯著優(yōu)勢(shì)。

從精確匹配準(zhǔn)確度(EM)的角度分析,經(jīng)過(guò)監(jiān)督微調(diào)的基于LLM的方法通常比基于提示的LLM方法展現(xiàn)出更高的EM性能。微調(diào)之后,無(wú)論是基于LLM還是PLM的模型,其輸出都更加貼近特定數(shù)據(jù)集的數(shù)據(jù)分布,從而能夠預(yù)測(cè)出與該數(shù)據(jù)集中相似的SQL結(jié)構(gòu)。

洞察1微調(diào)是提升性能的必由之路。特別是,經(jīng)過(guò)微調(diào)的基于LLM的方法在執(zhí)行準(zhǔn)確度(EX)指標(biāo)上取得了最優(yōu)的整體表現(xiàn),而基于PLM的方法在精確匹配準(zhǔn)確度(EM)指標(biāo)上整體表現(xiàn)最為出色。

3.3 實(shí)驗(yàn)二:精確度與SQL特性的較量

在真實(shí)場(chǎng)景中,經(jīng)常需要構(gòu)建包含諸如子查詢、邏輯連接器、排序(ORDER BY)以及多重連接(JOIN)等高級(jí)操作的SQL查詢。

因此,將檢驗(yàn)自然語(yǔ)言轉(zhuǎn)SQL模型在生成具有不同特性的SQL查詢方面的精準(zhǔn)度。

所以,根據(jù)四個(gè)維度對(duì)SQL查詢進(jìn)行分類:

? (1) 是否包含子查詢

? (2) 邏輯連接器的數(shù)量

? (3) 是否使用排序功能

? (4) 連接操作的次數(shù)

NL2SQL360能夠根據(jù)單個(gè)SQL子句、它們的組合或用戶自定義的條件來(lái)過(guò)濾SQL查詢。展示了四個(gè)具有代表性的維度。

3.3.1 實(shí)驗(yàn)2.1:子查詢的挑戰(zhàn)

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

從上面兩個(gè)可以看出,在涉及子查詢的情況下,所有方法的表現(xiàn)都不盡如人意,表明通過(guò)子查詢進(jìn)行邏輯推理是一個(gè)難題。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖揭示了在沒(méi)有子查詢的情況下,基于LLM的方法在Spider數(shù)據(jù)集上略微領(lǐng)先于基于PLM的方法,而在BIRD數(shù)據(jù)集上則平均表現(xiàn)顯著更佳。

當(dāng)存在子查詢時(shí),基于LLM的方法在兩個(gè)數(shù)據(jù)集上都大放異彩。這是因?yàn)闃?gòu)建帶有子查詢的SQL語(yǔ)句要求模型先深入理解子查詢,再生成完整的SQL語(yǔ)句,這對(duì)模型的邏輯推理能力提出了高要求。

所有基于LLM的方法,尤其是那些由GPT-4驅(qū)動(dòng)的,處理子查詢時(shí)更為出色,不僅超越了經(jīng)過(guò)微調(diào)的基于LLM的方法,也超過(guò)了基于PLM的方法。模型內(nèi)在的推理能力對(duì)于處理含子查詢的SQL至關(guān)重要。

洞察2:在包含子查詢的場(chǎng)景中,基于LLM的方法總體上超越了基于PLM的方法,尤其是那些采用GPT-4的(即基于提示的LLM)方法,表現(xiàn)尤為突出。模型的內(nèi)在推理能力可能是準(zhǔn)確預(yù)測(cè)子查詢的關(guān)鍵所在。

3.3.2 實(shí)驗(yàn)2.2:邏輯連接符的運(yùn)用

邏輯連接符(如AND、OR)用于連接條件、篩選查詢結(jié)果及其他操作,因此評(píng)估模型處理邏輯連接符的性能至關(guān)重要。

在未涉及邏輯連接符的情況下,基于LLM的智能體在Spider數(shù)據(jù)集上并未明顯超越基于PLM的方法。但在結(jié)構(gòu)更復(fù)雜的BIRD數(shù)據(jù)集中,基于LLM的智能體則表現(xiàn)出色。

一旦涉及到邏輯連接符,基于LLM的智能體在兩個(gè)數(shù)據(jù)集上均持續(xù)領(lǐng)先于基于PLM的智能體。

洞察3:在需要邏輯連接符的情境下,基于LLM的智能體相較于基于PLM的智能體,展現(xiàn)出更優(yōu)的性能

3.3.3 實(shí)驗(yàn)2.3:多表連接的藝術(shù)

實(shí)際應(yīng)用中,經(jīng)常需要構(gòu)建涉及多表連接的SQL查詢,對(duì)模型準(zhǔn)確把握復(fù)雜數(shù)據(jù)庫(kù)架構(gòu)的能力提出了挑戰(zhàn)。

在不涉及連接操作的情況下,基于LLM和PLM的方法在Spider和BIRD數(shù)據(jù)集上的表現(xiàn)參差不齊,難分伯仲。

當(dāng)涉及到需要執(zhí)行連接操作的場(chǎng)景時(shí),基于LLM的在兩個(gè)數(shù)據(jù)集中均顯著優(yōu)于基于PLM的??赡苁且?yàn)檫B接操作要求深入理解數(shù)據(jù)庫(kù)的復(fù)雜結(jié)構(gòu),而LLM在這方面通常表現(xiàn)出色,得益于其卓越的上下文理解能力。

NatSQL的積極作用也不容忽視。在處理包含連接的SQL查詢時(shí),DINSQL在基于提示的智能體中表現(xiàn)最佳,而RESDSQL-3B+NatSQL則在基于PLM的智能體中獨(dú)占鰲頭。兩者都采用了NatSQL 作為中間表示層,這可能得益于其簡(jiǎn)化的形式,省去了連接關(guān)鍵字并減少了架構(gòu)項(xiàng)的預(yù)測(cè),從而在連接場(chǎng)景中簡(jiǎn)化了SQL的預(yù)測(cè)過(guò)程。

洞察4:在需要執(zhí)行連接操作的場(chǎng)景中,基于LLM的智能體比基于PLM的智能體表現(xiàn)更佳。采用NatSQL作為中間表示層,不僅降低了預(yù)測(cè)連接操作的復(fù)雜性,還可能進(jìn)一步提升模型的性能。

3.3.4 實(shí)驗(yàn)2.4:排序指令

在缺乏ORDER BY指令時(shí),基于LLM的在Spider與BIRD兩個(gè)數(shù)據(jù)集上均優(yōu)于基于PLM的方法。但當(dāng)引入ORDER BY指令后,情況在Spider數(shù)據(jù)集上發(fā)生了逆轉(zhuǎn),基于LLM的方法表現(xiàn)稍遜一籌,而在BIRD數(shù)據(jù)集上則依舊保持領(lǐng)先。這種差異可能源于BIRD數(shù)據(jù)集的復(fù)雜度高于Spider。

洞察5:在涉及ORDER BY指令的場(chǎng)景中,基于PLM和LLM的智能體在不同數(shù)據(jù)集間的表現(xiàn)呈現(xiàn)出差異。大體來(lái)看,基于LLM的智能體展現(xiàn)出了更優(yōu)越的泛化能力。

3.4 實(shí)驗(yàn)3:查詢變異性測(cè)試(Query Variance Testing,QVT)

檢驗(yàn)nl2sql系統(tǒng)對(duì)多樣化自然語(yǔ)言表述和結(jié)構(gòu)的適應(yīng)力,模擬實(shí)際應(yīng)用中可能遇到的豐富場(chǎng)景。

在BIRD數(shù)據(jù)集中,很少有SQL查詢與多個(gè)不同的自然語(yǔ)言表達(dá)相對(duì)應(yīng)。因此,選用了Spider開(kāi)發(fā)集來(lái)構(gòu)建QVT數(shù)據(jù)集,它包含了469個(gè)SQL查詢,每個(gè)都對(duì)應(yīng)著兩個(gè)以上的不同自然語(yǔ)言查詢,這正符合QVT的初衷。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

如上圖,基于LLM的智能體與基于PLM的智能體在QVT方面難分伯仲。

不過(guò),經(jīng)過(guò)微調(diào)的LLM智能體通常在QVT上表現(xiàn)更佳,可能是因?yàn)槲⒄{(diào)使得模型輸入與特定數(shù)據(jù)分布更加吻合,從而減少了自然語(yǔ)言變化對(duì)性能的沖擊。

值得注意的是,盡管Graphix+PICARD方法在整體執(zhí)行準(zhǔn)確度(EX)上不及其他基于提示的智能體,卻在QVT上超越了它們。

洞察6:在QVT方面,基于LLM與基于PLM的智能體并無(wú)明顯優(yōu)劣之分。針對(duì)特定任務(wù)數(shù)據(jù)集對(duì)模型進(jìn)行微調(diào),可能有助于提高其在面對(duì)自然語(yǔ)言變化時(shí)的性能穩(wěn)定性。

3.5 實(shí)驗(yàn)4:數(shù)據(jù)庫(kù)領(lǐng)域適配

在自然語(yǔ)言到SQL的實(shí)際應(yīng)用案例中,往往需要處理特定領(lǐng)域的數(shù)據(jù)庫(kù),比如電影或體育領(lǐng)域,各自擁有獨(dú)特的架構(gòu)設(shè)計(jì)和專業(yè)術(shù)語(yǔ)。因此,跨不同領(lǐng)域的細(xì)致表現(xiàn)評(píng)估對(duì)于模型的有效應(yīng)用極為關(guān)鍵。

對(duì)Spider訓(xùn)練集中的140個(gè)數(shù)據(jù)庫(kù)和開(kāi)發(fā)集中的20個(gè)數(shù)據(jù)庫(kù)進(jìn)行了分類,共劃分出33個(gè)不同的領(lǐng)域。所有基于微調(diào)的LLM和PLM智能體均使用訓(xùn)練集進(jìn)行調(diào)優(yōu)。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖展示了Spider數(shù)據(jù)集中,不同數(shù)據(jù)庫(kù)領(lǐng)域內(nèi)的執(zhí)行準(zhǔn)確度(EX)表現(xiàn)。不同的自然語(yǔ)言到SQL方法對(duì)不同領(lǐng)域有著不同的偏好,基于LLM和基于PLM的智能體并沒(méi)有明顯的優(yōu)劣之分。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖展示了整體表現(xiàn)。在擁有較多訓(xùn)練數(shù)據(jù)庫(kù)的領(lǐng)域(如大學(xué)、競(jìng)賽、交通),基于微調(diào)的方法表現(xiàn)更佳。而在訓(xùn)練數(shù)據(jù)庫(kù)較少的領(lǐng)域,基于提示的方法則更為出色。這說(shuō)明,在微調(diào)階段引入領(lǐng)域內(nèi)的訓(xùn)練數(shù)據(jù)對(duì)于提升模型在特定領(lǐng)域的性能至關(guān)重要。

洞察7:不同方法對(duì)不同領(lǐng)域有著不同的偏好,基于LLM和基于PLM的智能體并無(wú)絕對(duì)的勝出者。不過(guò),在微調(diào)階段的領(lǐng)域內(nèi)訓(xùn)練數(shù)據(jù)對(duì)于模型在特定領(lǐng)域的表現(xiàn)極為重要。

3.6 實(shí)驗(yàn)5:LLM智能體的監(jiān)督式微調(diào)

探究在自然語(yǔ)言轉(zhuǎn)SQL任務(wù)中,對(duì)開(kāi)源大型語(yǔ)言模型(LLM)進(jìn)行監(jiān)督式微調(diào)(SFT)的效果。

DAILSQL 在SFT過(guò)程中,不同樣本量和提示表述的影響,但并未明確指出哪些開(kāi)源LLM最適合用于自然語(yǔ)言轉(zhuǎn)SQL任務(wù)的SFT。采用SQL風(fēng)格的提示對(duì)提升效果有益,因此在零樣本設(shè)置中也采取了類似的提示策略,如下圖。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

考慮到自然語(yǔ)言轉(zhuǎn)SQL任務(wù)與代碼編寫密切相關(guān),挑選了五款具有不同代碼處理能力的開(kāi)源LLM,并通過(guò)HumanEval (Pass@1) 指標(biāo)進(jìn)行了評(píng)估。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

如上圖,經(jīng)過(guò)SFT,各模型的性能(EX)均有提升,但提升幅度在不同基礎(chǔ)模型間差異顯著。

性能提升與模型在SFT前的內(nèi)在編碼能力(HumanEval)之間存在正相關(guān)關(guān)系。這表明,選擇具有優(yōu)秀編碼能力的LLM作為基礎(chǔ)模型,對(duì)于適應(yīng)自然語(yǔ)言轉(zhuǎn)SQL任務(wù)大有裨益。

洞察8:在對(duì)開(kāi)源LLM進(jìn)行自然語(yǔ)言轉(zhuǎn)SQL任務(wù)的監(jiān)督式微調(diào)(SFT)后,發(fā)現(xiàn)SFT后的性能與模型在SFT前的固有編碼能力之間存在正相關(guān)。這說(shuō)明,具備高級(jí)編碼能力的LLM是適應(yīng)自然語(yǔ)言轉(zhuǎn)SQL任務(wù)的關(guān)鍵。

3.7 實(shí)驗(yàn)6:基于LLM的方法的經(jīng)濟(jì)性

考慮到國(guó)內(nèi)模型很便宜,這部分感覺(jué)意義不大,直接看洞察

洞察9:根據(jù)執(zhí)行準(zhǔn)確度(EX)與平均成本的比值,發(fā)現(xiàn)調(diào)用GPT-3.5-turbo的基于提示的LLM智能體具有更高的成本效益。雖然DAILSQL(SC)在Spider和BIRD數(shù)據(jù)集上相較于DAILSQL在EX上有所提升,但其增加的成本也降低了其整體的成本效益。

3.8 實(shí)驗(yàn)7:基于PLM方法的執(zhí)行效率

對(duì)六種模型進(jìn)行了三項(xiàng)指標(biāo)的評(píng)估:

? 執(zhí)行準(zhǔn)確度(EX)

? 樣本延遲

? GPU內(nèi)存

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

如上圖,隨著模型規(guī)模的增長(zhǎng),GPU內(nèi)存消耗和延遲也隨之上升。但是,RESDSQL-Base+NatSQL(2.2億參數(shù))與RESDSQL-Large(7.7億參數(shù))在執(zhí)行準(zhǔn)確度上表現(xiàn)相近(分別為80.2%和80.1%),而前者在延遲和內(nèi)存使用上更為經(jīng)濟(jì)。同樣,RESDSQL-Large+NatSQL與RESDSQL-3B在執(zhí)行準(zhǔn)確度上不相上下,但在延遲和硬件需求上存在差異。因此,在模型的選擇上,需要權(quán)衡延遲和硬件資源。

洞察10:隨著模型參數(shù)規(guī)模的擴(kuò)大,其延遲和硬件資源的需求也會(huì)相應(yīng)增長(zhǎng)。此外,即便性能相近,不同模型在延遲和硬件資源需求上也可能大相徑庭。

3.9 實(shí)驗(yàn)8:SQL效能探究 - 有效效率評(píng)分

在現(xiàn)實(shí)世界的運(yùn)用中,不僅需確保模型產(chǎn)出的SQL查詢準(zhǔn)確無(wú)誤,更要注重其執(zhí)行的高效性。BIRD 提出了有效效率評(píng)分(VES,Valid Efficiency Score),用以衡量正確生成的SQL查詢的執(zhí)行效能。

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

上圖展示了實(shí)驗(yàn)的成果。橙色標(biāo)注了最高的VES得分。在各個(gè)難度層級(jí)的子集中,VES得分最高的方法并不固定,無(wú)論是基于LLM還是基于PLM的方法,都未見(jiàn)明顯的優(yōu)勢(shì)。大體而言,同一方法在處理更為復(fù)雜的子集時(shí),往往會(huì)有較低的VES表現(xiàn),這可能與執(zhí)行難度的增加和所需時(shí)間的延長(zhǎng)有關(guān)。

洞察11:依據(jù)VES評(píng)分,在基于LLM和基于PLM的方法之間,并沒(méi)有明顯的贏家。對(duì)于同一方法而言,它在面對(duì)更具挑戰(zhàn)性的子集時(shí),往往會(huì)展現(xiàn)出較低的VES。

3.10 實(shí)驗(yàn)9:訓(xùn)練樣本數(shù)量的效應(yīng)

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

無(wú)論是基于PLM還是經(jīng)過(guò)微調(diào)的LLM方法,隨著自然語(yǔ)言到SQL訓(xùn)練數(shù)據(jù)的增多,性能均有所提升,并在訓(xùn)練樣本達(dá)到4000時(shí)獲得滿意的性能表現(xiàn)。然而,隨著數(shù)據(jù)集規(guī)模的擴(kuò)大,執(zhí)行準(zhǔn)確度(EX)的增益逐漸減少。

洞察12:隨著自然語(yǔ)言到SQL訓(xùn)練數(shù)據(jù)的增加,基于PLM和LLM的方法性能均有所提高。但值得注意的是,隨著數(shù)據(jù)集規(guī)模的增長(zhǎng),執(zhí)行準(zhǔn)確度(EX)的提升幅度逐漸降低。若數(shù)據(jù)隱私成為關(guān)注點(diǎn)或有足夠的標(biāo)注數(shù)據(jù),對(duì)LLM/PLM進(jìn)行微調(diào)展現(xiàn)出巨大的潛力。

4. NL2SQL的模塊化設(shè)計(jì)

NL2SQL:基于LLM的解決方案是最好的嗎?-AI.x社區(qū)圖片

如上圖,可以將NL2SQL方案大致劃分為以上模塊:

? (1) 預(yù)處理階段:預(yù)處理環(huán)節(jié)涵蓋了架構(gòu)關(guān)聯(lián)和數(shù)據(jù)庫(kù)內(nèi)容兩大核心。架構(gòu)關(guān)聯(lián)將自然語(yǔ)言查詢指向數(shù)據(jù)庫(kù)架構(gòu)元素(例如表和列),從而提升了跨領(lǐng)域通用性和復(fù)雜查詢的生成能力。數(shù)據(jù)庫(kù)內(nèi)容模塊通過(guò)字符串匹配,常常用于將查詢條件與數(shù)據(jù)庫(kù)內(nèi)容相匹配,進(jìn)一步豐富列的細(xì)節(jié)信息。

? (2) 提示策略:提示策略可分為零樣本和少樣本兩種,零樣本策略在模型輸入中不包含任何自然語(yǔ)言到SQL的示例,而少樣本策略則包含一定數(shù)量的示例,如“3樣本”、“5樣本”等?;赑LM的方法通常偏好零樣本策略,而基于LLM的方法則各有千秋:C3SQL采用零樣本策略,而DAILSQL和DINSQL則采用少樣本策略。DINSQL的少樣本示例是人工設(shè)計(jì)且固定的,相較之下,DAILSQL的示例則是基于目標(biāo)問(wèn)題與訓(xùn)練集示例間的相似度動(dòng)態(tài)選擇的。

? (3) SQL構(gòu)建策略:語(yǔ)言智能體在生成SQL時(shí)采取多樣化的策略,這些策略可歸納為三個(gè)核心要素:分步構(gòu)建、解碼技巧和中間表達(dá)形式。

? (a) 分步構(gòu)建,類似于思維鏈(Chain-of-Thought, COT)的邏輯,通過(guò)分階段構(gòu)造SQL查詢,尤其適合處理復(fù)雜查詢。
兩種分步策略:
“SQL框架 - SQL”策略源自基于PLM的RESDSQL ,“子查詢 - SQL”策略則來(lái)自DINSQL 。

? (b) 解碼技巧關(guān)注的是LLM在解碼過(guò)程中如何確保輸出結(jié)果的有效性。
基于PLM的PICARD 確保其輸出嚴(yán)格遵守SQL語(yǔ)法規(guī)則,而基于LLM的方法則通過(guò)OpenAI的API進(jìn)行操作,不受此類解碼層面的限制。

? (c) 中間表達(dá)形式策略探討是否采用某種中介查詢格式來(lái)彌合自然語(yǔ)言與SQL之間的差異,因?yàn)镾QL面向關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)并不總是與自然語(yǔ)言的語(yǔ)義相吻合。
市場(chǎng)上已經(jīng)出現(xiàn)了諸如NatSQL等多樣化的解決方案。
基于LLM的DINSQL 和若干基于PLM的方法都采用了NatSQL。

? (4) 后處理:考慮了以下幾類后處理策略:

? (a) 自我糾錯(cuò),由DINSQL 提出,它允許智能體對(duì)生成的SQL進(jìn)行自我審查,以修正潛在的錯(cuò)誤。

? (b) 自我一致性檢查,涉及對(duì)單一自然語(yǔ)言查詢執(zhí)行多種有效的SQL查詢,并通過(guò)比對(duì)結(jié)果的一致性,采用投票機(jī)制選出最合適的SQL作為最終結(jié)果。
這一策略在C3SQL和DAILSQL中得到了應(yīng)用。

? (c) 執(zhí)行引導(dǎo)的SQL篩選器,作為一個(gè)模塊,它依次執(zhí)行智能體生成的SQL查詢,并將首次無(wú)誤的執(zhí)行結(jié)果作為有效的SQL。

? (d) N-best重排器,通過(guò)為多個(gè)候選SQL查詢打分,挑選出可能性最高的查詢作為最終的查詢。

5 SuperSQL:頂尖NL2SQL方案

基于以上結(jié)論,作者提出了SuperSQL,SuperSQL包括如下組件:

? (1) 預(yù)處理:采用RESDSQL的架構(gòu)鏈接和BRIDGE v2的數(shù)據(jù)庫(kù)內(nèi)容;

? (2) 提示:DAILSQL的少量樣本模塊通過(guò)相似性挑選上下文中的示例;

? (3) SQL生成:采用OpenAI的貪婪解碼策略,不涉及多步驟或NatSQL;

? (4) 后處理:采用DAILSQL的自我一致性模塊。

SuperSQL在Spider開(kāi)發(fā)集上對(duì)SuperSQL進(jìn)行評(píng)估,EX達(dá)到了87.0%,超越了其他方法。

SuperSQL在中等難度、高難度以及額外難度子集上均有出色的表現(xiàn),證實(shí)了其有效性。在BIRD開(kāi)發(fā)集上,SuperSQL同樣展現(xiàn)了不俗的性能。

還對(duì)Spider和BIRD的測(cè)試集進(jìn)行了SuperSQL評(píng)估,在Spider上EX達(dá)到了87.0%(排名第二),在BIRD上EX達(dá)到了62.66%(排名第九)。

SuperSQL在其設(shè)計(jì)空間內(nèi)超越了所有基準(zhǔn)。具體來(lái)說(shuō),在BIRD測(cè)試集上,SuperSQL比最強(qiáng)的基準(zhǔn)——DAILSQL(SC)——提高了5.25%。這一提升主要得益于我們的NL2SQL360-AAS,它有效地在設(shè)計(jì)空間內(nèi)基于不同基準(zhǔn)尋找更優(yōu)的模塊組合。預(yù)計(jì)通過(guò)NL2SQL360-AAS加入更多強(qiáng)大的基準(zhǔn)將進(jìn)一步優(yōu)化SuperSQL。

SuperSQL的高效性能:SuperSQL在兩個(gè)數(shù)據(jù)集上分別獲得了99.18和61.99的VES總分,均優(yōu)于其他方法。

6 未來(lái)研究方向

? 提升自然語(yǔ)言到SQL方法的可信度:現(xiàn)有方法可能產(chǎn)生不準(zhǔn)確的SQL結(jié)果,原因可能包括:

? 1.自然語(yǔ)言查詢含糊且不完整

? 2.數(shù)據(jù)庫(kù)架構(gòu)模糊且內(nèi)容不規(guī)范

? 3.架構(gòu)鏈接能力不足。

? 應(yīng)對(duì)含糊和不明確的自然語(yǔ)言查詢:考慮以下策略來(lái)改善這些問(wèn)題:

? (i) 查詢改寫器旨在自動(dòng)優(yōu)化給定的自然語(yǔ)言查詢,確保其明確性。

? (ii) 查詢自動(dòng)補(bǔ)全通過(guò)推薦與數(shù)據(jù)庫(kù)高度相關(guān)的候選詞匯,協(xié)助用戶構(gòu)建查詢。

? 解析自然語(yǔ)言到SQL的解決方案。

? (i) 自然語(yǔ)言到SQL調(diào)試工具能夠發(fā)現(xiàn)錯(cuò)誤的SQL查詢,允許用戶逐步跟蹤SQL生成流程,并輔助識(shí)別錯(cuò)誤或不匹配之處。

? (ii) SQL及查詢結(jié)果的解釋方法使用戶能夠評(píng)估生成的SQL和查詢結(jié)果是否符合預(yù)期。

? 打造高性價(jià)比的自然語(yǔ)言到SQL方法?;贚LM的自然語(yǔ)言到SQL方法前景廣闊,但在令牌消耗上成本較高,這影響了成本和推理時(shí)間。探索在減少令牌使用的同時(shí)提升準(zhǔn)確性的方法至關(guān)重要。特

? 自適應(yīng)訓(xùn)練數(shù)據(jù)生成。自然語(yǔ)言到SQL方法的有效性極大程度上依賴于訓(xùn)練數(shù)據(jù)的質(zhì)量和廣度。這些方法在適應(yīng)未知數(shù)據(jù)庫(kù)時(shí)常常遇到挑戰(zhàn)。一個(gè)充滿希望的研究方向是利用模型評(píng)估反饋動(dòng)態(tài)生成(自然語(yǔ)言,SQL)對(duì),這種方法通過(guò)從自然語(yǔ)言到SQL的性能洞察中汲取經(jīng)驗(yàn),確保訓(xùn)練數(shù)據(jù)的多樣性和高質(zhì)量,解決領(lǐng)域適應(yīng)問(wèn)題。

本文轉(zhuǎn)載自 ??大語(yǔ)言模型論文跟蹤??,作者:HuggingAGI

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦