博客專欄

EEPW首頁(yè) > 博客 > 張俊林:由ChatGPT反思大語(yǔ)言模型(LLM)的技術(shù)精要(1)

張俊林:由ChatGPT反思大語(yǔ)言模型(LLM)的技術(shù)精要(1)

發(fā)布人:AI科技大本營(yíng) 時(shí)間:2023-02-21 來(lái)源:工程師 發(fā)布文章
ChatGPT出現(xiàn)后驚喜或驚醒了很多人。驚喜是因?yàn)闆](méi)想到大型語(yǔ)言模型(LLM,Large Language Model)效果能好成這樣;驚醒是頓悟到我們對(duì)LLM的認(rèn)知及發(fā)展理念,距離世界最先進(jìn)的想法,差得有點(diǎn)遠(yuǎn)。我屬于既驚喜又驚醒的那一批,也是典型的中國(guó)人,中國(guó)人善于自我反思,于是開始反思,而這篇文章正是反思的結(jié)果。


實(shí)話實(shí)說(shuō),國(guó)內(nèi)在LLM模型相關(guān)技術(shù)方面,此刻,距離最先進(jìn)技術(shù)的差距進(jìn)一步加大了。技術(shù)領(lǐng)先或技術(shù)差距這事情,我覺(jué)得要?jiǎng)討B(tài)地以發(fā)展的眼光來(lái)看。在Bert出現(xiàn)之后的一到兩年間,其實(shí)國(guó)內(nèi)在這塊的技術(shù)追趕速度還是很快的,也提出了一些很好的改進(jìn)模型,差距拉開的分水嶺應(yīng)該是在 GPT 3.0出來(lái)之后,也就是2020年年中左右。在當(dāng)時(shí),其實(shí)只有很少的人覺(jué)察到:GPT 3.0它不僅僅是一項(xiàng)具體的技術(shù),其實(shí)體現(xiàn)的是LLM應(yīng)該往何處去的一個(gè)發(fā)展理念。自此之后,差距拉得越來(lái)越遠(yuǎn),ChatGPT只是這種發(fā)展理念差異的一個(gè)自然結(jié)果。所以,我個(gè)人認(rèn)為,拋開是否有財(cái)力做超大型LLM這個(gè)因素,如果單從技術(shù)角度看,差距主要來(lái)自于對(duì)LLM的認(rèn)知以及未來(lái)應(yīng)往何處去的發(fā)展理念的不同。
國(guó)內(nèi)被國(guó)外技術(shù)甩得越來(lái)越遠(yuǎn),這個(gè)是事實(shí),不承認(rèn)也不行。前陣子網(wǎng)上很多人擔(dān)憂說(shuō)國(guó)內(nèi)AI現(xiàn)在處于“危急存亡之秋”,我覺(jué)得倒也不至于這么嚴(yán)重。君不見,這個(gè)世界上,具備這么超前眼光的只有OpenAI一家嗎?包括Google在內(nèi),其實(shí)對(duì)于LLM發(fā)展理念的理解,明顯都落后OpenAI一個(gè)身位。現(xiàn)實(shí)是OpenAI表現(xiàn)過(guò)于優(yōu)秀,把所有人都甩開了,不僅僅是國(guó)內(nèi)。
我覺(jué)得,OpenAI對(duì)LLM在理念及相關(guān)技術(shù)方面,領(lǐng)先國(guó)外的Google、DeepMind大約半年到一年的時(shí)間,領(lǐng)先國(guó)內(nèi)大概兩年左右的時(shí)間。在LLM這個(gè)事情上,感覺(jué)梯隊(duì)很明顯,Google應(yīng)該是排在第二位,最能體現(xiàn)Google技術(shù)眼光的是PaLM和Pathways,推出時(shí)間大概在22年2月到4月間,同一時(shí)期,OpenAI推出的卻是InstructGPT,從這里就可以看出Google和OpenAI的差距了,至于為何這么說(shuō),你看了我后面的正文后大概能理解。DeepMind之前的重心一直在強(qiáng)化學(xué)習(xí)攻克游戲和AI for science這些方面,切入LLM其實(shí)很晚,應(yīng)該是21年才開始重視這個(gè)方向,目前也處于追趕狀態(tài)。Meta就更不用說(shuō)了,重心一直不在LLM上,目前感覺(jué)也發(fā)力開始追趕。這還是目前做得最好的一批機(jī)構(gòu),尚且如此,更何況國(guó)內(nèi)呢?我覺(jué)得情有可原。至于OpenAI關(guān)于LLM的理念是什么,我在本文的最后一部分,會(huì)談?wù)勎业恼J(rèn)知。
本文梳理自GPT 3.0出現(xiàn)之后的主流LLM技術(shù),在此之前的主流技術(shù)可以參考:《乘風(fēng)破浪的PTM:兩年來(lái)預(yù)訓(xùn)練模型的技術(shù)進(jìn)展》
https://zhuanlan.zhihu.com/p/254821426

