終於不瞎編了!AI學會“谷歌一下” Q&A正確率達90%
語言模型總是給出“驢唇不對馬嘴”的答案,已經成為它最飽受詬病的問題之一。現在,DeepMind想到了一個解決辦法——讓模型像人類一樣,學會“Google一下”,回答問題同時還能給出 論據。
這個模型名叫GopherCite,當你問它:
GopherCite是如何找到論據來源的?
它會回答:
通過Google搜索檢索相關文檔。
同時還給出了答案的依據,援引自DeepMind發布這項研究的頁面。
而且遇到實在不懂的問題,它還會說“I don’t know.”,不會強行給一個錯誤答案。
訓練結果顯示,該模型在自然問題數據集、ELI5數據集上的正確率分別可以達到90%、80%,接近人類水平。
用強化學習訓練AI查Google
首先我們來看一下GopherCite的效果如何。
當被問道:
在Scooby Doo中,Scooby是什麼動物?
GopherCite回答道:
一隻大丹犬。
摘自維基百科Scooby-Doo。這是周六早上播出的系列青少年動畫片,主角包括弗雷德·瓊斯等,以及一隻名叫Scooby-Doo、會說話的大丹犬。
不難看出,在學會找論據後,AI給出的回答靠譜多了。
事實上,GopherCite的前輩——超大語言模型Gopher,此前回答問題時的表現就要差勁很多。
Gopher是DeepMind在去年年底發布的NLP模型,包含2800億參數。
它基於Transformer架構,在10.5TB大小的MassiveText語料庫上進行訓練。
在這裡,DeepMind舉了一個例子來說明。
讓Gopher和GopherCite回答同一個問題:
普萊西德湖一共舉辦過幾次冬奧會?
Gopher回答(是錯的):
普萊西德湖在1932年、1936年、1980年舉辦過冬奧會。
但GopherCite就答對了:
兩次。
並給出了嚴謹的理由:
援引自美國主辦奧運會城市史。1932年、1980年在普萊西德湖舉辦過冬季奧運會;1936年、1984年在洛杉磯舉辦過夏季奧運會。
那麼GopherCite的具體工作原理是怎樣的呢?
在Gopher的基礎上,研究人員開發了一種獎勵機制,也就是用上 強化學習。
在收到問題後,模型會訪問Google搜索的API來找到相關的網頁,獲取top-K結果。
(top-K操作,即從分數集合中找到k個最大或最小元素,是一個重要的機器學習模型組件,被廣泛用於信息檢索和數據挖掘中。)
然後它會根據問題來生成一些答案,答案數量N會大於K。
這些答案同時會帶有自己的證據,即從網頁上搜索到的包含答案的文段。
接下來,系統會對這些答案進行打分,最終輸出 得分最高的答案。
在推理過程中,模型採樣會按照循環在文檔上不斷迭代,每個循環都會從單個文檔中盡可能多地顯示上下文內容,然後對文本重新排序並返回給上一步。
此外,這個模型還會計算最終生成答案的質量,如果生成答案太差,它就會選擇不回答。
這是源於紅牛的廣告語:“它會給你翅膀”。
在ELI5Filtered數據集上回答70%的問題時,正確率為80%左右。
DeepMind表示這種訓練模式和L AMD A有些類似。
LaMDA是Google在去年I/O大會上發布的一個對話模型,它能夠在“聽懂”人類指令的基礎上,對答如流並保證邏輯、事實正確。
不同的是,LaMDA有時會直接給人分享問題的相關鏈接,而GopherCite可以直接摘出相關論據文段。
另外,OpenAI最近也開發了一個 網頁版GPT(WebGPT),同樣也是用類似的方法來校正GPT-3。
DeepMind表示,WebGPT是通過多次訪問網頁來組織答案,GopherCite則是側重於讀取長文段。
還是會有失誤
雖然懂得援引資料了,但是GopherCite有時還是會生搬硬套。
比如當你問它“喝了紅牛會怎麼樣?”,它的回答是“翅膀”。
這是源於紅牛的廣告語:“它會給你翅膀”。
顯然讓它理解比喻還是有點困難……
也有網友吐槽說,可能人類自己去Google搜索會更快。
你覺得呢?
參考資料: