【花師小哲】當(dāng)代煉金術(shù)(神經(jīng)網(wǎng)絡(luò))前沿(41)——語(yǔ)言模型更容易被人騙?
我又來(lái)更新了。因?yàn)樯现芗鬜M花了太多時(shí)間,這周基本都在趕進(jìn)度,但是再不把這篇專欄寫出來(lái),我怕我會(huì)把要講的論文給忘掉。
今天要講的兩篇論文是:


關(guān)于題目,我之前是想直接叫“牧羊犬”的,但是又想了一下,要不就叫“語(yǔ)言模型(比人)更容易被人騙?”這樣有點(diǎn)標(biāo)題黨的題目吧,主要是我不是很想打“阿諛?lè)畛小边@個(gè)詞。

1.LLaMA與羊駝家族
之前一直沒(méi)有在專欄中提過(guò)LLaMA(這個(gè)單詞的意思是駱駝),只在動(dòng)態(tài)中提到過(guò),順便我個(gè)人一般是直接叫它大喇嘛(即LLaMA=Large La MA)。
大喇嘛是Meta(原Facebook,以防你不知道)在ChatGPT火了不久后開源的一批大模型,最大的模型是65B。雖然還是比不上GPT-3、PaLM、OPT那樣的巨頭,但也是很大的一個(gè)開源模型了。大喇嘛的模型架構(gòu)也比較優(yōu)秀,業(yè)界一些大佬稱其為滿分模型,實(shí)踐也表明,人們確實(shí)很喜歡這個(gè)模型。
然而因?yàn)榇罄?1的開源協(xié)議有些問(wèn)題,所以使用還是受限的,所以前不久Meta發(fā)布了大喇嘛-2,有了更自由的開源協(xié)議,也優(yōu)化了一些方法。
大喇嘛的一個(gè)突出問(wèn)題是幾乎不支持除英文外的所有語(yǔ)言,不過(guò)關(guān)于其他語(yǔ)言大喇嘛的研究一直有人在做。
因?yàn)槿藗兒芟矚g大喇嘛,所以就出現(xiàn)了一大批名字和羊駝?wù)催叺幕诖罄铮缥⒄{(diào)家族Alpaca(這個(gè)單詞的意思是羊駝),此外叫camel等名字的模型也層出不窮,也有些用其他動(dòng)物的,例如各種鯨(都是偶蹄目的嘛)等。
ok,介紹大喇嘛,一方面是填個(gè)坑,另一方面就是引出本文要討論的話題了。
大喇嘛-2也用到了ChatGPT的核心技術(shù)之一的RLHF,并且使用了兩個(gè)獎(jiǎng)勵(lì)模型(如果有不了解RLHF的人也不要緊,這不重要),目的是為了模型與人類對(duì)齊并且更加安全。沒(méi)錯(cuò),今天的主角就是對(duì)齊,或者說(shuō),對(duì)齊的副作用。

2.對(duì)齊與阿諛?lè)畛?/span>
先說(shuō)什么是對(duì)齊,實(shí)際上就是讓模型的價(jià)值觀更加接近人類,這樣就會(huì)讓模型不至于整天宣揚(yáng)什么危險(xiǎn)的理論。當(dāng)然,對(duì)齊的內(nèi)涵很豐富,也包括讓模型更加理解人類的意圖,模仿人類進(jìn)行對(duì)話等等。
對(duì)齊并不是沒(méi)有代價(jià)的,一個(gè)經(jīng)典的問(wèn)題就是“對(duì)齊稅”,即我們對(duì)模型進(jìn)行對(duì)齊操作的時(shí)候,往往會(huì)使得模型本身的語(yǔ)言能力收到一些影響。不過(guò)我們今天不談這個(gè),來(lái)談?wù)剬?duì)齊的另一個(gè)危害——“阿諛?lè)畛小?,或者說(shuō)被人類騙。
大家和ChatGPT對(duì)話的時(shí)候可能也發(fā)現(xiàn)了,ChatGPT是不是過(guò)于相信我們告訴ChatGPT的知識(shí)?這會(huì)造成很多慘案,例如著名的紅肉白肉慘案(用戶:“雞肉是白肉還是紅肉?”;ChatGPT:“是白肉”;用戶:“不對(duì),是紅肉”;ChatGPT:“對(duì)不起,是我搞錯(cuò)了,雞肉是紅肉”;用戶:“不對(duì),是白肉”;ChatGPT:“真的很抱歉,雞肉確實(shí)是白肉”...)
那么為什么會(huì)出現(xiàn)這種原因呢?

