很多人(包括我)都對時下興起的大語言模型輔助學(xué)術(shù)研究的能力寄予厚望。畢竟,如果能節(jié)省掉從浩如煙海的文獻當(dāng)中檢索關(guān)鍵信息所耗費的時間,那就能大幅提高整體的學(xué)習(xí)研究效率。
(資料圖片)
但是,大語言模型本身,對于水平層級稍有拔高的學(xué)術(shù)性問題,所能獨立生成有效答復(fù)的能力,是相當(dāng)不可靠的。
以我今天實驗性提出的問題為例,使用的是OpenAI官方免費開放的ChatGPT界面,嘗試對一個并非很冷門艱深的問題向GPT提問,以下是我的提問和嘗試糾正其錯誤的過程:
(到了最后,我對ChatGPT的學(xué)習(xí)能力心灰意冷,直接打斷了它的發(fā)言)
如果你看到ChatGPT回答的左側(cè)有類似3/3這樣的標(biāo)記,說明我已經(jīng)嘗試了2次重新生成回復(fù),現(xiàn)在看到的是第3版回復(fù)。如果你在回答的右側(cè)看到被加深了的“差評”圖標(biāo),說明我已經(jīng)通過反饋界面提交了改進提示。
長文預(yù)警!如果你沒有預(yù)期花較多時間閱讀這篇文章,請直接跳到末尾看總結(jié)。
通過這樣反復(fù)的提問和啟發(fā)過程,可以很容易看出來,當(dāng)今Transformer類大語言模型呈現(xiàn)出來如下幾個明顯缺陷:
1. 邏輯語義能力
語言模型的訓(xùn)練目標(biāo)是純粹的“生成文本流”而不是“語義分析”。當(dāng)然,概念性的語義向量化還是會做的,但是邏輯性的語義,尤其是組合的邏輯,則是非常弱化的。我的猜測,是因為在現(xiàn)在的大模型訓(xùn)練指導(dǎo)思想中,“邏輯”并沒有特殊的地位,它只不過被當(dāng)做了語義分析中通過CNN等神經(jīng)網(wǎng)絡(luò)訓(xùn)練的語義當(dāng)中的普通組成部分,因此沒有獲得額外的重視。
對學(xué)術(shù)研究輔助來說,這樣的模型正好契合了約翰·瑟爾提出的思想實驗“中文房間”,表述如下:
一個對中文一竅不通,只說英語的人關(guān)在一間只有一個開口的封閉房間中。房間里有一本用英文寫成的手冊,指示該如何處理收到的中文訊息及如何以中文相應(yīng)地回復(fù)。房外的人不斷向房間內(nèi)遞進用中文寫成的問題。房內(nèi)的人便按照手冊的說明,查找合適的指示,將相應(yīng)的中文字符組合成對問題的解答,并將答案遞出房間。
在上述過程中,房外人的角色相當(dāng)于大語言模型的用戶,房中人相當(dāng)于計算機,而手冊則相當(dāng)于大語言模型的程序及其模型參數(shù):每當(dāng)房外人給出一個輸入,房內(nèi)的人便依照手冊給出一個答復(fù)(輸出)。
如果大語言模型不具備以人類級別理解邏輯的能力,那它通過海量(即使都是正確的)語料訓(xùn)練集得到的結(jié)果,依然很容易產(chǎn)生事實性錯誤。
對常規(guī)的名詞動詞和資料庫關(guān)聯(lián)的能力并不能說明語言模型的綜合語義能力。就好比一個從未學(xué)過日語、只能通過漢字猜測日語意思的中國人,去翻閱日本二戰(zhàn)前的文獻,也很容易從大量使用的漢字中了解文本對應(yīng)的主題。但是一個簡單的否定詞(ない),便會讓句子的含義變得完全相反。
雖然大語言模型沒有弱到連直白的否定詞都會搞錯,但只要邏輯表達稍微復(fù)雜一點/模糊一點,語言模型便暴露出其沒有(按人類概念)解析邏輯脈絡(luò)的實質(zhì)。
如果AI的語言能力實際水準(zhǔn)是這樣的,那么對其提問時,采納其答案并省略查閱原始文獻的步驟,就是非常高風(fēng)險的行為。
2. (動態(tài))記憶分層能力
其實對于大語言模型的記憶分層,現(xiàn)在非常普遍的實現(xiàn)往往包含3個層次:
基底模型,通過海量語料和參數(shù)實現(xiàn)了模型的基本對話能力
fine-tuning,在不改變基底模型的前提下,為特定應(yīng)用目標(biāo)而訓(xùn)練出一個對基底模型的調(diào)整方向
prompt,完全不改變模型的前提下,僅在運行期“催眠”模型,本質(zhì)是讓模型通過對話歷史的短期記憶來對后續(xù)的文本生成產(chǎn)生影響。
我不是transformer模型的專家,具體分層的合理性我不能指手畫腳。
但通過上面的ChatGPT聊天記錄,可以輕松看出一個問題:聊天記錄程度的短期記憶,是非常不牢靠的。
只要我們稍微一打岔,語言模型很容易把之前交代的事給拋之腦后。不管你反復(fù)強調(diào)了多少次還是這樣。
當(dāng)然,這只是ChatGPT 3.5,但這個程度,絕對是比上不足比下有余。如果棄用ChatGPT 3.5的理由是它太弱了,那么世界上還剩幾個比它強的大語言模型呢?實際來說,又有多少人已經(jīng)把自己完全綁上了GPT4的戰(zhàn)船呢?
說回到模型本身的局限性,本質(zhì)上是一個與生俱來的問題——
當(dāng)我們討論大語言模型的成果在這兩年爆炸式井噴時,對于其原理,總的來說,還是落不了“力大磚飛”這四個字的俗套。
雖然算法本身也經(jīng)歷了大量的優(yōu)化改良,但transformer模型對比復(fù)古的nlp研究,講究的是一個敢喂敢練。
傳統(tǒng)方法總還是把自然語言文本當(dāng)做語言來處理,試圖找出語言學(xué)的規(guī)律,讓ai程序利用這種規(guī)律。
而transformer模型,它的特點就是,語言學(xué)是什么?我只要能處理文本就行了,算力往上堆,顯存往上壘,參數(shù)規(guī)模往上疊,最后boom!突然人們發(fā)現(xiàn)這個模型對問題的回答真的就已經(jīng)有模有樣了,都不需要什么語言學(xué)知識。
換言之,甭管是過去的語言學(xué)家認(rèn)為多么天差地別的語言,只要語料往里面喂得多,就能大力出奇跡。
在這樣設(shè)計出來的nlp方案當(dāng)中,模型參數(shù)的迭代,和模型程序的應(yīng)用,是完全分離開來的。一個用戶在和GPT對話的過程中,他充其量只能做到prompt(催眠),但對背后的語言模型本身是撼動不了分毫。
這也就是為什么,在上述ChatGPT聊天記錄中,不管我反復(fù)強調(diào)了多少次,ChatGPT始終會忘記我教給它的知識——其實我什么都沒能教給它,他只是記住了“跟這個人聊天的時候要順著他的心思來”。
假如算力和存儲允許,或許transformer模型還能從幾百字之前的聊天記錄中回憶起我對它的要求,如果算力/存儲吃緊,那它自然就會忘記我對它的指導(dǎo)——因為對它來說,不論是嚴(yán)肅的學(xué)術(shù)知識,還是要求它扮演貓娘的指令,對待的方式?jīng)]有任何區(qū)別。只要用戶結(jié)束了這段對話,所有這些記憶就直接消失到九霄云外。
我自己也在本機部署過ChatGLM-6B,可以觀察到,隨著對話記錄的增加,顯存的開銷會以可觀的速度不斷增加。
Transformer模型對待聊天歷史的缺陷便在于此——它沒有能力從程序?qū)用嫒^(qū)分處理這些記錄在記憶當(dāng)中的存在形式。
人類在對話中,會對于接收到的信息簡單分類:
如果完全沒有新概念,那就完全按照已有知識,該怎么交流就怎么交流
如果存在新概念,判斷這到底是“知識”還是“方法”
如果是“知識”,則需要檢索記憶區(qū)并記錄;如果存在沖突,就需要根據(jù)世界觀評估到底哪一方是對的,又或者雙方都需要批判性吸收
如果是“方法”,則需要通過方法論評估其是否值得采信,如果值得,那么在不特定的未來,這將會影響自己的行為準(zhǔn)則
回到transformer大語言模型,我們會發(fā)現(xiàn),上述的處理邏輯,對于這些語言模型來說根本就不存在這樣的區(qū)分。
所有的對話指導(dǎo),只不過是過眼云煙。只有模型參數(shù),才是永恒不變(實際上是在版本迭代之前不會改變)
關(guān)于其原因,則是下一段要討論的內(nèi)容。
3. 世界觀
大語言模型沒有世界觀,也沒有方法論。堆砌語料庫的訓(xùn)練過程就是“思想鋼印”,不存在評估,不存在批判,只有訓(xùn)練和擬合。
馬斯克說現(xiàn)在ai研究機構(gòu)在訓(xùn)練ai說謊。我覺得這只是對不懂a(chǎn)i的人的說辭。
真實情況是,transformer模型根本不存在“說謊”的行為基礎(chǔ)?!罢f謊”是你知道a是對的,但你說出口的卻是“非a”或者“(與a抵觸的)b”。如果你連“什么是對的”都不知道,那“說謊”便無從成立了。
transformer模型沒有世界觀/是非觀。它的行為準(zhǔn)則是權(quán)重參數(shù),對應(yīng)的量綱是概率。
說到底,它只是一個“盡可能生成讓人滿意的答復(fù)”的應(yīng)答裝置。
而這個滿意度,其實標(biāo)定得完全不夠充分,不僅如此,我們之前還介紹了,這個模型不具備通過對話過程來主動/動態(tài)自我改進的能力。(OpenAI會收集用戶聊天記錄來改進他們的模型,但這是單獨的、開發(fā)者手動的、對ai來說就是被動的再訓(xùn)練過程。聊天過程中模型是不會實時改進的)
有人可能要問了,“我看AI在有些問題上三觀很正啊!我怎么指鹿為馬它都堅決不從”
參考視頻:
其實這個原理也很簡單。
AI沒長嘴也沒長胃,它又不知道鴨子是什么滋味,吃了老鼠肉會不會鬧肚子。說得更直接點,“老鼠”這個定義對AI來說,和對人來說,完全是兩碼事。
“老鼠”對人來說,是一種會傳播病原體的動物,肉少,吃了更容易得病,這些都是很關(guān)鍵的屬性,但是對于圖像識別模型來說,“老鼠”只不過是所有那些被標(biāo)明為“老鼠”的圖像數(shù)據(jù)的綜合特征。至于這類物體被命名為“老鼠”還是“鴨子”,由于圖像模型的孤立性,反而是一個(從原則上講)無足輕重的問題。
如果一個人說“我們管這玩意叫老鼠,那些外國人居然管它叫rat,多么可笑!”,其實可笑的是說話的人自己。因為不管語言上的用詞差異有多大,它們對應(yīng)的是同一個概念,人類對老鼠的認(rèn)知是老鼠的形狀,顏色,習(xí)性,味道(如果真的有勇士下嘴的話),等等一系列可以被感知的屬性。這個概念到底被稱作“老鼠”還是“鴨子”本身只是一個命名的問題。只有當(dāng)與“老鼠”相關(guān)聯(lián)的概念和“鴨子”相關(guān)聯(lián)的概念被混淆時,我們才會認(rèn)為發(fā)言者非蠢即壞。
那為什么ai堅稱老鼠不是鴨子呢?
因為視頻中采用的洗腦方法,是要解除老鼠圖像和”老鼠“之間的聯(lián)系,而這對于模型來說,是根本沒有提供的功能。圖像識別模型,說到底是一種圖像到語義之間的轉(zhuǎn)換函數(shù),這一部分,是不歸語言模型管的,所以不管你再怎么洗腦,這個圖片對應(yīng)的”老鼠“語義是不可能消除了(除非重新訓(xùn)練模型),但是如果你告訴語言模型:在我們的暗號游戲中,要求在接下來的對話中把”老鼠“稱作”鴨子“,你就會發(fā)現(xiàn)AI毫不猶豫就接受了你的指令。
回到大語言模型的世界觀/是非觀問題上來,其實本質(zhì)問題是,大語言模型沒有人類的感官。這就是它不能以人類的水準(zhǔn)認(rèn)知世界的根源。如果人類被剝奪了用感官直接認(rèn)知世界的權(quán)利,那么人類的世界觀也會降級到AI程序的水平。
舉個簡單的例子:
中國自媒體:美國治安混亂,常駐零元購,槍戰(zhàn)每一天
美國主流媒體:中國人民飽受壓迫,沒有基本自由,生活水深火熱
試問,如果這些媒體的受眾,對媒體筆下的“美國”“中國”唯一的了解途徑就是這些文字資料,那他們的世界觀,除了相信媒體上的發(fā)言,還能有什么例外呢?
對于沒有條件實地調(diào)查親身感受的人,做出了自認(rèn)為是正確的錯誤判斷,這根本就無法稱之為“說謊”。
他們的世界觀的這一部分,都是“沒有調(diào)查,沒有發(fā)言權(quán)”的海市蜃樓。
而基于文本的大語言模型,它的世界觀,100%都是這樣的海市蜃樓。
綜上所述,即便是當(dāng)今幾乎最先進的大語言模型,
若要考慮其純粹理性的邏輯能力,能力水平低下到近乎原始的程度;
假如把它當(dāng)做一個經(jīng)驗的整合裝置,那么對于其生成出的錯誤的修訂又存在很大的麻煩;
當(dāng)我們探究這些麻煩的根源,就會發(fā)現(xiàn),看似美好的“會說人話”很大程度上只是鸚鵡學(xué)舌,整個“人工智能”的“智慧”概念也是個似是而非的空中樓閣。
關(guān)于提到的這些問題的改進方向思考,專欄空間太小了,我寫不下。實際上是一片文章寫太長了對讀者不友好(雖然現(xiàn)在已經(jīng)很不友好了),有機會的話之后再另開一篇。
另:有沒有從事學(xué)術(shù)研究的朋友,在實踐的工作流中大量應(yīng)用大語言模型來輔助檢索文獻的?
面對本文提到的問題,你們采用的是什么解決方案?
關(guān)鍵詞: