色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁(yè) > 博客 > 如何向大模型注入知識(shí)?達(dá)摩院通義對(duì)話模型SPACE系列探索(1)

          如何向大模型注入知識(shí)?達(dá)摩院通義對(duì)話模型SPACE系列探索(1)

          發(fā)布人:機(jī)器之心 時(shí)間:2022-10-19 來源:工程師 發(fā)布文章
          如何將人類先驗(yàn)知識(shí)低成本融入到預(yù)訓(xùn)練模型中一直是個(gè)難題。達(dá)摩院對(duì)話智能團(tuán)隊(duì)提出了一種基于半監(jiān)督預(yù)訓(xùn)練的新訓(xùn)練方式,將對(duì)話領(lǐng)域的少量有標(biāo)數(shù)據(jù)和海量無標(biāo)數(shù)據(jù)一起進(jìn)行預(yù)訓(xùn)練,從而把標(biāo)注數(shù)據(jù)中蘊(yùn)含的知識(shí)注入到預(yù)訓(xùn)練模型中去,打造了 SPACE 1/2/3 系列模型。


          1. SPACE-1:注入對(duì)話策略知識(shí),AAAI 2022 長(zhǎng)文錄用;
          2. SPACE-2:注入對(duì)話理解知識(shí),COLING 2022 長(zhǎng)文錄用,并獲 best paper award 推薦;
          3. SPACE-3:集對(duì)話理解 + 對(duì)話策略 + 對(duì)話生成于一體的模型, SIGIR 2022 長(zhǎng)文錄用。


          達(dá)摩院對(duì)話大模型 SPACE-1/2/3 在 11 個(gè)國(guó)際對(duì)話數(shù)據(jù)集取得 SOTA。

          圖片

          圖 1 SPACE 系列模型在 11 個(gè)國(guó)際對(duì)話數(shù)據(jù)集取得 SOTA,包含 Intent Prediction、Slot Filling、Dialog State Tracking、Semantic Parsing、End-to-End Generation 五大類對(duì)話任務(wù)
          相關(guān)論文:

          • SPACE-1: https://arxiv.org/abs/2111.14592
          • SPACE-2: https://arxiv.org/abs/2209.06638
          • SPACE-3: https://arxiv.org/abs/2209.06664
          • 相關(guān)代碼:https://github.com/AlibabaResearch/DAMO-ConvAI


          1. 關(guān)于人機(jī)對(duì)話和預(yù)訓(xùn)練模型的簡(jiǎn)介
          1.1. 什么是人機(jī)對(duì)話?
          人機(jī)對(duì)話的終極目的是讓機(jī)器(對(duì)話系統(tǒng))和人類(用戶)能像人和人一樣進(jìn)行自由的對(duì)話。通常來說,對(duì)話系統(tǒng)和人類的對(duì)話過程主要分為三個(gè)主要階段,分別是對(duì)話理解(Understanding)、對(duì)話策略(Policy)和對(duì)話生成(Generation)。如下圖所示,當(dāng)用戶說了一句 "查詢水費(fèi)",對(duì)話系統(tǒng)首先要理解用戶說的是什么意思(What do you say ?),然后要根據(jù)理解的結(jié)果,需要判斷自己該如何去回答(How Shold I say ?),第三步要通過自然語(yǔ)言的方式返回給用戶(What should I say ?)。

          圖片

          圖 2 人機(jī)對(duì)話系統(tǒng)簡(jiǎn)介
          1.2. “無知識(shí),不對(duì)話”
          人機(jī)對(duì)話都是基于知識(shí)構(gòu)建起來的,即“無知識(shí),不對(duì)話”。目前的對(duì)話系統(tǒng)大概可以分為三個(gè)類別,包括對(duì)話、問答和閑聊。對(duì)話主要是指任務(wù)型對(duì)話,通過具體的業(yè)務(wù)流程知識(shí)來構(gòu)建,圍繞一個(gè)流程完成某個(gè)具體的任務(wù);問答根據(jù)知識(shí)形態(tài)的不同,分為了很多種,比如基于知識(shí)圖譜的問答(KBQA)、基于表格或者數(shù)據(jù)庫(kù)的問答(TableQA)、基于文檔的問答(DocQA)等;閑聊主要是利用一些開放域知識(shí),完成與人類的聊天等。除此之外,所有的對(duì)話都可能會(huì)依賴人類標(biāo)注的知識(shí)、世界知識(shí)和各種常識(shí)等。

          圖片

          圖 3 無知識(shí)不對(duì)話,知識(shí)是對(duì)話系統(tǒng)的基礎(chǔ)
          舉個(gè)例子,比如在辦理汽車保險(xiǎn)的場(chǎng)景中,相關(guān)的多輪對(duì)話受業(yè)務(wù)邏輯流程約束的:首先需要驗(yàn)證個(gè)人信息,然后系統(tǒng)調(diào)用驗(yàn)收?qǐng)?bào)告,如果驗(yàn)收?qǐng)?bào)告通過,接下來就要填寫保單,最終完成保險(xiǎn)的辦理;如果驗(yàn)車不通過,需要反饋給用戶原因,最終完成整個(gè)對(duì)話的流程。在這個(gè)例子中,對(duì)話流程體現(xiàn)的是業(yè)務(wù)流程知識(shí);需要驗(yàn)證的個(gè)人信息包括姓名等,依賴于世界知識(shí),比如姓名中的“弓長(zhǎng)張木子李”;最后,這個(gè)項(xiàng)目如果想達(dá)到交付效果要求,還需要標(biāo)注訓(xùn)練樣本訓(xùn)練模型,這里面就包含人工標(biāo)注知識(shí)。
          1.3. 預(yù)訓(xùn)練對(duì)話模型
          近些年來,預(yù)訓(xùn)練模型引爆了 NLP 的技術(shù)變革,比如 BERT[1]、GPT[2]、T5[3] 等。這些模型基于自監(jiān)督的訓(xùn)練方式(MLM)在大規(guī)模無監(jiān)督語(yǔ)料上進(jìn)行學(xué)習(xí),而其背后的本質(zhì)是語(yǔ)言模型(Language Model),回答什么樣的句子更像一個(gè)合理的句子。典型的預(yù)訓(xùn)練語(yǔ)言模型主要由三個(gè)主要組件構(gòu)成 :(1) 海量的自由文本作為輸入 (2)利用 Transformer [4] 網(wǎng)絡(luò)架構(gòu)作為模型 (3)通過自監(jiān)督的預(yù)訓(xùn)練目標(biāo) MLM 作為優(yōu)化目標(biāo)。 

          圖片圖 4 預(yù)訓(xùn)練語(yǔ)言模型及其組成


          但是對(duì)話數(shù)據(jù)和普通文本數(shù)據(jù)有非常顯著的差異,相比于普通的文本數(shù)據(jù),對(duì)話作為語(yǔ)言的高級(jí)應(yīng)用,至少有如下的特點(diǎn):

          1. 對(duì)話是口語(yǔ)化的,人在對(duì)話的時(shí)候表述隨意,也不一定符合語(yǔ)法,可能存在噪音及 ASR 錯(cuò)誤;
          2. 對(duì)話是分角色多輪次的,至少有兩個(gè)參與主題,輪次間存在省略、指代、狀態(tài)繼承等特點(diǎn);
          3. 對(duì)話都存在垂直的知識(shí)約束;
          4. 對(duì)話需要深層語(yǔ)義理解,比如涉及到意圖槽位,邏輯推理等;
          5. 對(duì)話是講究策略的,為了完成特定的任務(wù)目標(biāo),模型需要知道自己該如何決策。


          直接利用預(yù)訓(xùn)練語(yǔ)言模型作為對(duì)話模型的基座存在天然的不適配,我們需要針對(duì)對(duì)話的數(shù)據(jù)及特點(diǎn),設(shè)計(jì)獨(dú)特的對(duì)話預(yù)訓(xùn)練模型,來增強(qiáng)對(duì)話系統(tǒng)的效果。從 2020 年開始,面向?qū)υ挼膶S妙A(yù)訓(xùn)練對(duì)話模型開始涌現(xiàn)。目前預(yù)訓(xùn)練對(duì)話模型的建模,基本按照對(duì)話理解和對(duì)話生成兩大任務(wù)類進(jìn)行建模,利用類似于 BERT 或者 GPT-2 的 loss 在對(duì)話語(yǔ)料上進(jìn)行預(yù)訓(xùn)練。例如,針對(duì)話理解,常見模型有 PolyAI 的 ConvRT [5],Salesforce 的 TOD-BERT[6]和亞馬遜的 ConvBERT[7],針對(duì)對(duì)話生成,常見模型有微軟的 DialoGPT [8],谷歌的 Meena[9]和 Meta 的 Blender[10]。這些預(yù)訓(xùn)練對(duì)話模型仍然存在很多不足:

          1. 數(shù)據(jù)上,大部分只用了開放域數(shù)據(jù);
          2. 模型上,大多只面向回復(fù)生成進(jìn)行建模;
          3. 訓(xùn)練機(jī)制上,只利用了自監(jiān)督預(yù)訓(xùn)練目標(biāo)。


          綜上,一方面,無知識(shí)不對(duì)話,知識(shí)是對(duì)話的基礎(chǔ);另一方面,預(yù)訓(xùn)練對(duì)話模型對(duì)于對(duì)話系統(tǒng)是剛需?;诖耍覀兿M跀?shù)據(jù)和知識(shí)雙驅(qū)動(dòng)的預(yù)訓(xùn)練對(duì)話模型方向上進(jìn)行深入探索。
          2. SPACE-1: 從 自監(jiān)督訓(xùn)練 到 半監(jiān)督訓(xùn)練
          2.1. 從自監(jiān)督到半監(jiān)督
          如何向模型中注入標(biāo)注知識(shí)依舊是一個(gè)尚未充分探索的方向。早期工作中,谷歌的 T5 就已經(jīng)嘗試了將有標(biāo)和無標(biāo)數(shù)據(jù)統(tǒng)一成語(yǔ)言生成任務(wù)進(jìn)行學(xué)習(xí),但是實(shí)驗(yàn)卻表明簡(jiǎn)單地混合有標(biāo)無標(biāo)數(shù)據(jù)訓(xùn)練反而會(huì)帶來負(fù)面影響。經(jīng)過大量的實(shí)驗(yàn)探索,我們發(fā)現(xiàn)如果還是基于原先的兩大預(yù)訓(xùn)練范式,難以很好地進(jìn)行預(yù)訓(xùn)練。首先,單利用自監(jiān)督預(yù)訓(xùn)練或者有監(jiān)督預(yù)訓(xùn)練是無法同時(shí)利用好有標(biāo)和無標(biāo)的預(yù)訓(xùn)練數(shù)據(jù),僅自監(jiān)督損失函數(shù)是無法學(xué)習(xí)出標(biāo)注知識(shí)中的高層語(yǔ)義的,有監(jiān)督損失函數(shù)亦不能學(xué)出無標(biāo)語(yǔ)料中的通用底層語(yǔ)義;其次,在大規(guī)模預(yù)訓(xùn)練中,由于所使用的預(yù)訓(xùn)練數(shù)據(jù)往往存在著少量有標(biāo)數(shù)據(jù)和海量無標(biāo)數(shù)據(jù)之間的數(shù)量鴻溝,如果簡(jiǎn)單混合兩種預(yù)訓(xùn)練,會(huì)使得標(biāo)注知識(shí)的信息要么淹沒在無標(biāo)數(shù)據(jù)中,要么就會(huì)出現(xiàn)嚴(yán)重的過擬合,因此我們需要全新的預(yù)訓(xùn)練范式來解決該問題。
          基于上述動(dòng)機(jī),我們期待能夠通過一種新的訓(xùn)練方式,將人類知識(shí)注入到預(yù)訓(xùn)練對(duì)話模型中。這里我們提出半監(jiān)督預(yù)訓(xùn)練對(duì)話模型 SPACE (Semi-supervised Pre-trAined Conversation ModEl) 。如下圖所示,半監(jiān)督預(yù)訓(xùn)練從遷移學(xué)習(xí)的角度來看,可以認(rèn)為是一個(gè)前兩種范式的自然延伸,通過構(gòu)造半監(jiān)督學(xué)習(xí)的損失函數(shù)來充分綜合利用有限的標(biāo)注知識(shí)和大量的無標(biāo)數(shù)據(jù)。在半監(jiān)督學(xué)習(xí)理論里 [11],模型既需要在無標(biāo)數(shù)據(jù)上進(jìn)行自我推斷,根據(jù)結(jié)果進(jìn)一步約束優(yōu)化,也需要利用有標(biāo)數(shù)據(jù)進(jìn)行一定程度的有監(jiān)督,指導(dǎo)自監(jiān)督預(yù)訓(xùn)練的過程,同時(shí)避免模型參數(shù)陷入平凡解。

          圖片

          圖5 三種預(yù)訓(xùn)練方式:有監(jiān)督、自監(jiān)督及半監(jiān)督,參考[16]修改 
          如下圖所示,傳統(tǒng)的半監(jiān)督學(xué)習(xí)主要是通過無標(biāo)注數(shù)據(jù)來輔助有標(biāo)注數(shù)據(jù),從而減少學(xué)習(xí)所需要的標(biāo)注樣本量。而我們關(guān)注的不再是如何降低對(duì)標(biāo)注數(shù)據(jù)量的依賴,而是如何更加高效地融入特定標(biāo)注知識(shí)。

          圖片圖 6 我們提出的半監(jiān)督預(yù)訓(xùn)練與之前半監(jiān)督的不同點(diǎn)


          半監(jiān)督預(yù)訓(xùn)練是我們 SPACE 系列模型的核心思路,基于這個(gè)思路,我們?cè)搹哪膫€(gè)方向進(jìn)行探索呢?當(dāng)前的預(yù)訓(xùn)練對(duì)話模型主要可以分為對(duì)話理解、對(duì)話策略、對(duì)話生成幾個(gè)方向,對(duì)話理解和對(duì)話生成都有一些相關(guān)的工作了,而對(duì)話策略的研究卻比較薄弱,但對(duì)話策略又是連接對(duì)話理解和對(duì)話生成的核心環(huán)節(jié),它指導(dǎo)著對(duì)話生成的正確性,同時(shí)對(duì)于多輪對(duì)話能否完成目標(biāo)(對(duì)話完成率)也至關(guān)重要。所以我們先從對(duì)話策略進(jìn)行入手,將策略知識(shí)注入到預(yù)訓(xùn)練對(duì)話模型中。

          圖片圖 7 針對(duì)對(duì)話策略的預(yù)訓(xùn)練對(duì)話模型還處于空白


          2.2. 對(duì)話策略知識(shí)
          什么是對(duì)話策略呢?對(duì)話策略最早是 1995 年在語(yǔ)言學(xué)被提出,用來對(duì)人類的語(yǔ)言交流進(jìn)行行為建模的,將對(duì)話動(dòng)機(jī)或者對(duì)話行為抽象為具體的類型,在 wiki 百科中的解釋為 “A dialog act is a tag for an utterance, in the context of a conversational dialog, that serves a function in the dialog”。隨著領(lǐng)域的發(fā)展,人機(jī)對(duì)話也開始采取這種標(biāo)簽體系,稱之為 dialog act (DA),比如哥倫比亞大學(xué)的 Zhou Yu 老師團(tuán)隊(duì)提出以用戶為中心的 DA 體系,一共 23 個(gè) DA 標(biāo)簽,憑借這套對(duì)話策略的標(biāo)簽,拿下了當(dāng)年的 Alexa Prize 的冠軍,證明了這種策略知識(shí)對(duì)于人機(jī)對(duì)話任務(wù)也是非常重要的。

          圖片

          圖 8 對(duì)話策略(Dialog Act)的發(fā)展歷史
          但是目前的 DA 標(biāo)注體系都比較零散,每個(gè)研究的標(biāo)注體系都不相同,畢竟用一個(gè)小規(guī)模的、具體的集合來描述整個(gè)人類的語(yǔ)言描述,還是非常有挑戰(zhàn)的。為了推進(jìn)這個(gè)方向的研究,我們將學(xué)術(shù)界面向任務(wù)型對(duì)話的策略體系進(jìn)行了整合,最終梳理出 5 大類、20 小類的統(tǒng)一標(biāo)簽體系。最終我們打造出最大的統(tǒng)一 DA 的對(duì)話數(shù)據(jù)集 UniDA,共計(jì) 100w 條 utterance,同時(shí)我們還整理了學(xué)術(shù)界所有的大規(guī)模無標(biāo)注語(yǔ)料 UniDIal,共計(jì) 3500w 條 utterance

          圖片

          圖 9 我們總結(jié)出的 DA 體系,基于此梳理發(fā)布了學(xué)術(shù)界最大的統(tǒng)一 DA 的對(duì)話數(shù)據(jù)集 UniDA
          目前我們已經(jīng)整理好了用于預(yù)訓(xùn)練的知識(shí)和數(shù)據(jù),接下來需要考慮如何設(shè)計(jì)模型。首先我們將對(duì)話策略進(jìn)行顯式建模,給定對(duì)話歷史,直接預(yù)測(cè)下一輪系統(tǒng)端的 DA 標(biāo)簽。比如下面這個(gè)例子,用戶首先說 “幫我查一下上個(gè)月的水費(fèi)”,機(jī)器人說“好的,請(qǐng)問你的戶號(hào)是多少?” 然后這個(gè)用戶就會(huì)把他的水卡的號(hào)說出來。那么再下一句,機(jī)器人應(yīng)該說什么呢?我們要預(yù)測(cè)機(jī)器人的這個(gè)對(duì)話策略,就是選擇繼續(xù)詢問,或者選擇回答信息,還是要進(jìn)行澄清,這些行為就是模型就要預(yù)測(cè)機(jī)器人的這個(gè)對(duì)話策略。那么這樣一個(gè)預(yù)測(cè)的過程,可以直接建模為分類問題進(jìn)行處理。

          圖片

          圖 10 對(duì)話策略的建模方式
          2.3. 半監(jiān)督預(yù)訓(xùn)練
          如何將這個(gè)分類問題進(jìn)行半監(jiān)督訓(xùn)練呢?目前學(xué)界對(duì)于半監(jiān)督的利用主要分為 3 種:基于判別式的方法,比如 self-prediction、co-training 等;基于生成式的方法,比如 VAE、GAN 等,還有基于對(duì)比學(xué)習(xí)的方法,比如 有負(fù)樣本的對(duì)比和無負(fù)樣本的對(duì)比。其中,在我們的實(shí)驗(yàn)中,基于判別式(self-prediction)和生成式(VAE)由于缺乏顯式的 loss 約束及隱變量的不確定性,效果都不盡人意。

          圖片

          圖 11 NLP 中常用的半監(jiān)督方法
          我們最后選擇基于對(duì)比學(xué)習(xí)的半監(jiān)督訓(xùn)練方法。具體的,針對(duì)無標(biāo)對(duì)話數(shù)據(jù),我們采用了 R-drop[12] 的思路,如下圖所示,給定同樣的對(duì)話輸入 c(context),經(jīng)過兩次帶有 dropout 的 forward 得到了兩次經(jīng)過隨機(jī)擾動(dòng)后在對(duì)話動(dòng)作空間 (DA)上預(yù)測(cè)的不同分布,然后通過雙向 KL 正則損失函數(shù)(L_KL)來約束兩個(gè)分布。針對(duì)有標(biāo)對(duì)話數(shù)據(jù),我們則直接利用基礎(chǔ)的有監(jiān)督交叉熵 loss(L_DA)來優(yōu)化對(duì)話動(dòng)作預(yù)測(cè)。理論可以證明,在滿足低密度假設(shè)下(即分類邊界處于低密度分布),通過對(duì)同一個(gè)樣本進(jìn)行擾動(dòng)后分類結(jié)果仍然具備一定程度上的一致性 (即分布接近或預(yù)測(cè)結(jié)果接近),那么最終基于一致性正則的半監(jiān)督學(xué)習(xí)可以保證找到正確的分類面。最終模型的預(yù)訓(xùn)練損失將和回復(fù)選擇任務(wù)(L_select)和回復(fù)生成任務(wù)(L_gen)進(jìn)行聯(lián)合優(yōu)化。

          圖片

          圖 12 半監(jiān)督 Loss 設(shè)計(jì)



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



          關(guān)鍵詞: AI

          相關(guān)推薦

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

          關(guān)閉