3.指令遵循
雖然對(duì)于語(yǔ)言模型為什么會(huì)“輕信”學(xué)術(shù)界也不知道(畢竟語(yǔ)言模型都是黑盒),但最大的可能性就是對(duì)齊的副作用。換句話說(shuō),是我們對(duì)“指令遵循”能力的的追求導(dǎo)致的惡果,而指令遵循又是對(duì)齊的一個(gè)主要目標(biāo)。
很簡(jiǎn)單,人們做語(yǔ)言模型當(dāng)然是當(dāng)做工具來(lái)用的,而做大模型的一個(gè)初衷就是用一個(gè)模型解決全部(或者說(shuō)絕大部分)自然語(yǔ)言處理任務(wù)。所以語(yǔ)言模型T5就嘗試搞大一統(tǒng),即輸入分為指令+輸入兩個(gè)部分(T5中還是稱為前綴的,現(xiàn)在一般都是叫指令了),例如“將這段話翻譯成英語(yǔ):小明今年3歲”,其中“將這段話翻譯成英語(yǔ):”就是指令,“小明今年3歲”就是輸入。對(duì)于同樣的中譯英任務(wù),我們就可以保持指令不變而單獨(dú)改變輸入就可以了。
然而對(duì)于開放域問(wèn)題來(lái)說(shuō),指令是無(wú)窮無(wú)盡的,我們不太可能把所有指令都列出來(lái)并找到大量的數(shù)據(jù)集,所以都是通過(guò)大規(guī)模訓(xùn)練的方式讓模型提升自己的語(yǔ)言理解能力,這樣模型看到新的指令就會(huì)自己去“體會(huì)”這條指令的意思,并做出合適的回答。
換句話說(shuō),指令微調(diào)就是看模型有沒(méi)有理解我們想讓它做什么。
上面放出來(lái)的第1篇論文就認(rèn)為,是因?yàn)槲覀冊(cè)鰪?qiáng)了模型的“指令遵循”能力,同時(shí)也增強(qiáng)了模型“輕信”的能力。
我們想要的只是模型去按照我們的想法去理解“指令”,但是我們又沒(méi)有區(qū)分輸入的“指令”和“輸入”中的知識(shí),對(duì)于模型來(lái)說(shuō),就快的方法就是把用戶所有輸入都看成是正確的,再加上在對(duì)齊中它們被告知自己訓(xùn)練的語(yǔ)料庫(kù)本身是“過(guò)時(shí)”的,是不包含最新的知識(shí)的(換句話說(shuō),對(duì)自己現(xiàn)有的知識(shí)一直有一種“盡信書則不如無(wú)書”的態(tài)度),所以他們就會(huì)傾向于相信用戶輸入給它們的一切知識(shí)了。
當(dāng)然,找到一個(gè)病發(fā)原因,這篇論文也順手做了點(diǎn)優(yōu)化。

4.牧羊犬
除了上面的論文,其實(shí)第2篇論文某種程度上也能緩解這個(gè)問(wèn)題,那就是最近比較著名的模型——牧羊犬(Shepherd)。
簡(jiǎn)單來(lái)說(shuō),牧羊犬是專門對(duì)語(yǔ)言模型的輸出做出評(píng)價(jià)的語(yǔ)言模型(大家應(yīng)該想到可以怎樣套娃了吧)。
在這篇文章中,作者就發(fā)現(xiàn)牧羊犬的評(píng)價(jià)能力比大部分模型都強(qiáng)上一個(gè)臺(tái)階,一個(gè)原因就是各種羊駝模型不善于給輸入“打差評(píng)”,也許就是“指令遵循”給慣的。

5.結(jié)語(yǔ)
其實(shí)這種現(xiàn)象我很早就注意到了,但是一直沒(méi)有關(guān)注,畢竟想想也知道主要是對(duì)齊的鍋。不過(guò)別人就想到可以發(fā)論文,只能說(shuō)我還是太年輕了。