越來越多的工作證明了預訓練語言模型(PLM)中蘊含著豐富的知識,針對不同的任務,用合適的訓練方式來撬動PLM,能更好地提升模型的能力。在 Text-to-SQL 任務中,目前主流的生成器是基於語法樹的,需要針對 SQL 語法進行設計。
近期,網易互娛 AI Lab 聯合廣東外語外貿大學和哥倫比亞大學基於預訓練語言模型 T5 的預訓練方式,提出了兩階段的多任務預訓練模型 MIGA。 MIGA 在預訓練階段引入三個輔助任務,並將他們組織成統一的生成任務範式,可以將所有的Text-to-SQL 資料集統一進行訓練;同時在微調階段,MIGA 針對多輪對話中的錯誤傳遞問題進行SQL 擾動,提升了模型產生的穩健性。
目前對於Text-to-SQL 的研究,主流的方法主要是基於SQL 語法樹的encoder-decoder 模型,可以確保產生的結果一定符合SQL 語法,但需要針對SQL 語法進行特殊設計。最近也有一些關於 Text-to-SQL 的研究是基於生成式語言模型,可以很方便地繼承預訓練語言模型的知識和能力。
為了降低對基於語法樹的依賴,更好地挖掘預訓練語言模型的能力,該研究在預訓練T5 模型的框架下,提出了一個兩階段的多任務Text-to-SQL 預訓練模型MIGA (MultI-task Generation frAmework)。
MIGA 分為兩階段的訓練流程:
MIGA 模型在兩個多輪對話Text-to-SQL 公開資料集上表現優於目前最好的基於語法樹的模型,相關研究已經被AAAI 2023 錄用。
#論文網址:https://arxiv.org/abs/2212.09278
圖1 MIGA 模型圖。
多任務預訓練階段
#該研究主要參考T5 的預訓練方式,基於已經訓練好的T5 模型,設計了四個預訓練任務:
透過這樣的一個統一的訓練方式設計,MIGA 可以通用而又靈活地去處理更多與任務相關的額外任務,而且還有一下優點:
在預訓練階段,研究整合了Text-to-SQL 資料集Spider 和對話Text-to-SQL 資料集SparC 和CoSQL 的資料來訓練T5 模型。
微調階段
#在預訓練階段之後,研究針對目標任務的標註數據,單純使用Text-to-SQL 任務來進一步微調模型。研究在預測目前輪次的SQL 時,會拼接先前輪次的預測SQL,在此過程中,為了盡量克服多輪對話和生成中所帶來的錯誤傳遞問題,研究提出了SQL 擾動的方案,對輸入資料中的歷史輪次SQL,以α 機率來進行擾動。 SQL 語句的擾動主要以β 的機率取樣對應的token,然後進行下列其一的擾動:
上述的擾動是該研究在實驗中統計發現最常見的一些錯誤傳遞導致的SQL 生成錯誤情況,因此針對這些情況來進行擾動,降低模型關於這方面的依賴。
實驗評估評估資料集為多輪對話 Text-to-SQL:SparC 和 CoSQL。
評估指標為:
在表1 的比較實驗中,MIGA 在兩個資料集上的IM 分數,以及CoSQL 的QM 分數上,超過了目前最好的多輪對話Text-to-SQL 模型。而且比較同類型的基於 T5 的方案,MIGA 分別在 IM 上提升了 7.0% 和 QM 上提升了 5.8%。
表 1 比較實驗分析,第一部分為樹模型,第二部分為基於預訓練產生模型。
在表2 的消融實驗中,該研究對MIGA 的兩階段訓練過程中的幾個任務進行了探索,同時證明了這些任務分別都會對目標任務有不同程度的提升。
表 2 針對 SparC 任務,分別移除各項任務或數據,在指標上都有所降低。
在實際的案例分析結果,MIGA 在產生的穩定性和正確性,對比基於T5-3B 訓練模型更好,可以看到MIGA 在多表連接操作和列和表格的映射上要優於其他模型。在Case#1 的Question#2 中,T5-3B 模型無法為相對複雜的JOIN 結構(兩表連接)產生有效的SQL,進而導致Question#3 中更複雜的JOIN 結構(三表連接)也預測錯誤。而 MIGA 準確地預測了 JOIN 結構,並且較好地維持了先前的條件 t1.sex="f"。在 Case#2 中,T5- 3B 混淆了不同表中的多個列,並將 earnings 誤認為是 people 表的列,而 MIGA 可以正確識別該列屬於 poker_player 表,並將其連結至 t1。
#表 3 案例分析。
網易互娛 AI Lab 針對 Text-to-SQL 提出了一個基於 T5 的兩階段的多任務預訓練模型:MIGA。在預訓練階段,MIGA 將 Text-to-SQL 任務分解出了額外三個子任務,並將其統一為序列到序列的生成範式,從而更好地激發預訓練 T5 模型。並且在微調階段引入了 SQL 擾動機制,降低多輪 Text-to-SQL 生成場景下的錯誤傳遞帶來的影響。
未來,研究團隊將進一步探索更多有效的策略來撬動超大語言模型的能力,並探索更優雅更有效的方式來進一步克服因為錯誤傳遞而導致的效果降低問題。
以上是基於T5的兩階段的多任務Text-to-SQL預訓練模型MIGA的詳細內容。更多資訊請關注PHP中文網其他相關文章!