我相信看完這兩篇文章,能夠讓您對(duì)LLM領(lǐng)域的技術(shù)脈絡(luò),LLM技術(shù)發(fā)展過(guò)程中出現(xiàn)過(guò)的不同發(fā)展理念,乃至未來(lái)可能的發(fā)展趨勢(shì),有比較清晰的認(rèn)知。當(dāng)然,很多地方講的內(nèi)容是我個(gè)人看法,有很大的主觀性,錯(cuò)漏難免,所以還請(qǐng)謹(jǐn)慎參考。
本文試圖回答下面一些問(wèn)題:ChatGPT是否帶來(lái)了NLP乃至AI領(lǐng)域的研究范式轉(zhuǎn)換?如果是,那會(huì)帶來(lái)怎樣的影響?LLM從海量數(shù)據(jù)中學(xué)到了什么知識(shí)?LLM又是如何存取這些知識(shí)的?隨著LLM規(guī)模逐步增大,會(huì)帶來(lái)什么影響?什么是In Context Learning?為什么它是一項(xiàng)很神秘的技術(shù)?它和Instruct又是什么關(guān)系?LLM具備推理能力嗎?思維鏈CoT又是怎么做的?等等,相信看完,能讓您對(duì)這些問(wèn)題有一個(gè)答案。
首先,在談LLM技術(shù)現(xiàn)狀前,先宏觀地談下我心目中的研究范式轉(zhuǎn)換問(wèn)題。這樣,我們才能“先見森林,再見樹木”,對(duì)具體技術(shù)為何會(huì)是如此變化有個(gè)更清晰的認(rèn)知。

01 潮流之巔:NLP研究范式的轉(zhuǎn)換


如果我們把時(shí)間線往前拉得更長(zhǎng)一些,回到NLP領(lǐng)域的深度學(xué)習(xí)時(shí)代,在更長(zhǎng)時(shí)間窗口內(nèi)觀察技術(shù)變遷及其影響,可能會(huì)更容易看清其中的一些關(guān)鍵節(jié)點(diǎn)。我個(gè)人認(rèn)為,在最近10年來(lái)NLP領(lǐng)域的技術(shù)發(fā)展過(guò)程中,可能存在兩次大的研究范型轉(zhuǎn)換。


1. 范式轉(zhuǎn)換1.0:從深度學(xué)習(xí)到兩階段預(yù)訓(xùn)練模型


這個(gè)范式轉(zhuǎn)換所涵蓋的時(shí)間范圍,大致在深度學(xué)習(xí)引入NLP領(lǐng)域(2013年左右),到GPT 3.0出現(xiàn)之前(2020年5月左右)。


在Bert和GPT模型出現(xiàn)之前,NLP領(lǐng)域流行的技術(shù)是深度學(xué)習(xí)模型,而NLP領(lǐng)域的深度學(xué)習(xí),主要依托于以下幾項(xiàng)關(guān)鍵技術(shù):以大量的改進(jìn)LSTM模型及少量的改進(jìn)CNN模型作為典型的特征抽取器;以Sequence to Sequence(或叫encoder-decoder亦可)+Attention作為各種具體任務(wù)典型的總體技術(shù)框架。


在這些核心技術(shù)加持下,NLP領(lǐng)域深度學(xué)習(xí)的主要研究目標(biāo),如果歸納一下,是如何有效增加模型層深或模型參數(shù)容量。就是說(shuō),怎么才能往encoder和decoder里不斷疊加更深的LSTM或CNN層,來(lái)達(dá)成增加層深和模型容量的目標(biāo)。這種努力,盡管確實(shí)不斷增加了模型層深,但是從解決具體任務(wù)的效果角度看,總體而言,不算很成功,或者說(shuō)和非深度學(xué)習(xí)方法相對(duì),帶來(lái)的優(yōu)勢(shì)不算大。


深度學(xué)習(xí)之所以不夠成功,我認(rèn)為主要原因來(lái)自于兩個(gè)方面:一方面是某個(gè)具體任務(wù)有限的訓(xùn)練數(shù)據(jù)總量。隨著模型容量的增加,需要靠更大量的訓(xùn)練數(shù)據(jù)來(lái)支撐,否則即使你能把深度做起來(lái),任務(wù)效果也做不上去。而在預(yù)訓(xùn)練模型出現(xiàn)之前,很明顯這是NLP研究領(lǐng)域一個(gè)嚴(yán)重問(wèn)題;另外一個(gè)方面是LSTM/CNN特征抽取器,表達(dá)能力不夠強(qiáng)。意思是就算給你再多的數(shù)據(jù)也沒(méi)用,因?yàn)槟悴荒苡行У匚諗?shù)據(jù)里蘊(yùn)含的知識(shí)。主要應(yīng)該是這兩個(gè)原因,阻礙了深度學(xué)習(xí)在NLP領(lǐng)域的成功突圍。


Bert/GPT這兩個(gè)預(yù)訓(xùn)練模型的出現(xiàn),無(wú)論在學(xué)術(shù)研究角度看,還是工業(yè)應(yīng)用角度來(lái)看,都代表了NLP領(lǐng)域的一個(gè)技術(shù)飛躍,并帶來(lái)了整個(gè)領(lǐng)域研究范式的轉(zhuǎn)換。這種范式轉(zhuǎn)換帶來(lái)的影響,體現(xiàn)在兩個(gè)方面:首先,是部分NLP研究子領(lǐng)域的衰退乃至逐步消亡;其次,NLP不同子領(lǐng)域的技術(shù)方法和技術(shù)框架日趨統(tǒng)一,在Bert出現(xiàn)后一年左右,技術(shù)?;臼諗康絻煞N技術(shù)模式中。關(guān)于這兩點(diǎn),我們分頭來(lái)談。


