阿里 DAIL-SQL:大型語言模型支持的文本到 SQL:基準(zhǔn)評估
1.引言
1.1 研究背景與意義
在當(dāng)今數(shù)字化時代,數(shù)據(jù)的高效處理和利用至關(guān)重要。Text-to-SQL 作為自然語言處理和數(shù)據(jù)庫領(lǐng)域的關(guān)鍵技術(shù),旨在實現(xiàn)自然語言問題到 SQL 查詢的自動轉(zhuǎn)換,從而打破非專業(yè)用戶與數(shù)據(jù)庫系統(tǒng)之間的障礙,提高數(shù)據(jù)處理效率,拓展智能數(shù)據(jù)庫服務(wù)、自動數(shù)據(jù)分析和數(shù)據(jù)庫問答等應(yīng)用范圍。隨著人工智能技術(shù)的不斷發(fā)展,特別是大型語言模型(LLMs)的出現(xiàn),為 Text-to-SQ 任務(wù)帶來了新的機(jī)遇和挑戰(zhàn)。
1.2 現(xiàn)有研究的不足
盡管 Text-to-SQ 研究取得了一定進(jìn)展,但仍存在諸多問題。以往研究主要集中在提取問題到 SQL 的模式并通過訓(xùn)練編解碼器模型進(jìn)行泛化,而對于基于 LLM 的Text-to-SQ 解決方案,核心的提示工程問題缺乏系統(tǒng)研究。具體表現(xiàn)為:在問題表示方面,現(xiàn)有研究雖有多種方式,但缺乏對不同表示及其與 LLMs 配合效果的系統(tǒng)分析;在示例選擇和組織上,策略多樣但最優(yōu)選擇不明確;此外,開源 LLMs 在 Text-to-SQ 中的潛力未得到充分挖掘,且提示效率問題也亟待解決。
2.預(yù)備知識
2.1 Text-to-SQL 的發(fā)展脈絡(luò)
Text-to-SQL 的研究歷程涵蓋了多個階段和方法。早期研究采用預(yù)定義規(guī)則或查詢枚舉的方式,之后將其視為序列到序列任務(wù),利用編碼器 - 解碼器架構(gòu)訓(xùn)練機(jī)器學(xué)習(xí)模型。隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,諸如注意力機(jī)制、圖表示、語法解析等眾多技術(shù)被應(yīng)用于 Text-to-SQ 任務(wù),其中 BERT 是具有代表性的模型之一。近年來,隨著 LLMs 的興起,Text-to-SQ 研究進(jìn)入新的階段。LLMs 通過在大規(guī)模文本語料上預(yù)訓(xùn)練,能夠執(zhí)行多種自然語言任務(wù),其在 Text-to-SQ 中的應(yīng)用核心在于找到最優(yōu)提示,即提示工程。本文提出的 DAIL-SQL 從問題表示、上下文學(xué)習(xí)、監(jiān)督微調(diào)三個方面來實現(xiàn) T2SQL。
2.2 關(guān)鍵概念定義
2.2.1 問題表示

在零樣本場景下的 Text-to-SQL 中,問題表示的目標(biāo)是在給定數(shù)據(jù)庫 D 上,對于自然語言目標(biāo)問題 q,最大化 LLM M 生成正確 SQL ??? 的可能性。這需要綜合考慮數(shù)據(jù)庫模式等有用信息,以及可能的指令語句、規(guī)則暗示和外鍵信息等,通過函數(shù)??(?,?) 來實現(xiàn)。
2.2.2 上下文學(xué)習(xí)

在少樣本場景下,上下文學(xué)習(xí)是 LLMs 從輸入提示中的示例學(xué)習(xí)的過程。它包括示例選擇和示例組織兩個關(guān)鍵環(huán)節(jié),目標(biāo)是在目標(biāo)問題 q 和數(shù)據(jù)庫 D 上,最大化 LLM M 生成正確 SQL ??? 的可能性,同時考慮從給定的示例集合 Q 中選擇 k 個示例,并通過函數(shù)??(?,?,?) 進(jìn)行表示。
2.2.3 監(jiān)督微調(diào)
監(jiān)督微調(diào)是使用額外的任務(wù)特定訓(xùn)練數(shù)據(jù)來增強(qiáng) LLMs,使其更適合特定下游任務(wù)的方法。對于 Text-to-SQ 任務(wù),給定一個大型語言模型 M 和一組 Text-to-SQ 訓(xùn)練數(shù)據(jù) T,目標(biāo)是最小化經(jīng)驗損失,包括對給定 LLM 進(jìn)行微調(diào)以及尋找最優(yōu)問題表示兩個子任務(wù)。
3.方法
3.1 問題表示方法探究
3.1.1 現(xiàn)有方法對比
基本提示(BS??):以清單 1 中所示,一種簡單的表示方法,由表 schemas 組成、以 Q 為前綴的自然語言問題 和以 A 為前綴 : SELECT 提示 LLM 生成 SQL。

文本表示提示(TR??):如清單 2 所示,用自然語言表示模式和問題,并在開頭添加指令,引導(dǎo) LLMs。在零樣本場景下對 Spider - dev 的執(zhí)行準(zhǔn)確率為 69.0%。

OpenAI 演示提示(OD??):如清單 2 所示,由指令、schema 和問題組成,所有信息用 #注釋,指令更具體,例如 “僅需完成的sqlite SQL查詢語句,無需提供說明。”。它在不同 LLMs 上有不同表現(xiàn),在某些情況下能取得較好的性能。

代碼表示提示(CR??):如清單 4 所示,以 SQL 語法呈現(xiàn) Text-to-SQ 任務(wù),直接呈現(xiàn) CREAT TABLE 建表語句,并在注釋中給出自然語言問題。它能提供全面的數(shù)據(jù)庫創(chuàng)建信息,如列類型和主 / 外鍵,對 LLM CODE - DAVINCI - 002 的準(zhǔn)確率較達(dá)到了 75.6% 。

Alpaca SFT 提示(AS??):如清單 5 所示,為監(jiān)督微調(diào)設(shè)計的提示,以 Markdown 格式提示 LLM 根據(jù)輸入上下文完成任務(wù)。

3.1.2 實驗結(jié)果與分析
(1)通過在 zero-shot 零樣本 場景下對 Spider-dev 數(shù)據(jù)集的實驗(圖 1),比較不同問題表示方法在不同 LLMs 上的性能。結(jié)果顯示,不同 LLMs 對問題表示方法有不同偏好。例如,OD??適合多種 LLMs,在 GPT-3.5-Turbo 上執(zhí)行準(zhǔn)確率達(dá)到75.5%;而 AS??在 GPT-3.5-Turbo、TEXT-DAVINCI-003 和 Vicuna-33B 上表現(xiàn)較差。GPT-4 對簡單的 BS?? 有偏好,這表明強(qiáng)大的 LLM 可能會減輕表示設(shè)計的復(fù)雜性。綜合不同 LLMs 的平均性能,GPT-4 和 GPT-3.5-Turbo 在零樣本場景下能力較強(qiáng)。因此,對于零樣本場景,GPT-3.5-Turbo 和 OD?? 可能是較好的選擇;對于較弱的 LLMs,如 TEXT-DAVINCI- 003 和 Vicuna-33B,OD?? 和 CR?? 更優(yōu)。

(2)消融研究進(jìn)一步探討了外鍵(FK)和規(guī)則暗示(RI)對性能的影響。
- 外鍵暗示不同關(guān)系表之間的關(guān)系,在 Text-to-SQL 任務(wù)中可能有幫助。只有 CR?? 包含外鍵信息,通過在其他表示中添加外鍵信息并在 Spider-dev 上進(jìn)行評估(圖 2),發(fā)現(xiàn)外鍵能顯著提高多數(shù) LLMs 的執(zhí)行準(zhǔn)確率,但對某些組合有負(fù)面影響。例如,外鍵使 BS??的執(zhí)行準(zhǔn)確率提高了 5.0%,但對 OD??和 AS??的性能有不利影響。

- 受 OD?? 性能的啟發(fā),研究規(guī)則暗示的影響。通過在不同表示中加入 “沒有解釋” 規(guī)則暗示并進(jìn)行消融研究(圖 3),發(fā)現(xiàn)添加該規(guī)則能一致提高所有 LLMs 在精確集匹配和執(zhí)行準(zhǔn)確率方面的性能,其中最顯著的改進(jìn)分別超過 6% 和 3%。而對于 OD??,移除該規(guī)則會導(dǎo)致精確集匹配準(zhǔn)確率下降 2.4% - 6.2%,執(zhí)行準(zhǔn)確率下降 1.3% - 2.4%,表明該規(guī)則暗示的重要性。同時,對另一種規(guī)則暗示 “Let’s think step by step” 進(jìn)行測試,發(fā)現(xiàn)其在 Text-to-SQ 任務(wù)中的性能高度不穩(wěn)定。

3.2 上下文學(xué)習(xí)的關(guān)鍵要素
上述問題表示方法使 LLM 能夠直接通過 zero-shot 零樣本學(xué)習(xí)輸出所需的 SQL。但是 LLM 還可以通過上下文學(xué)習(xí),在文本中輸入少量的示例,使其在文本到 SQL 方面表現(xiàn)的更好。因此,在本小節(jié)中,我們將討論上下文的關(guān)鍵學(xué)習(xí),即示例選擇和示例組織。我們首先給出上下文學(xué)習(xí)的方案,以進(jìn)一步進(jìn)行討論。

3.2.1 示例選擇
隨機(jī)選擇:隨機(jī)從可用候選示例中選取 k 個示例,是示例選擇的一種基線方法。
問題相似性選擇(QTS??):選擇 k 個與目標(biāo)問題最相似的示例,通過將示例問題和目標(biāo)問題嵌入預(yù)訓(xùn)練語言模型,應(yīng)用距離度量方法選擇示例。
掩碼問題相似性選擇(MQS??):針對跨域 Text-to-SQ,通過用掩碼標(biāo)記替換表名、列名和值來消除特定領(lǐng)域信息的負(fù)面影響,然后計算嵌入相似度選擇示例。
查詢相似性選擇(QRS??):不使用目標(biāo)問題,而是旨在選擇 k 個與目標(biāo) SQL 查詢相似的示例。通過初步模型生成近似的 SQL 查詢,然后根據(jù)關(guān)鍵詞將示例查詢編碼為二進(jìn)制離散語法向量,綜合考慮相似度和多樣性選擇示例。
指出在示例選擇時應(yīng)綜合考慮問題和 SQL 查詢,因為根據(jù)上下文學(xué)習(xí)的本質(zhì)是從類比中學(xué)習(xí),在 Text-to-SQ 任務(wù)中需要生成與給定問題匹配的查詢,所以 LLMs 應(yīng)該學(xué)習(xí)從問題到 SQL 查詢的映射。
3.2.2 示例組織
全信息組織(FI??):如清單 6 所示,組織示例的方式與目標(biāo)問題相同,包含完整信息,包括指令、模式、問題和對應(yīng)的 SQL 查詢,僅在結(jié)尾的 “SELECT” 處與目標(biāo)問題有所不同,此處為對應(yīng)的 SQL 查詢。這種方式保證了質(zhì)量,但可能在數(shù)量上受限。

僅 SQL 組織(SO??):如清單 7 所示,只包含所選示例的 SQL 查詢,并在提示中有前綴指令。這種方式旨在最大化示例數(shù)量,但丟失了問題與 SQL 查詢的映射信息,而該信息可能是有用的。

提出一種新的示例組織策略 DAIL - SQL 的示例組織(DAIL??),它呈現(xiàn)問題和相應(yīng)的 SQL 查詢,作為 FI??和 SO??的折衷,保留問題-SQL 映射,同時減少示例的標(biāo)記長度,通過去除標(biāo)記成本較高的數(shù)據(jù)庫模式來實現(xiàn)。
3.3 DAIL-SQL 的創(chuàng)新方法

