近日,2020年第九屆國際對話技術競賽DSTC9陸續公布了各賽道排名,百度參與其中4項任務的角逐,并在最終的榜單中拔得頭名,全面涵蓋了開放域閑聊、知識對話、任務型對話等關鍵技術問題。據悉,百度在這些任務中所使用的核心技術,均基于其最近開源的開放域對話模型PLATO-2。
據了解,PLATO-2 是基于隱空間技術的大規模開放域對話模型,參數規模高達16億,可就開放域話題深度暢聊,在中英文效果上,已全面超越Google Meena、Facebook Blender、微軟小冰等先進模型;其中文模型也已開放試用接口服務,為實現人機自由對話夢想貢獻一份力。
從“一對一”到“一對多” PLATO-2展現對話領域強大通用能力
隨著科技的不斷進步,智能對話正在成為大家喜愛討論的熱點話題,大家愈來愈習慣性以語言來和設備開展溝通交流。但無論是在哪種場景下,智能助手與真實能與人們就開放話題進行自然的對話依然有差距。
對于這一難題, 各大科技公司使用大規模的類人對話語料,基于預訓練技術,在對話生成上取得了可喜進展,如今很多對話模型已能仿真模擬產生與人類相仿的對話。可是,巨大的對話語料庫下掩藏著豐富多彩的背景信息,一樣的對話上文能夠有各種不同的回應,那樣“一對多”難題依舊是當今對話系統軟件遭遇的一個關鍵難題。
針對這一難題,百度提出了帶有離散隱變量的PLATO-2模型,可以對“一對多”問題進行有效建模,且基于課程學習的方式進行大規模模型的高效訓練。其過程包括兩個階段:第一階段,基于簡化的“一對一”映射,訓練得到基礎的回復生成模型;第二階段包含生成-評估兩個模型,針對開放域對話的“一對多”問題,通過引入離散隱變量進行建模,訓練得到更高質量的回復生成模型,同時訓練評估模型,從多個候選中選擇出最合適的回復。
而在此次競賽中,百度也證明了通過PLATO-2在對話領域強大的通用能力,可以在預訓練各個階段獲得可廣泛支持多種類型對話系統的模型。
逐步優化參數、加快訓練效率 PLATO-2斬獲四項任務冠軍
在Track-1中,賽方就從回復中知識的準確度以及回復與上文的合適度出發,來綜合考驗訓練模型。
面對該難題,百度基于預訓練模型進一步訓練了前兩個子任務的分類和排序模型,從而實現精準的知識選擇,并得以輔助PLATO-2模型生成知識增強的回復。如下圖示例,系統根據對話上文,從大規模知識庫中選出合適的知識,并合理的利用知識生成了高質量的回復。最終,百度在第一賽道的人工評估中,排名第一。
和Track-1 類似,Track-2也是面向任務型的對話系統,但沒有使用額外的非結構化知識,且該賽道共有2個獨立的子任務。百度參與了子任務1,并在最終的人工評估中,與另外一個團隊并列第一?;赑LATO-2第一階段模型,百度在該跨領域任務對話上進行了Fine-tuning,模型可以端到端的生成對話狀態、對話動作以及高質回復。
值得一提的是,在子任務1評估中,還考慮了寬松和嚴格2種場景下的任務成功率,百度在該指標下排名第一,顯著超越了其他系統。最終的榜單為寬松和嚴格評估的均值,百度和另外一個團隊并列第一。
相比于前兩個賽道,Track 3更接近開放域對話問題。它的特點是對于聊天的范圍不設限制,也沒有明確目標,以能和人類進行自由、有趣的交流為目的。在子任務1的考核中,賽方會從流暢性、相關性、準確度、參與度等8個方面對回復進行打分,并給出整體得分。榜單上,有3組模型的結果比較接近,最終并列頭名,據悉前2組結果均為百度提交的不同參數設置下的PLATO-2模型。
在子任務2中,更加注重開放域的人機交互效果,而這恰恰是PLATO-2的擅長之處。最終結果顯示,該榜單前2名均被百度包攬,其中百度開源的PLATO-2模型排名第一。
事實上,如此大規模模型訓練與百度深度學習平臺強大的并行能力支持密不可分。 PLATO-2包含中英文兩個部分的模型。其中,中文模型基于12億中文開放域多輪對話樣本進行訓練,而英語模型則基于7億英語開放域多輪對話樣本進行訓練。在PLATO-2的訓練過程中,還利用了飛槳Fleet庫的并行能力,使用了包括Recompute,混合精度訓練等策略,基于高性能GPU集群進行訓練。
如今,百度基于PLATO-2在對話內容方面的強大能力,讓其豐富度和連貫性上展現出了新的高度,且有望為智能對話開辟出全新的領域。百度PLATO-2英文模型和訓練代碼已經在GitHub開源。