人與機器在開放領域自由對話這一終極理想,又迎來重大進展。近日,百度全新發布了超大規模模型PLATO-2,在承襲PLATO模型運用隱變量進行多樣化回復生成特性外,模型參數規模上升到16億!能夠就開放話題和人類流暢嗨聊。在對話演示中,PLATO不僅能深聊「去吧去吧,學會了遊泳帶我一起」,還會小腹黑「你不怕我把你扔河裡麼?」,朱朝陽看了都直呼專業。
這樣的優秀效果同樣反映在公開數據集的測試中,評估結果顯示百度PLATO-2的對話效果全面超越了今年穀歌發布的26億參數模型Meena,以及Facebook發布的27億參數模型Blender,以更少樣本達成了更優的效果。而在中文對話中,更是與微軟小冰拉開了極大差距,這無疑意味著百度PLATO-2將對話智能提升到了全新高度。
如今,智能對話正以肉眼可見的速度成為人們熱愛談論的話題,不管是《嚮往的生活》裡的國民機靈鬼小度,或者是手機裡隨叫隨到的「hi,siri!」,我們越來越習慣以語言來和機器進行溝通。但不論是家庭、或是手機端,當下有明確功能性的智能助手對比真正能與人類在開放話題中自由對話仍然有差距。
針對這一問題,近年來,基於大量語料和超大規模預訓練模型的對話生成技術取得了非常多喜人進展,如谷歌Meena、Facebook Blender等模型依託數十億級的參數和語料,已能模擬生成與人類非常相近的對話。
但是,龐大的對話語料下隱藏著豐富的信息,同樣的對話語境可以有多種不同的回覆,這樣「一對多」問題是當前對話系統面臨的一個重要難點。我們知道,人與人的對話不僅與上下文相關,也和背景知識相關,不論是個人屬性、知識背景、或是價值觀、情緒狀態等。但每段對話背後,對話者的背景知識是模型訓練中難以獲取的,這就給訓練帶來了很大噪音。如谷歌Meena、臉書Blender等一般的編碼-解碼神經網絡不論結構多複雜,仍然是一個「一對一」的函數,直接應用很容易產生大量「哈哈,不知道」這類的安全回復。
針對這一問題,百度去年發布的PLATO模型和微軟近期發布的OPTIMUS模型中都提到了運用隱變量來建模這種不可見多樣性的方法。百度PLATO更獨特地採用了離散隱變量建模,運用多樣化生成+合適度判斷的方式,在三個不同各類型的公開數據集上均取得了SOTA效果。
此次公布的PLATO-2,是百度在PLATO工作基礎上的進一步擴展,通過擴展網絡增加訓練數據集,模型的參數規模擴展到了16億。同時,PLATO採取了課程學習的方法,解決大規模參數隱變量網絡訓練的計算消耗問題,逐步優化參數、加快訓練效率。
PLATO-2模型結構簡圖
這樣大體量的模型訓練,離不開百度深度學習平臺飛槳強大的並行能力支持。PLATO-2包含中英文兩部分模型。其中,中文模型在12億中文開放域多輪對話數據集上進行訓練,而英文模型則在7億英文開放域多輪數據集上訓練。PLATO-2訓練耗費了64張V100卡共3周的時間,依託了飛槳強大並行能力,包括Fleet並行庫和Recompute等擴展顯存的方式。單個Batch包含52萬Token,訓練過程中約進行了30萬次梯度回傳。
為了驗證模型效果,百度對PLATO-2進行了全面的靜態和動態評估。靜態評估為利用現有對話從上文預測下文,以及人機對話、兩個模型相互對話形式的中英文動態評估。評測結果顯示,百度PLATO在動態和靜態評估中均明顯超越了微軟DialoGPT,谷歌Meena和Facebook Blender模型。更在中文上,與微軟小冰在連貫性、信息量、吸引力、人性化等維度拉開了極大的差距。
在對話演示中,也可以明顯看出PLATO不僅在對話內容豐富度上提升明顯,還能夠就一個話題深入聊天並擴展到相關話題。而此前的最佳模型Blender,則會頻繁地轉換話題。
PLATO-2英文對話演示和Blender使用相同對話種子對比
基於PLATO-2在對話內容的豐富度和連貫性上展現出了來的高度,有望為智能對話開闢出全新的領域。此外,百度POLATO-2相關英文模型和代碼將在Github中陸續開放,中文模型未來也將開放接口服務。也期待在全球領軍AI企業的共同努力下,我們將離人機自由對話的終極夢想更近一步。
(文章來源:中國網)