示例選擇(DAIL??):綜合考慮問題和查詢來選擇候選示例。首先在目標(biāo)問題??和候選集 Q 中的示例問題????中掩碼特定領(lǐng)域的單詞,然后根據(jù)掩碼后的問題嵌入的歐幾里得距離對候選示例進(jìn)行排序,同時計算預(yù)預(yù)測的 SQL 查詢??′與 Q 中的????的查詢相似性,最后根據(jù)問題相似性和查詢相似性大于預(yù)定義閾值??的標(biāo)準(zhǔn)選擇示例,使得所選的 k 個示例在問題和查詢方面都有良好的相似性。
示例組織(DAIL??):呈現(xiàn)問題和相應(yīng)的 SQL 查詢,保留問題 - SQL 映射,同時減少示例的標(biāo)記長度。通過去除標(biāo)記成本較高的數(shù)據(jù)庫模式來實現(xiàn),既保證了質(zhì)量又考慮了數(shù)量。
3.4 監(jiān)督微調(diào)的應(yīng)用與探索
為了提高大型語言模型在零樣本場景下的性能,現(xiàn)有的文本到 SQL 方法中流行的選擇是上下文學(xué)習(xí),這在上述小節(jié)中進(jìn)行了討論。作為一種替代但有前途的選擇,有監(jiān)督微調(diào)目前探索較少。與針對各種語言任務(wù)的有監(jiān)督微調(diào)類似,我們可以將其應(yīng)用于文本到 SQL 領(lǐng)域,并提高大型語言模型在這個下游任務(wù)上的性能。為了進(jìn)一步了解有監(jiān)督微調(diào)在文本到 SQL 中的作用,我們首先提供如下簡要公式。

3.4.1 公式及原理
對于 Text-to-SQ 任務(wù),給定一個大型語言模型 M 和一組 Text-to-SQ 訓(xùn)練數(shù)據(jù)

,監(jiān)督微調(diào)的目標(biāo)是最小化經(jīng)驗損失。其中,???? 和 ???? 分別是自然語言問題和其在數(shù)據(jù)庫????上的對應(yīng)查詢,通過最小化損失函數(shù) L 來衡量生成查詢與真實查詢之間的差異。監(jiān)督微調(diào)包括兩個子任務(wù):對給定 LLM 進(jìn)行微調(diào)以及尋找最優(yōu)問題表示,這與問題表示部分相關(guān)聯(lián)。
3.4.2 數(shù)據(jù)準(zhǔn)備和微調(diào)過程
從給定的 Text-to-SQ 數(shù)據(jù)集中生成提示 - 響應(yīng)對進(jìn)行微調(diào)。具體而言,給定數(shù)據(jù)集

,將目標(biāo)問題和給定數(shù)據(jù)庫作為提示,將期望的查詢作為 LLM 的響應(yīng),即生成 T ={(???? = ??(????, ????), ???? = ????)}。根據(jù)計算資源情況,可以選擇全微調(diào)或參數(shù)高效微調(diào)。例如,在有足夠計算資源時可選擇全微調(diào),否則可選擇參數(shù)高效微調(diào)。
3.4.3 開源 LLMs 的監(jiān)督微調(diào)研究
(1)選擇 LLaMA 及其對齊變體作為研究對象,包括 LLaMA - 7B、LLaMA - 13B、LLaMA - 33B、Falcon - 40B、Alpaca - 7B、GPT4ALL - 7B、Vicuna - 7B、Vicuna - 13B、Vicuna - 33B、LLaMA - 2 - CHAT - 7B、LLaMA - 2 - CHAT - 13B、LLaMA - 2 - CHAT - 70B 和 CodeLLaMA - 34B 等。
(2)在零樣本場景下,通過對不同開源 LLMs 在 Spider - dev 上的實驗(表 3),研究問題表示、模型規(guī)模和對齊對性能的影響。結(jié)果表明,CR??在不同開源 LLMs 上表現(xiàn)最佳,可能是因為其包含的全數(shù)據(jù)庫知識補(bǔ)償了開源 LLMs 的能力不足,或者刺激了 LLMs 的編碼能力。從模型規(guī)模來看,LLaMA 和 Vicuna 的模型規(guī)模與性能呈正相關(guān),例如 LLaMA - 2 - CHAT - 70B 隨著參數(shù)增多性能提高。從對齊角度看,對齊后的 LLMs 在 Text-to-SQ 任務(wù)中表現(xiàn)更好,例如 Vicuna 在相同模型規(guī)模下比 LLaMA 執(zhí)行準(zhǔn)確率高約 5%。Falcon - 40B 由于訓(xùn)練數(shù)據(jù)集中缺乏專用代碼數(shù)據(jù),表現(xiàn)較差。CodeLLaMA - 34B 通過精心收集的代碼數(shù)據(jù)在對齊階段表現(xiàn)出顯著的性能提升,盡管其參數(shù)只有 LLaMA - 2 - CHAT - 70B 的一半,但性能卻超過了后者,這凸顯了訓(xùn)練語料在 LLMs 中的重要性。

(3)在少樣本場景下,以 LLaMA - 33B 和 Vicuna - 33B 為例,使用 CR??和 DAIL Selection 進(jìn)行實驗(圖 5)。結(jié)果表明,LLaMA - 33B 受益更多,在 5 - shot Full - Information Organization 示例下達(dá)到 36.4% 的精確集匹配準(zhǔn)確率。不同組織策略在不同 k - shot 場景下表現(xiàn)不同,F(xiàn)ull - Information Organization 在多數(shù)情況下表現(xiàn)較好。

(4)監(jiān)督微調(diào)后,在零樣本場景下,開源 LLMs 的性能得到顯著提升(圖 6)。不同表示方法和模型規(guī)模之間的差距在微調(diào)后變窄,可能是因為微調(diào)后 LLMs 學(xué)會了在沒有任務(wù)指令和外鍵的情況下回答新的 Text-to-SQ 問題。在少樣本場景下,對微調(diào)后的 LLaMA - 7B 和 13B 進(jìn)行實驗(表 4)。結(jié)果表明,微調(diào)后的 LLMs 無法從示例中學(xué)習(xí),添加上下文示例反而導(dǎo)致精確集匹配和執(zhí)行匹配準(zhǔn)確率下降,這可能是因為 LLM 過度擬合零樣本提示,使得示例變得無用。


4.實驗
4.1 實驗設(shè)置
4.1.1 數(shù)據(jù)集選擇
使用了兩個被廣泛認(rèn)可的數(shù)據(jù)集:Spider 和 Spider - Realistic。Spider 是一個大規(guī)模的跨域 Text-to-SQ 數(shù)據(jù)集,包含 200 個數(shù)據(jù)庫的 8659 個訓(xùn)練實例和 1034 個開發(fā)實例,每個實例由一個特定數(shù)據(jù)庫上的自然語言問題及其對應(yīng)的 SQL 查詢組成。在本文中,使用開發(fā)集 Spider - dev 進(jìn)行評估。Spider - Realistic 是 Spider 的一個更具挑戰(zhàn)性的變體,它從 Spider - deV 中選擇了 508 個示例,并手動修改了問題,同時保持 SQL 查詢不變。在少樣本場景中,使用 Spider 的訓(xùn)練集作為示例候選集,用于在 Spider - dev 和 Spider - Realistic 上進(jìn)行測試。
4.1.2 評估指標(biāo)確定
采用精確集匹配準(zhǔn)確率(EM)和執(zhí)行準(zhǔn)確率(EX)作為評估指標(biāo)。精確集匹配準(zhǔn)確率衡量預(yù)測的 SQL 查詢與對應(yīng)的真實 SQL 查詢之間匹配的 SQL 關(guān)鍵詞數(shù)量,執(zhí)行準(zhǔn)確率則比較預(yù)測的 SQL 查詢在某些數(shù)據(jù)庫實例上的執(zhí)行輸出與真實 SQL 查詢的執(zhí)行輸出。這兩個指標(biāo)能夠更準(zhǔn)確地評估模型的性能,因為對于一個給定的問題可能存在多個有效的 SQL 查詢。
4.1.3 LLM 參數(shù)設(shè)置
為了確保公平比較,對所有方法使用相同的最大上下文長度,OpenAI LLM 為 4096,開源 LLM 為 2048。在評估過程中,預(yù)留 200 個標(biāo)記用于響應(yīng)生成。默認(rèn)情況下,將溫度參數(shù)設(shè)置為 0,以消除隨機(jī)性的影響。在處理響應(yīng)時,遵循現(xiàn)有工作,提取響應(yīng)中的第一個 SQL 查詢并去除額外的輸出。
4.2 問題表示實驗結(jié)果
4.2.1 零樣本場景評估
通過在零樣本場景下對 Spider - dev 數(shù)據(jù)集的實驗(圖 1),比較了不同問題表示方法在不同 LLMs 上的性能。結(jié)果表明,不同 LLMs 對問題表示方法的偏好不同,OD??在大多數(shù) LLMs 上表現(xiàn)較好,而 AS??在部分 LLMs 上表現(xiàn)較差。通過消融研究(圖 2、圖 3),進(jìn)一步探討了外鍵(FK)和規(guī)則暗示(RI)對性能的影響。外鍵在多數(shù)情況下能提高 LLMs 的執(zhí)行準(zhǔn)確率,但對某些組合有負(fù)面影響;規(guī)則暗示 “沒有給出任何解釋” 能顯著提高所有 LLMs 的性能,而另一種規(guī)則暗示 “讓我們一步一步地思考。” 性能不穩(wěn)定。綜合來看,OD??與外鍵和 GPT - 3.5 - TURBO 的組合在零樣本場景下是最有效和經(jīng)濟(jì)的。
4.2.2 消融實驗總結(jié)
對外鍵和規(guī)則暗示的消融實驗結(jié)果表明,它們對 Text-to-SQ 任務(wù)的性能有重要影響。外鍵信息對不同的問題表示方法和 LLMs 組合有不同的影響,而規(guī)則暗示 “沒有給出任何解釋” 在提高性能方面表現(xiàn)出一致性。這些結(jié)果為進(jìn)一步優(yōu)化問題表示方法提供了依據(jù)。
4.3 上下文學(xué)習(xí)實驗詳情
在少樣本場景下,我們使用 GPT-4、GPT-3.5-Turbo、TEXT-DAVINCI-003 和 Vicuna-33B 來檢驗不同的示例選擇和組織策略。
4.3.1 示例選擇實驗分析

在少樣本場景下,對不同示例選擇策略進(jìn)行了實驗(表 2)。通過計算問題和查詢的 Jaccard 相似度,并與目標(biāo)實例進(jìn)行比較,結(jié)果表明 DAIL??策略在大多數(shù)情況下優(yōu)于其他策略。同時,問題和查詢相似度越高,執(zhí)行準(zhǔn)確率越高,這進(jìn)一步強(qiáng)調(diào)了在示例選擇中同時考慮問題和查詢的重要性。
4.3.2 示例組織實驗解讀

在少樣本場景下,對不同示例組織策略進(jìn)行了實驗(圖 4)。結(jié)果表明,不同 LLMs 對不同示例組織策略有不同的偏好。例如,GPT-4 在 DAIL 組織下受益最大,其執(zhí)行準(zhǔn)確率在 Spider-dev 上從 72.3% 提高到 83.5%,在 Spider-Realistic 上從 66.5% 使得該組織方式對其效果較好。對于 GPT-3.5-Turbo 和 TEXT-DAVINCI-003,添加示例可能會導(dǎo)致執(zhí)行準(zhǔn)確率下降,這可能是由于它們的上下文學(xué)習(xí)能力有限。對于 Vicuna-33B 隨著示例數(shù)量的增加,其性能在 DAIL 組織下持續(xù)提高。綜合來看,DAIL 組織在某些情況下能夠取得較好的性能,并且對于具有較強(qiáng)上下文學(xué)習(xí)能力的 LLM,如 GPT-4 效果更為明顯。
4.4 監(jiān)督微調(diào)實驗成果
在這一部分中,我們研究文本到 SQL 的有監(jiān)督微調(diào)。由于對 OpenAI 大語言模型進(jìn)行微調(diào)的成本高得難以承受,我們專注于開源大語言模型。鑒于很少有現(xiàn)有工作采用開源大語言模型且它們的性能尚不清楚這一事實,我們首先對開源大語言模型進(jìn)行全面評估,采用各種問題表示、示例選擇和組織策略。之后,我們在文本到 SQL 中對開源大語言模型進(jìn)行微調(diào),并觀察它們在零樣本和少樣本場景下的性能提升。
4.4.1 開源 LLMs 實驗總結(jié)
在零樣本場景下,對不同開源 LLMs 進(jìn)行了實驗(表 3),分析了問題表示、模型規(guī)模和對齊對性能的影響。結(jié)果表明,CR??在不同開源 LLMs 上表現(xiàn)最佳,模型規(guī)模和對齊對性能有積極影響。在少樣本場景下,以 LLaMA - 33B 和 Vicuna - 33B 為例進(jìn)行實驗(圖 5),結(jié)果表明 LLaMA - 33B 受益更多,F(xiàn)ull - Information Organization 在不同 k - shot 場景下表現(xiàn)較好。在監(jiān)督微調(diào)方面,零樣本場景下監(jiān)督微調(diào)能顯著提升性能,不同表示方法和模型規(guī)模之間的差距在微調(diào)后變窄(圖 6)。少樣本場景下,微調(diào)后的 LLMs 無法從示例中學(xué)習(xí)(表 4)。
從實驗結(jié)果可以看出,開源 LLMs 在 Text-to-SQ 任務(wù)中具有一定的潛力,尤其是在監(jiān)督微調(diào)后,其性能在零樣本場景下有明顯提升,能夠與一些非開源的 LLMs 相媲美。然而,少樣本場景下的問題也不容忽視,這可能需要進(jìn)一步研究如何更好地利用示例信息,或者探索更合適的微調(diào)方法來解決。
4.4.2 標(biāo)記效率實驗探討

