Categories
程式開發

Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味”


不久前,Facebook 開源了號稱是全球最強大的聊天機器人Blender,它標誌著Facebook在AI領域的新進展:不僅解決了此前聊天機器人的原有缺點,新的聊天機器人更是擁有史無前例的94 億個參數!

近日,Facebook 的人工智能和機器學習部門 Facebook AI Research(FAIR)詳細介紹了一個名為 Blender 的綜合人工智能聊天機器人框架。

FAIR 聲稱,目前可以在 GitHub 上以開源方式獲得的 Blender,是有史以來最強大的開放域聊天機器人,它比生成對話的現有方法更有“人情味”。

FAIR 表示,Blender 是多年研究的巔峰之作,它將移情、知識和個性結合到一個系統中。為此,受益於改進的解碼和技能混合技術的基礎模型,包含了多達 94 億個參數(定義特定問題上的技能配置變量),是之前系統的 3.6 倍。

Blender 承諾,無論在企業、工業還是面向消費者的環境中,Blender 都可以使與 Alexa、Siri 和 Cortana 等對話式人工智能係統的交互變得比以往更加自然。這是因為它們能夠提問並回答各種各樣的問題,展示有關特定主題的知識,並視情況的需要表達出不同的情感,如同情、認真或“好玩”的情緒。

混合技能和生成策略

為了實現 Blender 最先進的性能,FAIR 的研究人員將重點放在兩個工程步驟上:混合技能和生成策略。

“混合技能”指的是選擇性能優於缺乏調優的較大模型的任務。正如 FAIR 的研究人員在一篇論文中指出的那樣,聊天機器人的改進可以通過對數據模型進行微調來實現,這些模型側重於可取的會話技巧。事實證明,調優還可以最大限度地減少從大型數據集中學到的不良特徵,如毒性等。

在生成策略方面,解碼算法(從語言模型生成文本的算法)的選擇對聊天機器人的響應有著極大的影響。由於機器人響應的長度往往與人類對質量的判斷相對應,因此,解碼器的長度最好能達到適當的平衡。太短的回复通常會被人們認為沈悶或表現出缺乏興趣,而太長的回复則暗示著含​​糊其辭或分心。

Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味” 1

圖為與 Blender 聊天機器人的對話。藍色對話框為 Blender 的回复。

在這些工程步驟的過程中,研究人員測試了三種類型的模型架構,都以 Transformers 作為基礎。與所有深度神經網絡一樣,Google 的創新產品 Transformer 包含按層次排列的神經元(數學函數),這些神經元從輸入數據中傳輸信號,並調整每個連接的強度(權重)。這就是它們提取特徵和學習預測的方式,但 Transformer 也有註意力機制。這意味著每一個輸出元素都與每一個輸入元素相連,它們之間的權重是動態計算的。

首先是一種檢索器模型,它給定了一個對話歷史(或上下文)作為輸入,通過對一大堆候選響應進行打分,並輸出得分最高的那一個來選擇下一個對話響應。 FAIR 的研究人員採用了一種多編碼器架構,該架構使用每個候選響應的表徵來編碼上下文的特徵,他們說,與其他架構(如交叉編碼器)相比,這種架構在提高了性能的同時,還保持了”易於處理”的計算能力。

第二種模型是一種生成器,它產生響應,而不是從一個固定的集合中檢索響應。按大小考慮了三種模型,從 9000 萬個參數,到 27 億個參數,再到 94 億個參數不等。

第三種模型試圖解決生成器的問題,即生成器重複響應和 “幻化 “知識的傾向。它採用了 “檢索和提煉”(RetNRef)的方法,即上述的檢索模型在提供對話歷史時產生一個響應,然後將其附加到生成器的輸入序列中。通過這種方式,生成器可以學習到什麼時候從檢索器中復制響應元素,什麼時候不復制,這樣它就可以輸出更有趣、更有吸引力和更 “生動 “的響應。 (檢索器模型所產生的人寫的響應往往比標準的生成器模型包含更多的生動語言)。

Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味” 2

FAIR 團隊將一個嚮導生成模型與另一個檢索器配對,共同決定何時將知識整合到聊天機器人的響應中。這兩個模型產生了一組初始知識候選者,然後對這些候選者進行排序,之後它們選擇一個句子,並使用它來對生成響應進行約束。分類器根據每個對話選擇是否執行檢索,以避免在不需要的時候提供知識。

解碼

對於生成模型,FAIR 的研究人員使用了一種波束搜索(Beam Search)解碼器的方法來生成對給定對話上下文的響應。波束搜索保留了一組被部分解碼的序列,稱為假設,這些序列被附加在一起形成序列,然後進行評分,從而使最好的序列按冒泡排序的方法到達頂端。

為了控制聊天機器人響應的長度,FAIR 團隊考慮了兩種方法:對最小生成長度的硬約束和分類器預測回答長度,並將最小生成長度約束設置為相應的預測值。後者更為複雜,但結果是對問題的響應長度不固定,確保聊天機器人在看似合適的情況下能提供較長的響應。

訓練模型

為了準備組成 Blender 的各種模型,研究人員首先進行了預訓練,這已不是為特定任務的機器學習模型設定條件。他們使用了Facebook 自己的Fairseq,這是一個支持訓練自定義語言模型的工具箱,其數據樣本來自Reddit 語料庫,其中包含15 億條評論(每條評論保留兩組36 萬條,用於驗證和測試),對已知的聊天機器人、非英文的Subreddit、已刪除的評論、帶有URL 的評論和一定長度的評論進行了縮短等優化調整。
Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味” 3

接下來,FAIR 團隊使用另一個 Facebook 開發的套件 ParlAI 對模型進行了微調,該套件用於訓練和測試對話模型。所選的一個訓練語料庫是 ConvAI2,其中包含 14 萬句話語,包括成對的志願者通過提問和回答有好的問題相互了解。

另一個是移情對話(Empathetic Dialogues),其中包含 50000 個情感情境的眾包話語。然而,另一個數據集“維基百科嚮導”(Wizard of Wikipedia),由 194000 個話題組成,每個對話以隨機選擇的話題開始,目標是展示專家知識。

第四個微調數據集“Blended Skill Talk”,旨在將前三個數據集(ConvAI2、移情對話和維基百科嚮導)混合在一起,以便在對話過程中將它們各自的技能結合起來。在這裡,我們收集了 76,000 句話語,其中有引導的和無引導的人類說話者,引導的說話者可以選擇由機器人在這三個單獨的數據集上訓練的機器人建議的話語。

評估

訓練結束後,研究人員將 Blender 與 Google 最新的機器學習模型 Meena 聊天機器人進行了性能比較,Meena 是一個擁有 26 億個參數的機器學習模型。人類誌願者的任務是回答兩個問題:“你更願意和誰進行長時間的對話?”和“哪個說話的人聽起來更有人情味?”— 給出了100 條Meena 公開發布的隨機日誌以及Blender 生成的相同數量的日誌。在每種情況下,志願者們都會看到一系列人類與相應的聊天機器人配對的對話。

對話的主題從烹飪、音樂、電影、寵物到瑜伽、素食主義、樂器和購物中心等,Blender 模型在被問及相關商店、樂隊、電影、演員、寵物種類和寵物名稱時,往往會深入細節。有這樣的一個例子,Blender 細緻入微地回答了一個關於 Bach 與 Justin Beiber 相比較的問題,而要求 Blender 寫出一首歌時,確實產生了歌詞,儘管沒有什麼特別的詩意。

Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味” 4

向志願者分別展示Meena 和Blender 的聊天后,67% 的志願者表示,表現最好的Blender 聊天機器人聽起來更像人類,它包含94 億個參數的生成模型,是在Blended Skill Talk 語料庫上預訓練的。大約 75% 的志願者表示,他們寧願與 27 億個參數的微調模型進行長時間對話,也不願與 Meena 進行長談。並且,在人與人和人與Blender 對話之間的A/B 對比中,49% 的志願者表示更喜歡在Blended Skill Talk 上進行微調的模型,而只有36% 的志願者更喜歡只接受過公共領域對話訓練的模型。

然而,問題並不是沒有。進一步的實驗顯示,Blender 有時會從訓練語料庫中產生攻擊性樣本風格的響應,這些響應大部分來自 Reddit 的評論。 FAIR 的研究人員表示,在 Blended Skill Talk 數據集上進行微調,可以在一定程度上緩解這一問題,但要全面解決這一問題,還需要使用不安全詞過濾器和一種安全分類器。

Facebook 開源全球最強聊天機器人Blender,經94 億個參數訓練,更具“人情味” 5

當然,FAIR 的研究人員並沒有宣稱開放域對話的問題已經得到解決。事實上,他們列舉了 Blender 的幾個主要限制:

  • 詞彙用法:即使是最好的 Blender 模型,也會傾向過於頻繁地生成常見的短語,如:“do you like”、“lot of fun”、“have any hobbies”等。

  • 無意識的重複:模型經常會重複別人對它們說的話。比如說,如果談話對象提到了寵物狗,它們就會稱自己養了一隻寵物狗,或者說自己和對方喜歡的是同一個樂隊等等。

  • 矛盾和遺忘:Blender 模型自相矛盾,儘管在較大的模型中矛盾的程度較輕。但它們也未能建立起邏輯上的聯繫,即,它們不應該提出之前曾提過的問題(以避免出現“遺忘”的現象)。

  • 知識和事實的正確性:比較容易誘導 Blender 模型出現事實性錯誤,尤其是在深入探索一個主題時,更容易出現事實性錯誤。

  • 對話長度和記憶:FAIR 的研究人員稱,在數天或數週的對話過程中,Blender 的對話可能會變得枯燥乏味且重複,尤其是考慮到 Blender 記不住之前的對話內容。

  • 更深層次的理解:Blender 模型缺乏通過進一步的對話學習概念的能力,而且它們沒有辦法與現實世界中的實體、行為和經驗建立聯繫。

要解決所有這些問題可能需要新的模型架構,FAIR 團隊表示正在探索。它還專注於構建更強大的分類器,以過濾掉對話中的有害語言,以及消除聊天機器人中普遍存在的性別偏見的技術。

Facebook 在一篇博文寫道:“我們對改進開放域聊天機器人方面取得的進展感到興奮,然而,構建一個真正智能的、能像人類一樣聊天的對話智能體,仍然是當今人工智能領域最大的公開挑戰之一……該領域的真正進步取決於可重現性,這是建立在最佳技術之上的機會。我們相信,發布模型對全面、可靠地了解它們的能力至關重要。”

FAIR 在 GitHub 上提供了具有 9000 萬個參數、27 億個參數和 94 億個參數的預訓練和微調的 Blender 模型,以及一個用於與聊天機器人交互的腳本(內置了安全過濾器)。所有用於模型評估和微調的代碼,包括數據集本身,都可以在 ParAI 中獲得。

作者介紹

Kyle Wiggers,技術記者,現居美國紐約,為 VentureBeat 撰寫有關人工智能的文章。他支持 VentureBeat 的道德聲明。

延伸閱讀:

https://venturebeat.com/2020/05/02/emotion-detection-is-a-hot-ask-in-marketing-but-the-tech-just-isnt-ready-yet/