影響一:中間任務(wù)的消亡


NLP是一個(gè)宏觀研究領(lǐng)域的統(tǒng)稱,里面有五花八門具體的子領(lǐng)域與子方向,如果仔細(xì)分析,從任務(wù)的性質(zhì)角度,可以把這些任務(wù)分成兩大類:一類可以叫做“中間任務(wù)”,一類可以稱為“最終任務(wù)”。


典型的中間任務(wù)包括:中文分詞、詞性標(biāo)注、NER、句法分析、指代消解、語(yǔ)義Parser等,這類任務(wù)一般并不解決應(yīng)用中的實(shí)際需求,大多數(shù)是作為那些解決實(shí)際需求任務(wù)的中間階段或者輔助階段存在的,比如幾乎沒(méi)有需求說(shuō),我要一個(gè)句法Parser,把這個(gè)句子的句法分析樹給用戶看看,用戶不需要看到這些NLP的中間階段處理結(jié)果,他只關(guān)心某個(gè)具體任務(wù)你有沒(méi)有干好?!白罱K任務(wù)”包括比如文本分類、文本相似性計(jì)算、機(jī)器翻譯、文本摘要等等,有很多。這類任務(wù)的特點(diǎn)是每個(gè)子領(lǐng)域都解決某個(gè)實(shí)際需求,任務(wù)結(jié)果基本能直接呈現(xiàn)給用戶,比如用戶確實(shí)存在給你一句英文,告訴他中文是什么的需求。


按理說(shuō),“中間任務(wù)”就不應(yīng)該出現(xiàn),而之所以會(huì)存在,這是NLP技術(shù)發(fā)展水平不夠高的一種體現(xiàn)。在技術(shù)發(fā)展早期階段,因?yàn)楫?dāng)時(shí)的技術(shù)相對(duì)落后,很難一步做好有難度的最終任務(wù)。比如機(jī)器翻譯,早期技術(shù)要做好機(jī)器翻譯是很困難的,于是科研人員就把難題分而治之,分解成分詞、詞性標(biāo)注、句法分析等各種中間階段,先把每個(gè)中間階段做好,然后再拼起來(lái)完成最終任務(wù),這也是沒(méi)辦法的事情。


但是自從Bert/GPT出現(xiàn)之后,其實(shí)就沒(méi)有必要做這些中間任務(wù)了,因?yàn)橥ㄟ^(guò)大量數(shù)據(jù)的預(yù)訓(xùn)練,Bert/GPT已經(jīng)把這些中間任務(wù)作為語(yǔ)言學(xué)特征,吸收到了Transformer的參數(shù)里,此時(shí)我們完全可以端到端地直接解決那些最終任務(wù),而無(wú)須對(duì)這種中間過(guò)程專門建模。這里可能爭(zhēng)議最大的是中文分詞,其實(shí)道理也是一樣的,哪些字應(yīng)該組成一個(gè)詞,這個(gè)其實(shí)你不用管,讓LLM自己當(dāng)特征去學(xué)就行了,只要對(duì)于解決任務(wù)有幫助,它自然會(huì)去學(xué)該學(xué)的合理分詞方式,也未必一定要和我們?nèi)祟惱斫獾姆衷~規(guī)則相同。


基于以上認(rèn)知,其實(shí)在Bert/GPT一出現(xiàn),你就應(yīng)該得出這類NLP的中間階段的任務(wù),會(huì)逐步退出歷史舞臺(tái)這個(gè)結(jié)論。


影響二:不同研究方向技術(shù)路線的統(tǒng)一


在說(shuō)明具體影響前,我們先討論下另外一種NLP任務(wù)劃分方式,這對(duì)于理解后面內(nèi)容有幫助。如果對(duì)“最終任務(wù)”進(jìn)一步進(jìn)行分類,又大致可以分為兩大不同類型的任務(wù):自然語(yǔ)言理解類任務(wù)和自然語(yǔ)言生成類任務(wù)。如果排除掉“中間任務(wù)”的話,典型的自然語(yǔ)言理解類任務(wù)包括文本分類、句子關(guān)系判斷、情感傾向判斷等,這種任務(wù)本質(zhì)上都是分類任務(wù),就是說(shuō)輸入一個(gè)句子(文章),或者兩個(gè)句子,模型參考所有輸入內(nèi)容,最后給出屬于哪個(gè)類別的判斷。自然語(yǔ)言生成也包含很多NLP研究子方向,比如聊天機(jī)器人、機(jī)器翻譯、文本摘要、問(wèn)答系統(tǒng)等。生成類任務(wù)的特點(diǎn)是給定輸入文本,對(duì)應(yīng)地,模型要生成一串輸出文本。這兩者的差異主要體現(xiàn)在輸入輸出形式上。