強(qiáng)調(diào)了標(biāo)記效率在 Text-to-SQ 任務(wù)中的重要性,并對不同表示方法和組織策略進(jìn)行了標(biāo)記效率的實驗(圖 7)。在零樣本場景下,外鍵相關(guān)的提示在提高執(zhí)行準(zhǔn)確率的同時可能會消耗更多的標(biāo)記。在少樣本場景下,F(xiàn)I??組織方式效率較低,DAIL??在準(zhǔn)確性和效率方面優(yōu)于 SO??和 FI??。與其他先進(jìn)的 Text-to-SQ 方法相比,DAIL - SQL 在準(zhǔn)確性和效率上表現(xiàn)更優(yōu)。對于開源 LLMs,微調(diào)后的 LLMs 標(biāo)記效率有所提高,但添加示例可能會降低效率。
標(biāo)記效率的研究為實際應(yīng)用提供了重要的參考。在實際使用 LLMs 進(jìn)行 Text-to-SQ 任務(wù)時,需要考慮如何在保證性能的前提下,盡可能地減少標(biāo)記的使用,以提高效率和降低成本。DAIL - SQL 在這方面表現(xiàn)出了優(yōu)勢,為未來的研究和應(yīng)用提供了一個良好的方向。
5.討論
5.1 問題表示建議
推薦使用代碼表示提示(CR??)和 OpenAI 演示提示(OD??),因為它們在實驗中表現(xiàn)出較好的性能。同時,外鍵和規(guī)則暗示等信息對于問題表示也非常有幫助,可以進(jìn)一步提高性能。在實際應(yīng)用中,可以根據(jù)具體的 LLM 和任務(wù)需求,靈活選擇和組合這些方法,以達(dá)到最佳的效果。
5.2 示例選擇要點
強(qiáng)調(diào)在示例選擇中應(yīng)同時考慮自然語言問題和 SQL 查詢的相似性,這是設(shè)計有效示例選擇策略的關(guān)鍵因素。通過實驗證明,同時考慮這兩個因素的 DAIL??策略在大多數(shù)情況下優(yōu)于其他策略。未來的研究可以進(jìn)一步探索如何更準(zhǔn)確地衡量和利用這種相似性,以提高示例選擇的質(zhì)量。
5.3 示例組織策略
根據(jù)所采用的 LLM 的能力來選擇示例組織策略。如果 LLM 足夠強(qiáng)大,如 GPT - 4,呈現(xiàn)問題和 SQL 查詢對是一種有效且高效的選擇;否則,呈現(xiàn)全信息示例可能更為合適。這一結(jié)論為不同能力的 LLMs 在處理 Text-to-SQ 任務(wù)時提供了一種實用的指導(dǎo)原則,有助于提高任務(wù)的處理效率和效果。
5.4 開源 LLM 的思考
指出擁有更多參數(shù)的 LLMs 對 Text-to-SQ 任務(wù)有益,但訓(xùn)練語料在其中起著更為關(guān)鍵的作用。監(jiān)督微調(diào)對于開源 LLMs 在 Text-to-SQ 任務(wù)中具有必要性且有很大的潛力。未來的研究可以進(jìn)一步探索如何更好地利用監(jiān)督微調(diào)技術(shù),提高開源 LLMs 的性能,同時也需要關(guān)注訓(xùn)練語料的質(zhì)量和多樣性,以充分發(fā)揮 LLMs 的潛力。
5.5 研究局限性分析
由于資源有限,只測試了兩種規(guī)則暗示,未來可以進(jìn)一步探索更多規(guī)則暗示以提高性能。只使用了 Spider 訓(xùn)練集對開源 LLMs 進(jìn)行微調(diào),額外的 Text-to-SQ 數(shù)據(jù)可能會進(jìn)一步增強(qiáng) LLMs。Spider 和 Spider - Realistic 中的數(shù)據(jù)庫可能不夠大,在面對大量表的 Text-to-SQ 任務(wù)時可能會出現(xiàn)新的挑戰(zhàn)。當(dāng)前的評估指標(biāo)優(yōu)先考慮正確性而非效率,未來可以進(jìn)一步研究如何促使 LLM 生成高效的 SQL 查詢。
這些局限性為未來的研究指明了方向。研究人員可以在規(guī)則暗示、數(shù)據(jù)使用、數(shù)據(jù)庫規(guī)模和評估指標(biāo)等方面進(jìn)行進(jìn)一步的探索和改進(jìn),以推動 Text-to-SQ 技術(shù)的不斷發(fā)展。
6.結(jié)論
6.1 研究總結(jié)
本文對基于 LLM 的 Text-to-SQ 任務(wù)進(jìn)行了系統(tǒng)的研究。通過對現(xiàn)有提示工程方法的系統(tǒng)比較,提出了一種新的集成解決方案 DAIL - SQL,該方案在 Spider 排行榜上取得了 86.6% 的執(zhí)行準(zhǔn)確率,刷新了紀(jì)錄。在問題表示方面,深入研究了不同的表示方法及其組成部分對性能的影響;在上下文學(xué)習(xí)方面,提出了 DAIL - SQL 的示例選擇和組織方法,強(qiáng)調(diào)了同時考慮問題和查詢的重要性;在監(jiān)督微調(diào)方面,展示了開源 LLMs 在 Text-to-SQ 任務(wù)中的潛力,同時也指出了微調(diào)后可能出現(xiàn)的問題,如在少樣本場景下無法從示例中學(xué)習(xí)。此外,還強(qiáng)調(diào)了標(biāo)記效率在提示工程中的重要性,并通過實驗證明了 DAIL - SQL 在準(zhǔn)確性和效率方面的優(yōu)勢。
6.2 未來研究方向
然而,本文也存在一些局限性,未來的研究可以進(jìn)一步探索更多規(guī)則暗示、使用更多的 Text-to-SQ 數(shù)據(jù)、應(yīng)對更大規(guī)模的數(shù)據(jù)庫以及優(yōu)化評估指標(biāo)以提高 Text-to-SQ 任務(wù)的性能。這些方向?qū)⒂兄谶M(jìn)一步完善 Text-to-SQ 技術(shù),使其在實際應(yīng)用中發(fā)揮更大的作用。
總之,本文為 Text-to-SQ 任務(wù)的進(jìn)一步研究提供了全面的理論基礎(chǔ)和實踐指導(dǎo),希望能夠激發(fā)更多的研究人員關(guān)注和參與到這一領(lǐng)域的研究中來,共同推動 Text-to-SQ 技術(shù)的不斷發(fā)展。
論文地址:https://arxiv.org/pdf/2308.15363
Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
代碼地址:https://github.com/BeachWang/DAIL-SQL
原文鏈接:https://www.yuque.com/u21774036/qnmlr1/ilxxsoh26grbafe4
本文轉(zhuǎn)載自????AIGC前沿技術(shù)追蹤????,作者:AIGC前沿技術(shù)追蹤

















