明敏 發自 凹非寺
量子位 | 公眾號 QbitAI
語言模型總是給出“驢唇不對馬嘴”的答案,已經成為它最飽受詬病的問題之一。
現在,DeepMind想到了一個解決辦法——
讓模型像人類一樣,學會“谷歌一下”,回答問題同時還能給出
論據
。
這個模型名叫
GopherCite
,當你問它:
GopherCite是如何找到論據來源的?
它會回答:
透過谷歌搜尋檢索相關文件。
同時還給出了答案的依據,援引自DeepMind釋出這項研究的頁面。
而且遇到實在不懂的問題,它還會說“I don’t know。”,不會強行給一個錯誤答案。
訓練結果顯示,該模型在自然問題資料集、ELI5資料集上的正確率分別可以達到
90%
、
80%
,接近人類水平。
用強化學習訓練AI查谷歌
首先我們來看一下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的基礎上,研究人員開發了一種獎勵機制,也就是用上
強化學習
。
在收到問題後,模型會訪問谷歌搜尋的API來找到相關的網頁,獲取top-K結果。
(top-K操作,即從分數集合中找到k個最大或最小元素,是一個重要的機器學習模型元件,被廣泛用於資訊檢索和資料探勘中。)
然後它會根據問題來生成一些答案,答案數量N會大於K。
這些答案同時會帶有自己的證據,即從網頁上搜索到的包含答案的文段。
接下來,系統會對這些答案進行打分,最終輸出
得分最高
的答案。
在推理過程中,模型取樣會按照迴圈在文件上不斷迭代,每個迴圈都會從單個文件中儘可能多地顯示上下文內容,然後對文字重新排序並返回給上一步。
此外,這個模型還會計算最終生成答案的質量,如果生成答案太差,它就會選擇不回答。
這是源於紅牛的廣告語:“它會給你翅膀”。
在ELI5Filtered資料集上回答70%的問題時,正確率為80%左右。
DeepMind表示這種訓練模式和
LaMDA
有些類似。
LaMDA是谷歌在去年I/O大會上釋出的一個對話模型,它能夠在“聽懂”人類指令的基礎上,對答如流並保證邏輯、事實正確。
不同的是,LaMDA有時會直接給人分享問題的相關連結,而GopherCite可以直接摘出相關論據文段。
另外,OpenAI最近也開發了一個
網頁版GPT
(WebGPT)
,同樣也是用類似的方法來校正GPT-3。
DeepMind表示,WebGPT是透過多次訪問網頁來組織答案,GopherCite則是側重於讀取長文段。
還是會有失誤
雖然懂得援引資料了,但是GopherCite有時還是會生搬硬套。
比如當你問它“喝了紅牛會怎麼樣?”,它的回答是“
翅膀
”。
這是源於紅牛的廣告語:“它會給你翅膀”。
顯然讓它理解比喻還是有點困難……
也有網友吐槽說,可能人類自己去谷歌搜尋會更快。
你覺得呢?
參考資料:
https://deepmind。com/research/publications/2022/GopherCite-Teaching-Language-Models-To-Support-Answers-With-Verified-Quotes
— 完 —
量子位 QbitAI · 頭條號簽約