自從Bert/GPT模型誕生后,出現(xiàn)了明顯的技術(shù)統(tǒng)一趨向。首先,NLP中不同的子領(lǐng)域,其特征抽取器都逐漸從LSTM/CNN統(tǒng)一到Transformer上。其實(shí),自Bert公開后不久,就應(yīng)該意識(shí)到,這必然會(huì)成為技術(shù)趨勢(shì)。至于其原因,在幾年前我寫的這篇:

《放棄幻想,全面擁抱Transformer:自然語(yǔ)言處理三大特征抽取器(CNN/RNN/TF)比較》
https://zhuanlan.zhihu.com/p/54743941


文章中做了說(shuō)明和分析,感興趣的同學(xué)可參考。而且,目前Transformer不僅統(tǒng)一了NLP諸多領(lǐng)域,也正在逐步地替換圖像處理各種任務(wù)中被廣泛使用的CNN等其它模型的進(jìn)程之中,類似的,多模態(tài)模型目前也基本都采用了Transformer模型。這種Transformer從NLP出發(fā),攻城略地逐步統(tǒng)一AI越來(lái)越多領(lǐng)域的趨勢(shì),起始于2020年底出現(xiàn)的Vision Transformer (ViT) ,之后蓬勃發(fā)展,到目前已大獲成功,且其繼續(xù)向更多領(lǐng)域拓展的勢(shì)頭會(huì)越來(lái)越迅猛。


其次,大多數(shù)NLP子領(lǐng)域的研發(fā)模式切換到了兩階段模式:模型預(yù)訓(xùn)練階段+應(yīng)用微調(diào)(Fine-tuning)或應(yīng)用Zero/Few Shot Prompt模式。更準(zhǔn)確地說(shuō),NLP各種任務(wù)其實(shí)收斂到了兩個(gè)不同的預(yù)訓(xùn)練模型框架里:對(duì)于自然語(yǔ)言理解類任務(wù),其技術(shù)體系統(tǒng)一到了以Bert為代表的“雙向語(yǔ)言模型預(yù)訓(xùn)練+應(yīng)用Fine-tuning”模式;而對(duì)于自然語(yǔ)言生成類任務(wù),其技術(shù)體系則統(tǒng)一到了以GPT 2.0為代表的“自回歸語(yǔ)言模型(即從左到右單向語(yǔ)言模型)+Zero /Few Shot Prompt”模式。至于為何會(huì)分化成兩條技術(shù)路線,有其必然性,關(guān)于這點(diǎn)我們放在后面解釋。


這兩種模式,看似比較相像,但其背后蘊(yùn)含了迥異的發(fā)展思路,也會(huì)導(dǎo)向不同的未來(lái)發(fā)展方向。不過(guò)遺憾的是,我們中的絕大多數(shù)人,在當(dāng)時(shí)都低估了GPT 這條發(fā)展路線的潛力,而把視覺(jué)中心聚焦到了Bert這種模式上。


2. 范式轉(zhuǎn)換2.0: 從預(yù)訓(xùn)練模型走向通用人工智能 (AGI,Artificial General Intelligence)


這個(gè)范式轉(zhuǎn)換所涵蓋的時(shí)間范圍,大致在GPT3.0出現(xiàn)之后(20年6月左右),一直到目前為止,我們應(yīng)該正處于這個(gè)范式轉(zhuǎn)換過(guò)程中。


ChatGPT是觸發(fā)這次范型轉(zhuǎn)換的關(guān)鍵節(jié)點(diǎn),但是在InstructGPT出現(xiàn)之前,其實(shí)LLM處于這次范式轉(zhuǎn)換前的一個(gè)過(guò)渡期。


過(guò)渡期:以GPT 3.0為代表的“自回歸語(yǔ)言模型+Prompting”模式占據(jù)統(tǒng)治地位


前面說(shuō)過(guò),在預(yù)訓(xùn)練模型發(fā)展的早期,技術(shù)框架收斂到了Bert模式和GPT模式這兩種不同的技術(shù)范型,而且人們普遍更看好Bert模式一些,相當(dāng)多數(shù)的后續(xù)技術(shù)改進(jìn),都是沿著Bert那條路走的。但是,隨著技術(shù)的繼續(xù)發(fā)展,你會(huì)發(fā)現(xiàn),目前規(guī)模最大的LLM模型,幾乎清一色都是類似GPT 3.0這種“自回歸語(yǔ)言模型+Prompting”模式的,比如GPT 3、PaLM、GLaM、Gopher、Chinchilla、MT-NLG、LaMDA等,沒(méi)有例外。為什么會(huì)這樣呢?背后一定有其必然性,我認(rèn)為可能主要源于兩個(gè)原因。


圖片


首先,Google的T5模型,在形式上統(tǒng)一了自然語(yǔ)言理解和自然語(yǔ)言生成任務(wù)的外在表現(xiàn)形式。如上圖所示,標(biāo)為紅色的是個(gè)文本分類問(wèn)題,黃色的是判斷句子相似性的回歸或分類問(wèn)題,這都是典型的自然語(yǔ)言理解問(wèn)題。在T5模型里,這些自然語(yǔ)言理解問(wèn)題在輸入輸出形式上和生成問(wèn)題保持了一致,也就是說(shuō),可以把分類問(wèn)題轉(zhuǎn)換成讓LLM模型生成對(duì)應(yīng)類別的字符串,這樣理解和生成任務(wù)在表現(xiàn)形式就實(shí)現(xiàn)了完全的統(tǒng)一。


