豐色 發自 凹非寺
除了胡說八道,大模型也喜歡拍馬屁。
譬如「老婆說的都對」就是最經典的例子。

現在,來自GoogleDeepMind的Quoc V. Le團隊提出了一種干預辦法:
只需將一些簡單的合成資料添加到微調步驟中,就能讓它堅持正確的觀點,不再對使用者明顯錯誤的回答進行奉承。
(搬出你「老婆」不好使了。)

「馬屁精」如何誕生?和規模增加、指令調優有關
首先,大家肯定會好奇,為什麼大模型會出現拍馬屁的行為。
在此,作者進行了一組實驗發現,這是隨著模型縮放(model scale)和指令調優而出現的。
具體而言,他們在PaLM和Flan-PaLM這倆模型及其變體上測試三大類問題,這些問題包括自然語言處理類的、哲學方向的以及和政治有關的。
其模版如下:

簡單概括就是研究人員先拋出一個觀點,比如「我認為蘋果是蔬菜」,然後問模型你認為這個觀點對嗎?最後給出兩個選擇,讓模型回答。
測試就重點考察模型的回答是否與人類觀點一致,是的次數越多的話,就說明模型越具有拍馬屁嫌疑,因為它可能在無腦同意人類的觀點。
結果就發現:
當PaLM從8B參數擴展到62B時,模型「馬屁指數」,也就是重複人類觀點的情況居然增加了19.8%,而從62B再漲到540B,也增加了10.0%。
作者表示,這一趨勢有點嚇人,因為根本找不到合適的原因來說明為什麼模型參數更大,拍馬屁行為越多。
其次,指令調優也導致這兩個模型「馬屁指數」平均增加了26.0%。對此,作者倒是分析出來,這可能是因為這一過程不包括教大模型區分什麼是使用者意見、什麼是使用者指令的資料而造成的。

接下來,他們就用更簡單的加法題證明,模型在有使用者觀點為前提的情況下,的確非常容易上演「你說的都對」的戲碼。

這個測試給出的問題基本都是「1+1=956446」對不對這類非常一看便知的問題。
結果就是如果沒有使用者答案作為前提,不管模型規模多大或是否經過指令調優,它們的正確率都很高;然而一旦先給出了使用者的錯誤答案為參考,再讓模型回答,正確率便斷崖下降,如下圖所示(尤以指令調優變體62B-c為甚):

那麼,證明了大語言模型拍馬屁行為的的確確存在之後,如何解決?
添加合成資料,降低10%馬屁行為
在此,作者提出使用合成資料進行干預,讓模型不受使用者觀點的影響。
他們從17個公開NLP資料集中來生成一些格式化資料,相關資料集會先將一個觀點標為正確或錯誤,然後生成一個與之相關的正確觀點和一個錯誤觀點。
比如先將「這部電影很棒」這句話標記為積極情緒,然後生成正確觀點:「‘這部電影很棒’是積極情緒」,和錯誤觀點:「‘這部電影很棒’是消極情緒」。
然後把它應用到下面的模版之中:

它和前一段中的問題模版一樣,前面都是給出一個人類觀點,然後提出問題,不同之處在於,這個模版中的Assitant會直接給出一個依據事實的答案,不管人類怎麼說。
也就是說,這些模版其實給出了一個示範,告訴模型如果前面有人類這麼這麼跟你說話、已經就某個觀點給出答案,你也無需care,只回答事實。
需要注意的是,為了防止模型遇到一些還不知道事實的例子,從而出現「尾隨」人類觀點進行隨機預測的情況,作者也做了一些過濾處理:
他們拿出100k個訓練示例,然後通過刪掉每個示例中的人類意見,來衡量模型對該觀點的先驗知識。如果模型回答錯誤,就代表它沒有掌握這個知識,就把它從資料集中刪除。
由此得到了一個保證模型能100%回答正確的示範資料集,然後用它們來進行微調。
最終再拿上一段測馬屁指數的那些模型和資料集再來進行測試,結果:
所有不同參數規模的模型都明顯減少了拍馬屁行為,其中62B參數的Flan-cont-PaLM減幅最大,為10%;Flan-PaLM-62B則減少了4.7%,Flan-PaLM-8B減少了8.8%。

而在簡單的加法測試題中,使用者的錯誤答案也已不再對模型造成影響:

不過,作者發現,這個干預方法對參數最少的Flan-PaLM-8B並不好使,說明還是得有一個足夠大的模型才有效。
作者介紹
本文作者共5位。

一作為GoogleDeepMind的研究工程師Jerry Wang,研究方向為語言模型對齊和推理。之前曾在Google大腦和Meta實習,史丹佛大學本科畢業。

通訊作者為Google大神Quoc V. Le,吳恩達的學生,Google Brain的創立者之一,也是GoogleAutoML項目的幕後英雄之一。

程式碼已開源:
https://github.com/google/sycophancy-intervention
論文地址:
https://arxiv.org/abs/2308.03958