• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁(yè) > 博客 > AAAI 2023 | 基于T5的兩階段的多任務(wù)Text-to-SQL預(yù)訓(xùn)練模型MIGA

    AAAI 2023 | 基于T5的兩階段的多任務(wù)Text-to-SQL預(yù)訓(xùn)練模型MIGA

    發(fā)布人:機(jī)器之心 時(shí)間:2023-01-17 來(lái)源:工程師 發(fā)布文章
    網(wǎng)易互娛 AI Lab 聯(lián)合廣東外語(yǔ)外貿(mào)大學(xué)和哥倫比亞大學(xué)基于預(yù)訓(xùn)練語(yǔ)言模型 T5 的預(yù)訓(xùn)練方式,提出了兩階段的多任務(wù)預(yù)訓(xùn)練模型 MIGA。

    越來(lái)越多的工作證明了預(yù)訓(xùn)練語(yǔ)言模型(PLM)中蘊(yùn)含著豐富的知識(shí),針對(duì)不同的任務(wù),用合適的訓(xùn)練方式來(lái)撬動(dòng) PLM,能更好地提升模型的能力。在 Text-to-SQL 任務(wù)中,目前主流的生成器是基于語(yǔ)法樹的,需要針對(duì) SQL 語(yǔ)法進(jìn)行設(shè)計(jì)。


    近期,網(wǎng)易互娛 AI Lab 聯(lián)合廣東外語(yǔ)外貿(mào)大學(xué)和哥倫比亞大學(xué)基于預(yù)訓(xùn)練語(yǔ)言模型 T5 的預(yù)訓(xùn)練方式,提出了兩階段的多任務(wù)預(yù)訓(xùn)練模型 MIGA。MIGA 在預(yù)訓(xùn)練階段引入三個(gè)輔助任務(wù),并將他們組織成統(tǒng)一的生成任務(wù)范式,可以將所有的 Text-to-SQL 數(shù)據(jù)集統(tǒng)一進(jìn)行訓(xùn)練;同時(shí)在微調(diào)階段,MIGA 針對(duì)多輪對(duì)話中的錯(cuò)誤傳遞問(wèn)題進(jìn)行 SQL 擾動(dòng),提升了模型生成的魯棒性。


    目前對(duì)于 Text-to-SQL 的研究,主流的方法主要是基于 SQL 語(yǔ)法樹的 encoder-decoder 模型,可以確保生成的結(jié)果一定符合 SQL 語(yǔ)法,但是需要針對(duì) SQL 語(yǔ)法進(jìn)行特殊設(shè)計(jì)。最近也有一些關(guān)于 Text-to-SQL 的研究是基于生成式語(yǔ)言模型,可以很方便地繼承預(yù)訓(xùn)練語(yǔ)言模型的知識(shí)和能力。


    為了降低對(duì)基于語(yǔ)法樹的依賴,更好地挖掘預(yù)訓(xùn)練語(yǔ)言模型的能力,該研究在預(yù)訓(xùn)練 T5 模型的框架下,提出了一個(gè)兩階段的多任務(wù) Text-to-SQL 預(yù)訓(xùn)練模型 MIGA (MultI-task Generation frAmework)。


    MIGA 分為兩階段的訓(xùn)練過(guò)程:


    • 在預(yù)訓(xùn)練階段,MIGA 使用與 T5 相同的預(yù)訓(xùn)練范式,額外提出了三個(gè)與 Text-to-SQL 相關(guān)的輔助任務(wù),從而更好地激發(fā)預(yù)訓(xùn)練語(yǔ)言模型中的知識(shí)。該訓(xùn)練方式可以將所有的 Text-to-SQL 的數(shù)據(jù)集進(jìn)行統(tǒng)一,擴(kuò)充了訓(xùn)練數(shù)據(jù)的規(guī)模;而且也可以靈活地去設(shè)計(jì)更多有效的輔助任務(wù),進(jìn)一步發(fā)掘預(yù)訓(xùn)練語(yǔ)言模型的潛在知識(shí)。

    • 在微調(diào)階段,MIGA 針對(duì)多輪對(duì)話和 SQL 中容易存在的錯(cuò)誤傳遞問(wèn)題,在訓(xùn)練過(guò)程中對(duì)歷史 SQL 進(jìn)行擾動(dòng),使得生成當(dāng)前輪次的 SQL 效果更加穩(wěn)定。


    MIGA 模型在兩個(gè)多輪對(duì)話 Text-to-SQL 公開數(shù)據(jù)集上表現(xiàn)優(yōu)于目前最好的基于語(yǔ)法樹的模型,相關(guān)研究已經(jīng)被 AAAI 2023 錄用。


    圖片

    論文地址:https://arxiv.org/abs/2212.09278


    MIGA 模型細(xì)節(jié)


    圖片

    圖 1 MIGA 模型圖。


    多任務(wù)預(yù)訓(xùn)練階段


    該研究主要參考 T5 的預(yù)訓(xùn)練方式,基于已經(jīng)訓(xùn)練好的 T5 模型,設(shè)計(jì)了四個(gè)預(yù)訓(xùn)練任務(wù):


    • Text-to-SQL 主任務(wù):上圖中的黃色部分,通過(guò)設(shè)計(jì) Prompt 為”translate dialogue to system query”,然后以一些 special tokens 來(lái)將歷史對(duì)話、數(shù)據(jù)庫(kù)信息和 SQL 語(yǔ)句拼接輸入到 T5-encoder 中,讓 decoder 直接輸出對(duì)應(yīng)的 SQL 語(yǔ)句;

    • 相關(guān)信息預(yù)測(cè):上圖中的綠色部分,設(shè)計(jì) Prompt 為”translate dialogue to relevant column”,T5-encoder 的輸入也是與主任務(wù)一致,decoder 則需要輸出與當(dāng)前問(wèn)題相關(guān)的數(shù)據(jù)表和列,目的是加強(qiáng)模型對(duì) Text-to-SQL 的理解;

    • 當(dāng)前輪次的操作預(yù)測(cè):上圖中的灰色部分,設(shè)計(jì) Prompt 為”translate dialogue to turn switch”,這個(gè)任務(wù)主要是針對(duì)多輪對(duì)話中的上下文理解進(jìn)行設(shè)計(jì),對(duì)比上一輪的對(duì)話和 SQL,decoder 需要輸出當(dāng)前對(duì)話的目的做了哪些變化,比如圖中例子是 where 條件進(jìn)行了改動(dòng);

    • 最終對(duì)話預(yù)測(cè):上圖中的藍(lán)色部分,設(shè)計(jì) Prompt 為”translate dialogue to final utterance”,目的是為了讓模型去更好的理解上下文對(duì)話,需要 decoder 輸出整個(gè)多輪對(duì)話下來(lái),最后時(shí)刻的 SQL 對(duì)應(yīng)的一句完整問(wèn)題描述。

    通過(guò)這樣的一個(gè)統(tǒng)一的訓(xùn)練方式設(shè)計(jì),MIGA 可以通用而又靈活地去處理更多與任務(wù)相關(guān)的額外任務(wù),而且還有一下優(yōu)點(diǎn):


    1. 參考人類編寫 SQL 的步驟,對(duì)話文本到 SQL 任務(wù)被分解為多個(gè)子任務(wù),允許主任務(wù)從中學(xué)習(xí);

    2. 訓(xùn)練樣本的構(gòu)造格式與 T5 一致,可以最大限度地發(fā)揮預(yù)訓(xùn)練 T5 模型對(duì)目標(biāo)任務(wù)的潛力;

    3. 統(tǒng)一的框架允許多個(gè)輔助任務(wù)的靈活調(diào)度。當(dāng)應(yīng)用于特定任務(wù)時(shí),僅需在特定任務(wù)的標(biāo)記數(shù)據(jù)中使用相同的訓(xùn)練目標(biāo)對(duì)上面的預(yù)訓(xùn)練模型進(jìn)行微調(diào)即可。


    在預(yù)訓(xùn)練階段,該研究整合了 Text-to-SQL 數(shù)據(jù)集 Spider 和對(duì)話 Text-to-SQL 數(shù)據(jù)集 SparC 和 CoSQL 的數(shù)據(jù)來(lái)訓(xùn)練 T5 模型。


    微調(diào)階段


    在預(yù)訓(xùn)練階段之后,該研究針對(duì)目標(biāo)任務(wù)的標(biāo)注數(shù)據(jù),單純使用 Text-to-SQL 任務(wù)來(lái)進(jìn)一步微調(diào)模型。該研究在預(yù)測(cè)當(dāng)前輪次的 SQL 時(shí),會(huì)拼接之前輪次的預(yù)測(cè) SQL,在此過(guò)程中,為了盡量克服多輪對(duì)話和生成中所帶來(lái)的錯(cuò)誤傳遞問(wèn)題,該研究提出了 SQL 擾動(dòng)的方案,對(duì)輸入數(shù)據(jù)中的歷史輪次 SQL,以 α 概率來(lái)進(jìn)行擾動(dòng)。SQL 語(yǔ)句的擾動(dòng)主要以 β 的概率采樣相應(yīng)的 token,然后進(jìn)行以下其一的擾動(dòng):


    • 用相同數(shù)據(jù)表中的列,來(lái)隨機(jī)修改或者新增 SELECT 部分中的列;

    • 隨機(jī)修改 JOIN 條件中的結(jié)構(gòu),比如交換兩個(gè)表的位置;

    • 修改”*” 所有列為一些其他的列;

    • 交換”asc” 和”desc”。


    上述的擾動(dòng)是該研究在實(shí)驗(yàn)中統(tǒng)計(jì)發(fā)現(xiàn)最常見的一些錯(cuò)誤傳遞導(dǎo)致的 SQL 生成錯(cuò)誤情況,因此針對(duì)這些情況來(lái)進(jìn)行擾動(dòng),降低模型關(guān)于這方面的依賴。


    實(shí)驗(yàn)評(píng)估


    評(píng)估數(shù)據(jù)集為多輪對(duì)話 Text-to-SQL:SparC 和 CoSQL。


    評(píng)估指標(biāo)為:


    • QM:Question Match,表示單輪問(wèn)題中的生成的 SQL 與標(biāo)注輸出完全匹配的比例;

    • IM:Interaction Match,表示多輪對(duì)話中整個(gè)完整輪次所有生成的 SQL 與標(biāo)注輸出完全匹配的比例。


    在表 1 的對(duì)比實(shí)驗(yàn)中,MIGA 在兩個(gè)數(shù)據(jù)集上的 IM 分?jǐn)?shù),以及 CoSQL 的 QM 分?jǐn)?shù)上,超過(guò)了目前最好的多輪對(duì)話 Text-to-SQL 模型。而且對(duì)比同類型的基于 T5 的方案,MIGA 分別在 IM 上提升了 7.0% 和 QM 上提升了 5.8%。


    圖片

    表 1 對(duì)比實(shí)驗(yàn)分析,第一部分為樹模型,第二部分為基于預(yù)訓(xùn)練生成模型。


    在表 2 的消融實(shí)驗(yàn)中,該研究對(duì) MIGA 的兩階段訓(xùn)練過(guò)程中的幾個(gè)任務(wù)進(jìn)行了探索,同時(shí)證明了這些任務(wù)分別都會(huì)對(duì)目標(biāo)任務(wù)有不同程度的提升。


    圖片

    表 2 針對(duì) SparC 任務(wù),分別去除各項(xiàng)任務(wù)或數(shù)據(jù),在指標(biāo)上都有所降低。


    在實(shí)際的案例分析結(jié)果,MIGA 在生成的穩(wěn)定性和正確性,對(duì)比基于 T5-3B 訓(xùn)練模型更好,可以看到 MIGA 在多表連接操作和列和表格的映射上要優(yōu)于其他模型。在 Case#1 的 Question#2 中,T5-3B 模型不能為相對(duì)復(fù)雜的 JOIN 結(jié)構(gòu)(兩表連接)生成有效的 SQL,進(jìn)而導(dǎo)致 Question#3 中更復(fù)雜的 JOIN 結(jié)構(gòu)(三表連接)也預(yù)測(cè)錯(cuò)誤。而 MIGA 準(zhǔn)確地預(yù)測(cè)了 JOIN 結(jié)構(gòu),并較好地維持了之前的條件 t1.sex="f"。在 Case#2 中,T5- 3B 混淆了不同表中的多個(gè)列,并將 earnings 誤認(rèn)為是 people 表的列,而 MIGA 可以正確識(shí)別該列屬于 poker_player 表,并將其鏈接至 t1。


    圖片

    表 3 案例分析。


    結(jié)語(yǔ)


    網(wǎng)易互娛 AI Lab 針對(duì) Text-to-SQL 提出了一個(gè)基于 T5 的兩階段的多任務(wù)預(yù)訓(xùn)練模型:MIGA。在預(yù)訓(xùn)練階段,MIGA 將 Text-to-SQL 任務(wù)分解出了額外三個(gè)子任務(wù),并將其統(tǒng)一為序列到序列的生成范式,從而更好地激發(fā)預(yù)訓(xùn)練 T5 模型。并且在微調(diào)階段引入了 SQL 擾動(dòng)機(jī)制,降低多輪 Text-to-SQL 生成場(chǎng)景下的錯(cuò)誤傳遞帶來(lái)的影響。


    未來(lái),研究團(tuán)隊(duì)會(huì)進(jìn)一步探索更多有效的策略來(lái)撬動(dòng)超大語(yǔ)言模型的能力,并且探索更優(yōu)雅更有效的方式來(lái)進(jìn)一步克服因?yàn)殄e(cuò)誤傳遞而導(dǎo)致的效果降低問(wèn)題。


    *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



    關(guān)鍵詞: AI

    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 溧水县| 广汉市| 全州县| 长海县| 澎湖县| 宜兰市| 通城县| 晋江市| 横山县| 星座| 大同市| 津市市| 曲麻莱县| 石城县| 美姑县| 阿勒泰市| 来安县| 安吉县| 榆林市| 灵宝市| 石河子市| 龙游县| 抚宁县| 萝北县| 阳朔县| 铜山县| 夏津县| 澎湖县| 青浦区| 门源| 棋牌| 论坛| 宝丰县| 东辽县| 夏邑县| 敦化市| 循化| 梁平县| 万安县| 惠州市| 息烽县|