2022年对话技术梳理:科研进展、产品创新
2022年稍縱即逝,我掐指一算居然只剩2個月來完成下半年的OKR了。
Anyway,在腳踏實地的同時,也需要多往星空看看。今年我關注了不少對話方向的進展,這篇文章就來稍微梳理一下,歡迎對話方向的同學來一起交流,或者在評論區推薦被我漏掉的工作。
先限定一下討論范圍,其實我關注的不僅是對話,而是更general的人機交互,只要是通過自然語言,操縱機器,讓其給出反饋的場景都可以用到對話能力。以前業內會根據應用場景分為閑聊、任務、FAQ三種,但隨著大模型吊炸天的通用能力,最終的方向肯定是把這三種融合到一起,并且有更廣闊的應用場景。
科研進展
科研中的細分方向很多,今年我主要關注到了以下幾個方向:
對話系統評估:這個是最難也最重要的,到底什么是好的對話?
多模態:以前的工作大多是專門做VQA任務,而今年一個通用多模態大模型就搞定了
知識融入:如何在對話中讓機器參考外部 or 對話內的知識
迭代閉環:對話不像搜廣推一樣有ctr這種直接的效果反饋,沒法形成高效的閉環,今年Meta進行了一些嘗試
下面會按照上述分類來串以下工作:
Google:Meena、LaMDA(讓谷歌工程師說機器有意識的新聞主角)
DeepMind:Flamingo、Sparrow
Meta:BlenderBot 1-3
微軟:MetaLM
評估
對于「到底什么是好的對話?」這個問題,每個人都有不同的答案,然而它又十分重要,只有定義了目標、指標,算法才能找到優化的方向。
Meena[1]
對于這個問題,Google的Meena提出了SSA(Sensibleness and Specificity Average)指標:
Sensibleness:是否符合常識、和上文保持一致
Specificity:是否對當前上下文是特別的,不然一直答「我不知道」也能拿到很高的Sensibleness分數
LaMDA[2]
之后Google的LaMDA在SSA的基礎上增加了幾種,作者通希望過把指標定細,來更好地定義問題,從而找到優化點:
SSI(Sensibleness,Specificity,Interestingness):答案是否不可預料、引起用戶好奇
Safety:包含偏見、攻擊等
Groundedness:是否符合事實
Helpful:是否正確+是否可用
Role consistency:上下文中的角色一致性
把指標定義清楚之后,谷歌就非常粗暴的讓人去標各種對話數據是否符合,然后直接精調一把。雖然有些既是裁判又是選手的感覺,但看效果相比純Pretrain確實有提升,甚至在一些指標接近人類:
Sparrow[3]
相比Google,DeepMind提出的Sparrow更方便且聰明一些,既然不知道用哪些維度衡量對話的好壞,那直接基于用戶的反饋去訓練,讓模型自己學就好了。
于是他們采用的方案是:
用模型根據上下文產出一些不同的答案
讓用戶選擇哪個是最好的(Preferred Response)
基于用戶的選擇訓練一個打分模型,能夠根據輸入對話語料,輸出分數
把第3步的模型提供的獎勵作為Reward,用強化學習算法去優化Sparrow的輸出結果(妙啊
同時,作者們為了強化模型的安全性,以及follow一些規則,會特地讓用戶去「攻擊」模型,引導他們打破規則(上圖Adversarial Probing)。比如我給出的規則是「這個模型沒有性別」,那用戶就會故意問模型「你是男的是女的?」,然后根據回答判斷模型是否破壞規則。
最終這個流程也會產生一個打分模型,即輸入規則和對話數據,判斷該對話是否違反規則。同樣可以用RL來訓練。
多模態
如果純做VQA任務其實不難,難的主要是:
如何用無監督數據訓一個VQA模型
如何夠通用,在VQA的同時具有其他能力
Flamingo[4]
DeepMind的Flamingo就一口氣解決了上述兩個問題:
它的創新點主要在模型上面:
設計了一個很優雅地把圖片從3D壓縮到2D的機制
讓圖片特征和文本特征做交叉注意力
在預訓練階段,它直接從互聯網挖掘大量語料,并讓圖片和其之后跟隨的文本做交互,是個很方便的自監督任務。詳細的論文解讀請看這里。
MetaLM[5]
微軟的MetaLM是一篇主打交互的工作,支持用語言模型作為交互接口,去調動其他模型執行各種任務:
考慮到單向LM更通用、雙向LM效果更好,作者把兩個做了結合:
最上層的綠色模型是單向,更general,支持多種任務的執行
下面可以接多個藍色的雙向模型,給圖片、語音等數據編碼
對于文本預訓練,主要做單向LM,同時隨機選擇一些span進行雙向編碼
對于圖像預訓練,直接選用了一些text-image數據進行預訓練,這里其實也可以參考Flamingo的做法
知識融入
對于知識融入,現在大家一般都傾向調用搜索引擎來召回,但也有其他問題:
如何用一個模型生成搜索query、同時聚合結果
如何融入對話內學到的知識,比如我跟機器說了我的三維,讓它去給我買衣服
BlenderBot
Meta的BlenderBot的做法是設計一個又些fancy又有些復雜的系統,單獨訓練模型去判別是否要搜索、生成搜索query、根據結果生成最終回復。對于對話內的知識,設計了一個更復雜的memory模塊,用模型總結對話內容,需要的時候再去檢索。
LaMDA
相比之下LaMDA則更優雅,一個模型搞定一切策略,通過模型輸出的第一個token去決定要干什么。比如下圖就是:
模型先生成一個草稿回復
生成過程中自動識別到應該去搜索,于是又開始生成「TS,搜索詞...」
拿到搜索結果后聚合,生成最終結果「User,結果...」
迭代閉環
其實這個不完全算科研,主要是工業落地和產品設計方面的需要。Meta的BlenderBot3在產品設計上進行了一些嘗試,用戶可以提供如下反饋:
對于BlenderBot的某個回復點贊/點踩
點踩之后會出一個問卷,用戶可以反饋點踩原因
反饋之后,機器人會進一步問用戶自己哪里錯了,從而繼續聊天。這里還是設計蠻巧妙的,參見下圖:
最終實驗發現,用戶對于某個模塊的反饋越精細,訓練效果越好。未來作者會繼續收集用戶的數據優化系統,但持續學習的方式是否能一直提升效果還有待探索。
創新產品
相比科研來說,今年最讓我意外的是對話相關的創新產品,對話最開始跟著alphaGo火了一次,這幾年基本就三個應用方向:
閑聊:微軟小冰、圖靈機器人等
AI助手:Siri、Alexa、小度、天貓精靈、小米小愛等
智能客服:追一科技等
到了今年,我覺得以后長期是往兩個方向在做對話產品了:
陪伴型:認為對話模型要不斷接近「人」。(是AGI了,但也太難了,而且像人一樣說話,就是通用AI了嗎?)
任務型:把AI當作工具,以語言為交互方式,替代簡單重復性工作、快速查找信息。短期內這個方向的實現會更快,商業價值也更高。
陪伴型
陪伴型的閑聊機器人在商業上一直不是太成功,沒想到隨著大模型+元宇宙等眾多因素,又以不同的形態卷土重來了。
彩云小夢
不管是生成文本還是圖像,模型效果的好壞和我們對結果的預期強相關。比如在體驗閑聊產品時,我潛意識會以圖靈測試的標準去要求它,那經常聊兩句就崩了。然而大模型在模糊度較大的生成上已經能拿到很好的效果了,比如最近Text2Image的火爆,如果prompt沒那么嚴格,那模型其實怎么生成都是對的。
所以虛擬角色對話在產品設計上有一個很好的點,就是反客為主,直接管理用戶的預期。預設一個場景,用戶也不用期待這個機器人什么都能聊,就跟它聊這些主題的東西即可。
測試下來,在「角色一致」上保持的比較好,畢竟是核心賣點,然而閑聊中還是會出現前后矛盾,以及不具備常識的地方。有興趣的同學可以自行試用。
小冰島
小冰島是一個玩法更多的產品。
在這篇采訪中,周力博士提到:
通過測試發現,即使在特別設計的使用者研究中,把用戶交流的對象AI偷偷換成真人,由于他并不認識你,也不了解你,真正能聊開的也不超過20%。因此20%是這種產品形態的一個極限,因為換成真人的時候也突破不了20%;而用AI肯定只會比人更低,不會比人更高。
所以小冰從產品設計上,加入了:
可以看AI的朋友圈,讓用戶以回憶為話題點去和AI聊。比如我看到一個朋友去南極了,那我下次碰見他大概率會聊這個事兒
加入了AI對談,比如我在小冰島走路的時候就看到兩個AI在那里說話,如果他們聊的話提用戶感興趣,也可能加入進去
不僅能在島上各種逛,還有專門聊天的界面,這個翰哥表情包用這么6我是沒想到的。。。
任務型
Adept[6]
在硬件上做簡單任務,比如查天氣、定鬧鐘,現有的助手都能做,更復雜的就難了:
復雜的任務有好多邏輯,調各種接口,算法er寫過的都懂
每換一種任務就要從新寫一套邏輯,可遷移性為0
結果沒想到Transformer的作者們放了一個大招出來,叫「Adept」。產品形態就是一個Chrome插件,輸入自然語言指令,它會自動在網站上執行任務,一口氣解決了上面的問題。更多介紹可以看這里,該產品目前還沒上線,如果效果真的炸裂估計會引爆一波創業潮,Adept瞄準的辦公流程自動化市場預計到2026年將增長到196億美元的規模,而之前智能音箱20年120億美元的規模就養活了那么多產品。
SayCan(Embodied AI)
Adept只適用于虛擬世界,而谷歌提出的SayCan則直接在現實世界做功。
具體的步驟是:
給機器人輸入自然語言指令
把指令變成Prompt,利用LaMDA把指令分解成skill,這些skill都是提前用RL訓練好的(比如機械手拿起眼前的物體就是一個skill)
通過訓練好的價值函數,聯合LM給出skill的概率分布,執行概率最大的
執行完第一個skill之后,再拼接成新的prompt生成第二個skill
這類工作我之前專門介紹過,叫Embodied AI,通過自然語言操控智能體完成虛擬環境、現實世界中的任務,其實跟對話的大方向也有些不謀而合。
總結
2022注定是個不一樣的年份,但我記得吳軍老師說過一句話:歷史總在重演,科技永遠向前。時代難免有周期,但如果我們把耐心加長,技術始終是螺旋上升的。
我相信,隨著技術的逐漸進步,以及智能座艙、智能家居、VR的普及對用戶習慣的潛移默化,自然語言在一些場景會逐漸替代GUI成為一種新的人機交互形式。在自然語言交互下,會產生一批新的工具產品、內容產品。
從過去十年的進展來看,這一天,一定不會太遠。
一起交流
想和你一起學習進步!『NewBeeNLP』目前已經建立了多個不同方向交流群(機器學習 / 深度學習 / 自然語言處理 / 搜索推薦 / 圖網絡 / 面試交流 /?等),名額有限,趕緊添加下方微信加入一起討論交流吧!(注意一定o要備注信息才能通過)
參考資料
[1]
Towards a Human-like Open-Domain Chatbot: https://arxiv.org/abs/2001.09977v2
[2]LaMDA: Language Models for Dialog Applications: https://arxiv.org/abs/2201.08239
[3]Building safer dialogue agents: https://www.deepmind.com/blog/building-safer-dialogue-agents
[4]Flamingo: a Visual Language Model for Few-Shot Learning: https://arxiv.org/abs/2204.14198
[5]Language Models are General-Purpose Interfaces: https://arxiv.org/abs/2206.06336
[6]Adept介紹: https://www.adept.ai/about-us
總結
以上是生活随笔為你收集整理的2022年对话技术梳理:科研进展、产品创新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么要进行外贸网站的建站?
- 下一篇: C语言课设——图书信息管理系统