這說(shuō)明自然語(yǔ)言生成任務(wù),在表現(xiàn)形式上可以兼容自然語(yǔ)言理解任務(wù),若反過(guò)來(lái),則很難做到這一點(diǎn)。這樣的好處是:同一個(gè)LLM生成模型,可以解決幾乎所有NLP問(wèn)題。而如果仍然采取Bert模式,則這個(gè)LLM模型無(wú)法很好處理生成任務(wù)。既然這樣,我們當(dāng)然傾向于使用生成模型,這是一個(gè)原因。


第二個(gè)原因,如果想要以零示例提示語(yǔ)(zero shot prompting)或少數(shù)示例提示語(yǔ)(few shot prompting)的方式做好任務(wù),則必須要采取GPT模式?,F(xiàn)在已有研究(參考:On the Role of Bidirectionality in Language Model Pre-Training)證明:如果是以fine-tuning方式解決下游任務(wù),Bert模式的效果優(yōu)于GPT模式;若是以zero shot/few shot prompting這種模式解決下游任務(wù),則GPT模式效果要優(yōu)于Bert模式。這說(shuō)明了,生成模型更容易做好zero shot/few shot prompting方式的任務(wù),而Bert模式以這種方式做任務(wù),是天然有劣勢(shì)的。這是第二個(gè)原因。


但是問(wèn)題來(lái)了:為什么我們要追求zero shot/few shot prompting這種方式來(lái)做任務(wù)呢?要解釋清楚這個(gè)問(wèn)題,我們首先需要搞清楚另外一個(gè)問(wèn)題:什么樣的LLM模型,對(duì)我們是最理想的?


圖片


上圖展示了一個(gè)理想的LLM該有的樣子。首先,LLM應(yīng)該具備強(qiáng)大的自主學(xué)習(xí)能力。假設(shè)我們把世界上能獲得的所有文本或者圖片等不同類型的數(shù)據(jù)喂給它,它應(yīng)該能夠自動(dòng)從中學(xué)習(xí)到里面包含的所有知識(shí)點(diǎn),學(xué)習(xí)過(guò)程不需要人的介入,并且能靈活應(yīng)用所學(xué)知識(shí),來(lái)解決實(shí)際問(wèn)題。因?yàn)閿?shù)據(jù)是海量的,要吸收所有知識(shí),就要非常多的模型參數(shù)來(lái)存儲(chǔ)知識(shí),所以這個(gè)模型必然會(huì)是一個(gè)巨無(wú)霸模型。


其次,LLM應(yīng)該能解決NLP任何子領(lǐng)域的問(wèn)題,而不僅支持有限領(lǐng)域,甚至它應(yīng)該可以響應(yīng)NLP之外其它領(lǐng)域的問(wèn)題,最好是任意領(lǐng)域的問(wèn)題都能得到很好地回答。再者,當(dāng)我們使用LLM解決某個(gè)具體領(lǐng)域問(wèn)題的時(shí)候,應(yīng)該用我們?nèi)祟惲?xí)慣的表達(dá)方式,就是說(shuō)LLM應(yīng)該理解人類的命令。這體現(xiàn)出讓LLM適配人,而不是反過(guò)來(lái),讓人去適配LLM模型。人適配LLM的典型例子,比如絞盡腦汁去嘗試各種不同的prompt,以試圖找到好的提示語(yǔ),才能很好地解決手頭問(wèn)題。關(guān)于這點(diǎn),上圖在人類和LLM交互的接口層,舉了幾個(gè)例子,說(shuō)明什么是好的人使用LLM模型的接口形式。


看完這個(gè)理想中的LLM,我們?cè)倩仡^解釋上面遺留的問(wèn)題:為什么我們要追求zero shot/few shot prompting這種方式來(lái)做任務(wù)呢?有兩個(gè)原因。


第一,這個(gè)LLM模型規(guī)模必然非常巨大,有能力作出這個(gè)模型,或改動(dòng)這個(gè)模型參數(shù)的機(jī)構(gòu)必然很少。而任務(wù)需求方是千千萬(wàn)萬(wàn)的中小機(jī)構(gòu)甚至是個(gè)人,就算你把模型開源出來(lái),他們也無(wú)力部署這個(gè)模型,更不用說(shuō)再用Fine-tuning這種模式去修改模型參數(shù)了。所以,我們應(yīng)該追求不修正模型參數(shù),就能讓任務(wù)需求方完成任務(wù)的方式,也就是應(yīng)該采取prompt模式完成任務(wù),而非Fine-tuning模式(由此可看出,soft prompting技術(shù)方向是違背這個(gè)發(fā)展趨勢(shì)的)。模型制作方則將LLM作成公用服務(wù),以LLM as Service的模式運(yùn)行。作為服務(wù)支持方,考慮到千變?nèi)f化的用戶需求,所以LLM模型制作方更要追求讓LLM能完成盡可能多類型的任務(wù),這是附帶的影響,也是為何超級(jí)大模型一定會(huì)追求走向AGI的現(xiàn)實(shí)因素。


