首頁  >  文章  >  科技週邊  >  大模型推動的人機互動對話

大模型推動的人機互動對話

PHPz
PHPz轉載
2023-04-11 19:27:471288瀏覽

大模型推動的人機互動對話

導讀:#對話技巧是數位人互動的核心能力之一,這次分享主要從百度PLATO 相關的研發和應用出發,談談大模型對對話系統的影響和對數位人的一些機會,本次分享題目為:大模型推動的人機互動對話。

今天的介紹從以下幾點展開:

  • #對話系統概覽
  • 百度PLATO 及相關技術
  • 對話大模型落地應用、挑戰及展望

一、對話系統概論

1、對話系統概覽

大模型推動的人機互動對話

#日常生活中,我們常常接觸到一些偏任務類型的對話系統,例如讓手機助理定鬧鈴、讓智慧音箱放首歌。這種在特定領域內的垂類對話,技術相對成熟,系統設計上通常是模組化的,包括對話理解、對話管理、自然語言生成等模組。

大模型推動的人機互動對話

傳統任務型對話的大致流程如下:使用者輸入一句話,系統透過自然語言理解模組,解析出相關的意圖和槽值對(slot-value pairs),這些詞槽是預先定義好的;透過對話管理模組追蹤多輪對話狀態,以及與外部資料庫交互,進行系統動作的決策;然後透過對話產生模組,產出回覆返回給用戶。

最近幾年很多研究是關於開放域對話技術,即不限定領域、可以就任意話題聊天。代表性的工作有 Google Meena、Mata Blender 和 Baidu PLATO 等,與傳統模組化的對話系統相比,這些端到端的對話系統是給定對話上文,直接產生相應的回應。

2、端對端對話產生-對話系統的新機會

端到端對話系統可以基於RNN、LSTM 或Transformer 等進行設計,網路架構主要包括兩個部分:編碼器Encoder 和解碼器Decoder。

編碼器將對話上文編碼成向量,對對話內容做理解。

解碼器是根據對話向量和先前的隱藏向量,產生對應的回應。訓練語料主要是人人對話語料,可以從公開的社群媒體論壇(微博、貼吧、推特等)抽取評論作為近似的對話語料。訓練目標主要是最小化負對數似然函數。

3. 開放域對話面臨的挑戰

##基於大量語料訓練的大規模模型,已經可以產生比較連貫的回复,但仍然存在許多問題。 大模型推動的人機互動對話

############第一個問題是內容比較空洞、缺乏資訊。模型回覆的比較簡略、無實質內容,容易降低使用者的聊天意願。 ##################另一個問題是知識濫用,模型回覆的一些詳細資訊有時是錯誤的、編造的。 ##################

二、百度 PLATO

百度 PLATO 針對上述兩類問題做了一些技術探索。

針對內容空洞,提出了基於離散隱變數的預訓練對話產生技術,實現開放域回應的合理性、多樣性的生成。對於知識濫用問題,提出融合知識的弱監督對話生成模型,一定程度上緩解了知識濫用的問題,提升了對話豐富度和知識準確率。

1、開放域對話「一對多」問題

對話模型為什麼會產生內容空洞的“安全回覆”?

本質上,開放域對話是一對多的問題,一個對話上文,通常是有很多個合理回應的,不同人背景、經歷、所處場景不同,給予的回應很可能不一樣。而神經網路訓練通常是一一映射的,學到的是這些回應的均值狀態,例如是「挺好的」「哈哈哈」這類安全而沒有資訊量的回應。

大模型推動的人機互動對話

2、PLATO-1 隱空間對話產生模型

PLATO -1 提出基於離散隱變數進行對話一對多關係的建模。

這裡涉及兩個任務,將原來的對話上文Context 和對話回复Response 對應到隱變量Latent Action 上,然後基於隱變量去學習回复生成。 PLATO 是利用同一網路對兩個任務進行聯合建模,先透過估計隱變量的分佈,透過Gumbel Softmax 採樣出隱變量後再學習回復生成,這樣透過採樣不同的隱變量,就能生成多樣化的回复。

大模型推動的人機互動對話

案例展示,選擇了不同隱變量,產生不同回應的效果。這些回复都是基於上文的回复,回复品質不錯、很合適且資訊豐富。

大模型推動的人機互動對話

3、PLATO-2 基於課程學習的通用對話模型

PLATO-2 在PLATO-1 的基礎上,繼續擴展。參數上,達到了 16 億的規模;預訓練語料上,中文有 12 億對話樣本,英文有 7 億樣本;訓練方式上,是基於課程學習。何為課程學習 Curriculum Learning?就是先學習簡單的再學複雜的。

另外,PLATO-2 繼續沿用統一的網路設計 PrefixLM,同時學習對話理解和回復生成。基於課程學習的訓練效率高,基於統一網路的性價比高。

大模型推動的人機互動對話

PLATO-2 第一階段先訓練簡化的通用回復生成,第二階段訓練多樣化的回復生成,在這個階段把隱變數加進來了。第二階段也引入了對話連貫性評估訓練,相對於常見的生成機率排序,連貫性評估有效地提升了回應選擇的品質。

大模型推動的人機互動對話

PLATO-2 能否作為通用的對話框架? 我們知道對話領域大致分為三類,任務型對話、知識對話、開放域閒聊系統。分別給不同類型對話系統預先訓練成本太高,PLATO-2 的課程學習機制剛好可以協助其成為一個通用對話框架。任務型對話相對聚焦,在課程學習第一階段的一對一映射模型正好滿足這類情況,知識對話和閒聊中都有一對多的情況,知識對話中可以用不同知識回復用戶,閒聊對話中可以有不同的回覆方向,所以課程學習第二階段模式可以應用在知識對話和閒聊系統。

4、PLATO-2 in DSTC-9

為了驗證這項能力,PLATO-2 參加了對話領域的國際競賽DSTC,它全面的涵蓋了各種對話領域,PLATO-2 以統一的技術框架在6 項任務中取得了5 項冠軍,這在DSTC 的歷史中尚屬首次。

大模型推動的人機互動對話

5、PLATO-XL 首個百億參數中英文對話產生模型

如果繼續推高PLATO 模型參數規模,會達到怎樣的效果? 2021 年 9 月我們推出全球首個百億規模中英文對話生成模型 PLATO-XL。

大模型推動的人機互動對話

在中英文上,分別比較了常見的幾個商業產品,從合理性、豐富度和吸引度等角度評測,PLATO 的效果是遙遙領先的。

大模型推動的人機互動對話

微信公眾號「百度 PLATO」存取了 PLATO-XL 模型,大家可以去試用體驗。

大模型推動的人機互動對話

PLATO 模型參數量從一億到十億再到百億規模,其實到十億規模的時候對話已經比較流暢、通順了,到百億規模的時候模型的邏輯能力顯著提升了許多。

6、知識濫用問題

#大模型都存在著知識濫用的問題,該如何解決呢?我們人類遇到不知道的問題如何解決的?可能會去搜尋引擎上查一下,這種透過尋找外部知識的方式能否借鏡模型中?

大模型推動的人機互動對話

融合外部知識輔助回復生成,是緩解知識濫用很有希望的方向。但對於大規模的對話語料,只存在對話上文和回覆訊息,無法知道某條語料與外部知識對應關係,也就是缺乏知識選擇的標籤訊息。

大模型推動的人機互動對話

7、PostKS 基於事後指導的知識選擇

##PostKS是知識對話領域代表性的工作之一,提出了基於後驗指導的知識選擇,在訓練過程中,讓先驗的知識分佈逼近後驗的知識分佈。 #

大模型推動的人機互動對話

在推理階段由於不存在後驗訊息,模型需要使用先驗知識進行回復生成。訓練和推理階段會存在不一致的情況,訓練基於後驗但推理只能基於先驗。

8、PLATO-KAG 基於聯合最佳化的無監督知識對話

PLATO-KAG 無監督模型,聯合建模了知識選擇和回復生成。基於先驗選擇了 top-k 條知識,送給生成模型,做一個端到端的聯合訓練。如果知識選的準,對生成目標回復很有幫助,生成機率會比較高,聯合優化會鼓勵這種選擇並利用給定知識;如果知識選的差,對生成目標回復沒有作用,生成概率會比較低,聯合優化會打壓這種選擇並忽略給定的知識。這樣就同時優化了知識選擇和回復生成。

大模型推動的人機互動對話

9、PLATO 全面知識增強對話

大模型推動的人機互動對話

從人類學習知識經驗來看,我們大腦中也記憶了許多的知識,PLATO 嘗試了全面的知識增強,同時做了知識外用和知識內化。一方面利用外部的通用無結構化知識和畫像知識,另一方面也將大量問答知識透過預先訓練內化到模型參數中。經過這樣全面的知識增強,對話通用知識錯誤率從 30% 降低到 17%,畫像一致性從 7.1% 提升到 80%,問答準確率從 3.2% 提升到 90%,提升的非常明顯。

下圖是做了全面知識增強後的效果比較。

大模型推動的人機互動對話

值得注意的是,雖然效果得到了顯著改善,但知識濫用問題並沒有完全解決,只是緩解而已。即使模型規模擴大到千億參數,知識濫用問題仍存在。

目前仍有幾個點值得我們繼續努力:第一個是外部知識的觸發時機,就是什麼時候查外部知識,什麼時候使用內化知識,這會影響對話的流暢度和吸引力。第二個是知識選擇的準確性,這涉及檢索技術,中文知識語料建庫是幾十億規模,透過給定的對話上文準確檢索到合適的知識沒那麼容易。第三個是知識利用的合理性和保真度,模型有時候會無法準確理解知識或混亂拼湊出不準確的回復等。

大模型推動的人機互動對話

三、對話大模型落地應用、挑戰與展望

大模型推動的人機互動對話

上面介紹了PLATO 對話的一些技術,例如引入大規模的模型、加入離散隱變數提升對話豐富度、透過無監督引入外部知識緩解知識濫用等,那麼在實際生產中有哪些落地的應用呢?

#########1、落地應用########################PPLATO 在智慧音箱、虛擬人、社群聊天等多場景提供開放域聊天能力。 ##########

大模型推動的人機互動對話

左側是數字人度曉曉,在百度APP 搜尋度曉曉或直接輸入「你好」就能呼叫數字人,透過聊天能方便搜尋的過程,有效率地取得答案和資訊。右側是百度輸入法中的虛擬人,既高顏值又很會聊。

2、落地應用程式遇到的挑戰

#在落地應用程式中,第一個挑戰就是推理效能,圖中列出了16 億參數PLATO 的效能數據。透過算子融合減少了 98% 的算子數量,模型推理耗時從原來 v100 上的 1.2s 降低到 A10 卡上的 300ms 以內。透過運算精度優化,減少了 40% 的顯存,推理卡從 v100 換到 A10 降低成本,同時做了架構優化和平台遷移,降低了鏈路開銷。

大模型推動的人機互動對話

第二個挑戰是對話安全性。例如有害言論、政治敏感、地域歧視、隱私等很多方面都需要高度注意。 PLATO 對語料做了深度清洗,刪除不安全樣本,部署後使用安全判別模型移除不安全候選回應。同時維護了關鍵字表和添加對抗訓練,查漏補缺,提升安全。

大模型推動的人機互動對話

3、展望

#以前人們認為開放域閒聊是一個兜底功能,隨著近幾年大模型的發展,對話領域也有了顯著進展,目前模型可以產生連貫、流暢、豐富和跨領域的對話,但情感、人設、人格和思辨等方面仍然有很大提升空間。

道阻且長,行則將至,行而不輟學,未來可期。也希望對話領域的同行們,大家一起努力,共同攀登人機對話的高峰。

大模型推動的人機互動對話

4、引用

大模型推動的人機互動對話

、問答環節

Q:對話效果如何評估的?

A:目前對話系統還沒有自動指標能和手動評估比較一致,人工評估仍是黃金標準。開發階段可以參考困惑度 perplexity 進行迭代,最終進行全面評估時,還是需要請大量的眾包人員與不同機器進行交互,在一些指標上進行人工評估。評估指標上,也隨著技術的發展而變化,例如當流暢度不再是問題的時候,那麼可以添加安全性、知識準確性等指標評估更高級的能力。

####

以上是大模型推動的人機互動對話的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除