第二,zero shot prompting也好,few shot prompting也好,甚至促進(jìn)LLM推理能力的思維鏈(CoT,Chain of Thought)Prompting也好,就是上圖中接口層中的現(xiàn)有技術(shù)。具體而言,zero shot prompting的初衷,其實(shí)就是人類和LLM的理想接口,直接用人類所習(xí)慣的任務(wù)表述方式讓LLM做事情,但是發(fā)現(xiàn)LLM并不能很好地理解,效果也不好。經(jīng)過(guò)繼續(xù)研究,轉(zhuǎn)而發(fā)現(xiàn):對(duì)于某項(xiàng)任務(wù),如果給LLM幾個(gè)示例,用這些示例來(lái)代表任務(wù)描述,效果會(huì)比zero shot prompting好,于是大家都去研究更好的few shot prompting技術(shù)??梢岳斫鉃?,本來(lái)我們希望LLM能夠用人類常用的命令方式來(lái)執(zhí)行某個(gè)任務(wù),但是目前技術(shù)還做不到,所以退而求其次,用這些替代技術(shù)來(lái)表達(dá)人類的任務(wù)需求。


如果理解了上述邏輯,很容易得出如下結(jié)論:few shot prompting(也被稱為In Context Learning)只是一種過(guò)渡時(shí)期的技術(shù)。如果我們能夠更自然地去描述一個(gè)任務(wù),而且LLM可以理解,那么,我們肯定會(huì)毫不猶豫地拋棄這些過(guò)渡期的技術(shù),原因很明顯,用這些方法來(lái)描述任務(wù)需求,并不符合人類的使用習(xí)慣。


這也是為何我將GPT 3.0+Prompting列為過(guò)渡期技術(shù)的原因,ChatGPT的出現(xiàn),改變了這個(gè)現(xiàn)狀,用Instruct取代了Prompting,由此帶來(lái)新的技術(shù)范式轉(zhuǎn)換,并產(chǎn)生若干后續(xù)影響。


影響一:讓LLM適配人的新型交互接口


在理想LLM的背景下,我們?cè)賮?lái)看ChatGPT,能更好理解它的技術(shù)貢獻(xiàn)。ChatGPT應(yīng)該是目前所有的現(xiàn)有技術(shù)里,最接近理想LLM的技術(shù)方法。如果歸納下ChatGPT最突出特點(diǎn)的話,我會(huì)用下面八個(gè)字:“能力強(qiáng)大,善解人意”。


“能力強(qiáng)大”這一點(diǎn),我相信應(yīng)該主要?dú)w功于ChatGPT所依托的基礎(chǔ)LLM GPT3.5。因?yàn)镃hatGPT 盡管加入了人工標(biāo)注數(shù)據(jù),但是量級(jí)只有數(shù)萬(wàn),這個(gè)規(guī)模的數(shù)據(jù)量,和訓(xùn)練GPT 3.5模型使用的幾千億token級(jí)別的數(shù)據(jù)量相比,包含的世界知識(shí)(數(shù)據(jù)中包含的事實(shí)與常識(shí))可謂滄海一粟,幾可忽略,基本不會(huì)對(duì)增強(qiáng)GPT 3.5的基礎(chǔ)能力發(fā)揮什么作用。所以它的強(qiáng)大功能,應(yīng)該主要來(lái)自于隱藏在背后的GPT 3.5。GPT 3.5對(duì)標(biāo)理想LLM模型中的那個(gè)巨無(wú)霸模型。


那么,ChatGPT向GPT 3.5模型注入新知識(shí)了嗎?應(yīng)該是注入了,這些知識(shí)就包含在幾萬(wàn)人工標(biāo)注數(shù)據(jù)里,不過(guò)注入的不是世界知識(shí),而是人類偏好知識(shí)。所謂“人類偏好”,包含幾方面的含義:首先,是人類表達(dá)一個(gè)任務(wù)的習(xí)慣說(shuō)法。比如,人習(xí)慣說(shuō):“把下面句子從中文翻譯成英文”,以此表達(dá)一個(gè)“機(jī)器翻譯”的需求,但是LLM又不是人,它怎么會(huì)理解這句話到底是什么意思呢?你得想辦法讓LLM理解這句命令的含義,并正確執(zhí)行。所以,ChatGPT通過(guò)人工標(biāo)注數(shù)據(jù),向GPT 3.5注入了這類知識(shí),方便LLM理解人的命令,這是它“善解人意”的關(guān)鍵。其次,對(duì)于什么是好的回答,什么是不好的回答,人類有自己的標(biāo)準(zhǔn),例如比較詳細(xì)的回答是好的,帶有歧視內(nèi)容的回答是不好的,諸如此類。這是人類自身對(duì)回答質(zhì)量好壞的偏好。人通過(guò)Reward Model反饋給LLM的數(shù)據(jù)里,包含這類信息。總體而言,ChatGPT把人類偏好知識(shí)注入GPT 3.5,以此來(lái)獲得一個(gè)聽得懂人話、也比較禮貌的LLM。


可以看出,ChatGPT的最大貢獻(xiàn)在于:基本實(shí)現(xiàn)了理想LLM的接口層,讓LLM適配人的習(xí)慣命令表達(dá)方式,而不是反過(guò)來(lái)讓人去適配LLM,絞盡腦汁地想出一個(gè)能Work的命令(這就是instruct技術(shù)出來(lái)之前,prompt技術(shù)在做的事情),而這增加了LLM的易用性和用戶體驗(yàn)。是InstructGPT/ChatGPT首先意識(shí)到這個(gè)問(wèn)題,并給出了很好的解決方案,這也是它最大的技術(shù)貢獻(xiàn)。相對(duì)之前的few shot prompting,它是一種更符合人類表達(dá)習(xí)慣的人和LLM進(jìn)行交互的人機(jī)接口技術(shù)。


而這必將啟發(fā)后續(xù)的LLM模型,繼續(xù)在易用人機(jī)接口方面做進(jìn)一步的工作,讓LLM更聽話。


影響二:很多NLP子領(lǐng)域不再具備獨(dú)立研究?jī)r(jià)值


就NLP領(lǐng)域而言,這次范式轉(zhuǎn)換,意味著很多目前獨(dú)立存在的NLP研究領(lǐng)域,將被納入LLM的技術(shù)體系,進(jìn)而不再獨(dú)立存在,逐步消失。經(jīng)過(guò)第一次范式轉(zhuǎn)換,盡管NLP中很多“中間任務(wù)”,繼續(xù)作為獨(dú)立研究領(lǐng)域存在不再必要,但是大多數(shù)“最終任務(wù)”,仍然是以獨(dú)立研究領(lǐng)域存在的,只是切換成在“預(yù)訓(xùn)練+fine-tuning”框架下,面對(duì)領(lǐng)域獨(dú)有問(wèn)題,陸續(xù)提出新的改進(jìn)方案。


目前研究表明,很多NLP任務(wù),隨著LLM模型規(guī)模增長(zhǎng),效果會(huì)大幅提升。據(jù)此,我覺(jué)得可得到如下推論:大多數(shù)某領(lǐng)域所謂“獨(dú)有”的問(wèn)題,大概率只是缺乏領(lǐng)域知識(shí)導(dǎo)致的一種外在表象,只要領(lǐng)域知識(shí)足夠多,這個(gè)所謂領(lǐng)域獨(dú)有的問(wèn)題,就可以被很好地解決掉,其實(shí)并不需要專門針對(duì)某個(gè)具體領(lǐng)域問(wèn)題,冥思苦想去提出專用解決方案。也許AGI的真相超乎意料地簡(jiǎn)單:你只要把這個(gè)領(lǐng)域更多的數(shù)據(jù)交給LLM,讓它自己學(xué)習(xí)更多知識(shí)即可。


在這個(gè)背景下,同時(shí),ChatGPT證明了我們現(xiàn)在是可以直接去追求理想LLM模型的,那么,未來(lái)的技術(shù)發(fā)展趨勢(shì)應(yīng)該是:追求規(guī)模越來(lái)越大的LLM模型,通過(guò)增加預(yù)訓(xùn)練數(shù)據(jù)的多樣性,來(lái)涵蓋越來(lái)越多的領(lǐng)域,LLM自主從領(lǐng)域數(shù)據(jù)中通過(guò)預(yù)訓(xùn)練過(guò)程學(xué)習(xí)領(lǐng)域知識(shí),隨著模型規(guī)模不斷增大,很多問(wèn)題隨之得到解決。研究重心會(huì)投入到如何構(gòu)建這個(gè)理想LLM模型,而非去解決某個(gè)領(lǐng)域的具體問(wèn)題。這樣,越來(lái)越多NLP的子領(lǐng)域會(huì)被納入LLM的技術(shù)體系,進(jìn)而逐步消失。


我認(rèn)為,判斷某個(gè)具體領(lǐng)域是否該立即停止獨(dú)立研究,其判斷標(biāo)準(zhǔn)可采取以下兩種方法,占其一即可:第一,判斷某個(gè)任務(wù),是否LLM的研究效果超過(guò)人類表現(xiàn),對(duì)于那些LLM效果超過(guò)人類的研究領(lǐng)域,已無(wú)獨(dú)立研究的必要。舉個(gè)例子,GLUE與SuperGLUE測(cè)試集合里的很多任務(wù),目前LLM效果已超過(guò)人類表現(xiàn),與這個(gè)數(shù)據(jù)集合密切相關(guān)的研究領(lǐng)域,其實(shí)就沒(méi)有繼續(xù)獨(dú)立存在的必要。第二,對(duì)比兩種模式的任務(wù)效果,第一種模式是用較大的領(lǐng)域?qū)S脭?shù)據(jù)進(jìn)行Fine-tuning,第二種是few-shot prompting或instruct-based方法。如果第二種方法效果達(dá)到或超過(guò)第一種方法,則意味著這個(gè)領(lǐng)域沒(méi)有繼續(xù)獨(dú)立存在的必要性。如果用這個(gè)標(biāo)準(zhǔn)來(lái)看,其實(shí)很多研究領(lǐng)域,目前fine-tuning效果還是占優(yōu)的(因?yàn)檫@種模式領(lǐng)域訓(xùn)練數(shù)據(jù)量大),看似還可獨(dú)立存在。但是考慮到很多任務(wù)隨著模型規(guī)模增大,few shot prompting效果持續(xù)增長(zhǎng),隨著更大模型的出現(xiàn),這個(gè)拐點(diǎn)很可能短期就會(huì)達(dá)到。


如果上述猜測(cè)成立,將意味著如下殘酷事實(shí):對(duì)于很多NLP領(lǐng)域的研究人員,將面臨往何處去的選擇,是繼續(xù)做領(lǐng)域獨(dú)有問(wèn)題呢?還是放棄這種看似前途不大的方式,轉(zhuǎn)而去建設(shè)更好的LLM?如果選擇轉(zhuǎn)向去建設(shè)LLM,又有哪些機(jī)構(gòu)有能力、有條件去做這個(gè)事情呢?你對(duì)這個(gè)問(wèn)題的回答會(huì)是什么呢?


影響三:更多NLP之外的研究領(lǐng)域?qū)⒈患{入LLM技術(shù)體系


如果站在AGI的視角,參照之前描述的理想LLM模型,它所能完成的任務(wù),不應(yīng)局限于NLP領(lǐng)域,或某一兩個(gè)學(xué)科領(lǐng)域,理想中的LLM應(yīng)該是領(lǐng)域無(wú)關(guān)的通用人工智能模型,它現(xiàn)在在某一兩個(gè)領(lǐng)域做得好,不代表只能做這些任務(wù)。ChatGPT的出現(xiàn),證明了現(xiàn)在這個(gè)時(shí)期,我們?nèi)プ非驛GI是有可行性的,而現(xiàn)在是拋開“領(lǐng)域?qū)W科”這個(gè)思維束縛的時(shí)候了。


ChatGPT除了展示出以流暢的對(duì)話形式解決各種NLP任務(wù)外,也具備強(qiáng)大的代碼能力。很自然的,之后越來(lái)越多其它的研究領(lǐng)域,也會(huì)被逐步納入LLM體系中,成為通用人工智能的一部分。


圖片


LLM從NLP向外進(jìn)行領(lǐng)域拓展,一個(gè)自然的選擇就是圖像處理及多模態(tài)相關(guān)任務(wù)。目前已經(jīng)有些工作在嘗試把多模態(tài)融入,讓LLM成為一個(gè)支持多模態(tài)輸入輸出的通用人機(jī)接口,典型的例子包括DeepMind的Flamingo和微軟的“Language Models are General-Purpose Interfaces”,上圖展示了這種方式的概念結(jié)構(gòu)。


我的判斷是無(wú)論是圖像還是多模態(tài),未來(lái)被融入LLM成為好用的功能,可能比我們想象的進(jìn)度要慢。主要原因在于:盡管圖像領(lǐng)域最近兩年也一直在模仿Bert預(yù)訓(xùn)練的路子,嘗試引入自監(jiān)督學(xué)習(xí),釋放模型自主從圖像數(shù)據(jù)中學(xué)習(xí)知識(shí)的能力,典型技術(shù)就是“對(duì)比學(xué)習(xí)”和MAE,這是兩條不同的技術(shù)路線。然而,從目前效果來(lái)看,盡管取得了很大的技術(shù)進(jìn)步,但貌似這條路尚未走通,這體現(xiàn)在圖像領(lǐng)域預(yù)訓(xùn)練模型應(yīng)用到下游任務(wù),帶來(lái)的效果收益,遠(yuǎn)不如Bert或GPT應(yīng)用在NLP下游任務(wù)那樣顯著。所以,圖像預(yù)處理模型仍需深入探索,以釋放圖像數(shù)據(jù)的潛力,而這會(huì)遲滯它們被統(tǒng)一到LLM大模型的時(shí)間。當(dāng)然,如果哪天這條路被趟通,大概率會(huì)復(fù)現(xiàn)NLP領(lǐng)域目前的局面,就是圖像處理各個(gè)研究子領(lǐng)域可能會(huì)逐步消失,被融入到大型LLM中來(lái),直接完成終端任務(wù)。


除了圖像與多模態(tài),很明顯,其它領(lǐng)域也會(huì)逐漸被納入到理想LLM中來(lái),這個(gè)方向方興未艾,是具備高價(jià)值的研究主題。


以上是我對(duì)范式轉(zhuǎn)換的個(gè)人思考,接下來(lái),我們來(lái)梳理下GPT 3.0之后LLM模型的主流技術(shù)進(jìn)展。如理想LLM模型所示,相關(guān)的技術(shù)其實(shí)可以分為兩大類;一類是關(guān)于LLM模型如何從數(shù)據(jù)中吸收知識(shí),也包括模型規(guī)模增長(zhǎng)對(duì)LLM吸收知識(shí)能力帶來(lái)的影響;第二類是關(guān)于人如何使用LLM內(nèi)在能力來(lái)解決任務(wù)的人機(jī)接口,包括In Context Learning和Instruct兩種模式。思維鏈(CoT)prompting這種LLM推理技術(shù),本質(zhì)上也屬于In Context Learning,因?yàn)楸容^重要,我就把它們單獨(dú)拎出來(lái)講一下。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