聽說最近AI大廠的涌現(xiàn)開發(fā)人員和高校的NLP研究人員,都在琢磨,大模怎么讓大模型“涌現(xiàn)”。鏈究力那畫面莫名就讓我想到了程序員給服務(wù)器上香來保佑不宕機(jī),竟種都有種求諸于天的涌現(xiàn)玄學(xué)。
所謂“涌現(xiàn)”,在大模型領(lǐng)域指的大模是當(dāng)模型突破某個(gè)規(guī)模時(shí),性能顯著提升,鏈究力表現(xiàn)出讓人驚艷、竟種意想不到的涌現(xiàn)能力。比如語言理解能力、大模生成能力、鏈究力邏輯推理能力等。竟種一般來說,涌現(xiàn)模型在100億到1000億參數(shù)區(qū)間,大模可能產(chǎn)生能力涌現(xiàn)。鏈究力
但老話說得好“氪不救非,玄不改命”。靠砸錢和運(yùn)氣,只一味把模型做的大大大,也未必能讓AI“顯靈”。
強(qiáng)大的邏輯推理是大語言模型“智能涌現(xiàn)”出的核心能力之一,好像AI有了人的意識一樣。而推理能力的關(guān)鍵,在于一個(gè)技術(shù)——思維鏈(Chain of Thought,CoT)。
大家如果看過類GPT應(yīng)用的翻車問題,會發(fā)現(xiàn)大多都是數(shù)學(xué)算術(shù)題、邏輯思考題等,這類需要精確推理的問題,而這正是思維鏈能夠重點(diǎn)解決的。現(xiàn)在訓(xùn)練大語言模型的企業(yè)和機(jī)構(gòu)很多,但能夠訓(xùn)練出思維鏈并應(yīng)用的很少。
換句話說,只有解鎖了思維鏈技術(shù),大語言模型才有可能“涌現(xiàn)”,才能在“大煉模型”的競爭中具備能力優(yōu)勢。
思維鏈的故事,我們從一個(gè)奇男子說起。
一個(gè)神奇的男子
思維鏈,在人工智能領(lǐng)域,是一個(gè)非常非常新的概念。
2022年1月,它的相關(guān)論文才被放到arxiv上,成果也特別驚艷,谷歌在當(dāng)年五月的年度開發(fā)者大會Google I/O 2022,也對思維鏈這一研究成果進(jìn)行了宣傳。當(dāng)時(shí)同臺宣傳的還有大模型PaLM和Pixel系列手機(jī)等。
你可能發(fā)現(xiàn)了華點(diǎn),怎么讓思維鏈聞名世界的,卻變成了OpenAI的ChatGPT呢?
這就要提到一個(gè)奇男子——思維鏈的提出者Jason Wei。
之所以神奇,一是本人能力卓絕。
這位華人科學(xué)家,2020年本科畢業(yè)成為谷歌大腦的高級研究員,在任職期間,提出了思維鏈的概念,發(fā)現(xiàn)思維鏈可以在大語言模型中增強(qiáng)推理能力。
(Jason Wei的個(gè)人博客www.jasonwei.net)
二是他的個(gè)人際遇,對AI影響很大,2022年2月他離開谷歌,加入了OpenAI,進(jìn)入ChatGPT團(tuán)隊(duì),這也是思維鏈在OpenAI發(fā)揚(yáng)光大,讓ChatGPT拔得頭籌的原因之一。
那這位奇男子和同事的工作,究竟干了什么呢?
谷歌之前在大模型下了很大功夫,GPT生成式預(yù)訓(xùn)練模型中的“T”,也就是Transformer,就是谷歌大腦搞出來的。但是,預(yù)訓(xùn)練+精調(diào)的大模型搞了幾年,仍然沒辦法很好地完成多步驟推理任務(wù),比如數(shù)學(xué)問題和常識推理。
所以Jason Wei等人提出了思維鏈提示的方法,真的一下子就讓大模型的邏輯推理能力不一樣了。
具體來說,有三個(gè)不一樣:
1.常識推理能力趕超人類。以前的語言模型,在很多挑戰(zhàn)性任務(wù)上都達(dá)不到人類水平,而采用思維鏈提示的大語言模型,在Bench Hard(BBH)評測基準(zhǔn)的23個(gè)任務(wù)中,有17個(gè)任務(wù)的表現(xiàn)都優(yōu)于人類基線。
比如常識推理中會包括對身體和互動的理解,而在運(yùn)動理解sports understanding方面,思維鏈的表現(xiàn)就超過了運(yùn)動愛好者(95% vs 84%)。
(思想鏈被高亮顯示)
2.數(shù)學(xué)邏輯推理大幅提升。
一般來說,語言模型在算術(shù)推理任務(wù)上的表現(xiàn)不太好,而應(yīng)用了思維鏈之后,大語言模型的邏輯推理能力突飛猛進(jìn)。
MultiArith和GSM8K這兩個(gè)數(shù)據(jù)集,測試的是語言模型解決數(shù)學(xué)問題的能力,而通過思維鏈提示,PaLM這個(gè)大語言模型比傳統(tǒng)提示學(xué)習(xí)的性能提高了300%!
在MultiArith和GSM8K上的表現(xiàn)提升巨大,甚至超過了有監(jiān)督學(xué)習(xí)的最優(yōu)表現(xiàn)。
這意味著,大語言模型也可以解決那些需要精確的、分步驟計(jì)算的復(fù)雜數(shù)學(xué)問題了。
3.大語言模型更具可解釋性,更加可信。
我們知道超大規(guī)模的無監(jiān)督深度學(xué)習(xí),打造出來的大模型是一個(gè)黑盒,推理決策鏈不可知,這就會讓模型結(jié)果變得不夠可信。
而思維鏈將一個(gè)邏輯推理問題,分解成了多個(gè)步驟,來一步步進(jìn)行,這樣生成的結(jié)果就有著更加清晰的邏輯鏈路,提供了一定的可解釋性,讓人知道答案是怎么來的。
Jason Wei這位奇男子提出的思維鏈,可以說是大語言模型驚艷世界的必要條件。
一句神奇的咒語
花式調(diào)戲大語言模型,有一句非常神奇的咒語,能讓LLM的回答結(jié)果大不一樣,那就是——“Let’s think step by step”。
此前很多用戶就發(fā)現(xiàn),一旦在問題中加上“Let’s think step by step”,ChatGPT就好像被施了魔法,原本做錯(cuò)的數(shù)學(xué)題,突然就會做了;原本的胡說八道,突然就有理有據(jù)了。
這就是思維鏈的魔力。
思維鏈(Chain-of-thought,CoT),指的是一系列有邏輯關(guān)系的思考步驟,形成一個(gè)完整的思考過程。
人在日常生活中,隨時(shí)隨地都會用思維鏈來解決問題,比如工作、讀書經(jīng)常用到的思維導(dǎo)圖,就是為了盡可能全面拆解步驟,不忽略重要細(xì)節(jié),從而充分地考慮問題。
這種步驟分解的方式用在提示學(xué)習(xí)中,就被稱為思維鏈提示,將大語言模型的推理過程,分解成一個(gè)個(gè)步驟,直觀地展現(xiàn)出來,這樣開發(fā)人員可以在LLM推理出現(xiàn)錯(cuò)誤時(shí),就及時(shí)地修復(fù)。
相當(dāng)于讓AI做分析題,而不是“填空題”,要把推理過程詳細(xì)說清楚,按步驟得分,最后給出答案。
Jason Wei等在2022年的論文中,展示了標(biāo)準(zhǔn)提示學(xué)習(xí)和思維鏈提示的不同之處:
可以看到,類似的算術(shù)題,思維鏈提示會在給出答案之前,還會自動給出推理步驟:
“羅杰先有5個(gè)球,2罐3個(gè)網(wǎng)球等于6個(gè),5 + 6 = 11”
“食堂原來有23個(gè)蘋果,用20個(gè)做午餐,23-20=3;又買了6個(gè)蘋果,3+6=9”
思維鏈提示給出了正確答案,而直接報(bào)答案的傳統(tǒng)提示學(xué)習(xí),給出的答案就是錯(cuò)的,連小學(xué)程度的加減法都做不好。
簡單來說,語言模型很難將所有的語義直接轉(zhuǎn)化為一個(gè)方程,因?yàn)檫@是一個(gè)更加復(fù)雜的思考過程,但可以通過中間步驟,來更好地推理問題的每個(gè)部分。
思維鏈提示,就是把一個(gè)多步驟推理問題,分解成很多個(gè)中間步驟,分配給更多的計(jì)算量,生成更多的token,再把這些答案拼接在一起進(jìn)行求解。
再舉個(gè)例子,大家都特別希望有一個(gè)全能家政機(jī)器人,但目前的機(jī)器人看起來都挺傻的,只能執(zhí)行一些很簡單的開關(guān)燈指令。如果用戶問:“我把可樂灑在桌子上了,你能把它扔掉,然后拿點(diǎn)東西來幫我清理嗎?”
機(jī)器人該怎么辦呢?
這時(shí)候有思維鏈的語言模型,會分析問題:用戶把可樂灑在桌子上了。我會把它扔掉,然后給用戶一塊海綿。
拆解步驟:找(可樂),揀(可樂),找(垃圾),扔(可樂),找(海綿),揀(海綿),找(桌子),放(海綿)。
總的來說,思維鏈就相當(dāng)于讓大語言模型做“因式分解”,把一個(gè)復(fù)雜的推理問題進(jìn)行拆解,逐步解決,自然也就更容易得到高質(zhì)量的答案了。
一個(gè)打破僵局的靈感
你可能會問,大語言模型“智能涌現(xiàn)”,思維鏈?zhǔn)潜仨毜膯幔磕壳半A段,確實(shí)。
因?yàn)椋A(yù)訓(xùn)練的大語言模型參數(shù)規(guī)模巨大,很容易被不相關(guān)的上下文分散注意力,影響性能表現(xiàn),相當(dāng)于學(xué)生上課走神了,被老師叫起來回答問題只能胡言亂語。這時(shí)候就需要提示學(xué)習(xí)(Prompt Learning)來進(jìn)行微調(diào),相當(dāng)于旁邊有人給提了個(gè)醒,更好地完成下游任務(wù)。
但離散式的硬提示(DiscretePrompt),需要人為設(shè)計(jì)提示詞prompt,而人類覺得不錯(cuò)的提示詞,語言模型卻不一定覺得好,最后還是回答的一塌糊涂,而且,離散的token作為提示詞,優(yōu)化難度也特別大。
所以,連續(xù)化的軟提示(Continuous Prompt),限制了模型參數(shù)不被調(diào)整,直接優(yōu)化低維向量,這樣就可以用較小的微調(diào)來提升模型性能。這個(gè)方法省事兒,效果也不錯(cuò),但一直走這條路還是沒辦法讓語言模型搞懂邏輯推理。
思維鏈的提出,用的是離散式的token,又能自動構(gòu)建問題、推理步驟和樣例,這就解決了離散提示人工設(shè)計(jì)難的問題,而且還能讓語言模型擁有可解釋性。
所以說,思維鏈promoting,可以算是打破了大語言模型能力僵局的神來之筆。有時(shí)候技術(shù)的突破靠的就是一個(gè)靈感,而造就這個(gè)靈感的人才機(jī)制、創(chuàng)新環(huán)境、組織模式等,卻需要漫長的時(shí)間去培育。
一些待解的問題
說了這么多,是不是有了思維鏈,大語言模型就所向披靡了呢?照這么發(fā)展下去,真能媲美人類的能力了?
大可不必?fù)?dān)心,思維鏈本身還是有很多局限的,而它的局限也是大語言模型的局限。
首先,思維鏈必須在模型規(guī)模足夠大時(shí)才能涌現(xiàn)。
在Jason Wei等的研究中,PaLM在擴(kuò)展到540B參數(shù)時(shí),與思維鏈提示結(jié)合,才表現(xiàn)出了先進(jìn)的性能。一些小規(guī)模模型,思維鏈并沒有太大的影響,能力提升也不會很大。
谷歌大腦的研究人員認(rèn)為,策略問題需要大量的世界知識,而小型模型沒有足夠的參數(shù)來記憶這些世界知識,所以也不太可能產(chǎn)生正確的推理步驟。
但問題是,能落地到產(chǎn)業(yè)的模型,規(guī)模必然不會太大,思維鏈拆解了更多的步驟、用到更多的計(jì)算資源,相當(dāng)于更加耗費(fèi)腦力,很多研究機(jī)構(gòu)和企業(yè)是負(fù)擔(dān)不起175B參數(shù)以上的大模型。
所以思維鏈必須要探索,如何在較小的模型中進(jìn)行推理,降低實(shí)際應(yīng)用的成本。
62B比540B的語言模型更容易出錯(cuò)
其次,思維鏈的應(yīng)用領(lǐng)域是有限的。
目前,思維鏈只是在一些有限的領(lǐng)域,比如數(shù)學(xué)問題,五個(gè)常識推理基準(zhǔn)(CommonsenseQA,StrategyQA,Date Understanding和Sports Understanding以及SayCan)上顯現(xiàn)出作用,其他類型的任務(wù),像是機(jī)器翻譯,性能提升效果還有待評估。
而且,相關(guān)研究用到的模型(GPT-3 API)或數(shù)據(jù)集,都是半公開或不公開的,這就使其難以被復(fù)現(xiàn)和驗(yàn)證。嚴(yán)謹(jǐn)來看,思維鏈的效果還需要被進(jìn)一步探索,才能下定論。
此外,即使有思維鏈提示,大語言模型依然不能解決小學(xué)水平的數(shù)學(xué)問題。
沒有思維鏈,數(shù)學(xué)推理是指定不行。但有了思維鏈,大語言模型也可能出現(xiàn)錯(cuò)誤推理,尤其是非常簡單的計(jì)算錯(cuò)誤。Jason Wei等的論文中,曾展示過在GSM8K的一個(gè)子集中,大語言模型出現(xiàn)了8%的計(jì)算錯(cuò)誤,比如6 * 13 = 68(正確答案是78)。
這說明,即使有了思維鏈,大語言模型還是沒有真正理解數(shù)學(xué)邏輯,不知道加減乘除的真實(shí)意義,只是通過更精細(xì)的疊加來“照葫蘆畫瓢”,所以,對于有精確要求的任務(wù),還要進(jìn)一步探索新的技術(shù)。
思維鏈確實(shí)增強(qiáng)了大語言模型的能力,但邏輯推理仍然是大語言模型的弱項(xiàng),等待著更多突破。
One more thing
通過思維鏈,我們可以看到大語言模型為什么強(qiáng),也為什么弱。
它強(qiáng)在,模型規(guī)模的提高,讓語義理解、符號映射、連貫文本生成等能力躍升,從而讓多步驟推理的思維鏈成為可能,帶來“智能涌現(xiàn)”。
它弱在,即使大語言模型表現(xiàn)出了前所未有的能力,但思維鏈暴露了它,依然是鸚鵡學(xué)舌,而非真的產(chǎn)生了意識。
認(rèn)知心理學(xué)教授斯坦尼斯拉斯·迪昂(Stanislas Dehaene)在《精準(zhǔn)學(xué)習(xí)》中提出,緩慢地、理智地、符號化地運(yùn)作,是人腦的特權(quán)。它可以在任何可能的時(shí)候,提取具有普遍性、邏輯性的、明確的原則。
五六歲的兒童學(xué)會了較小數(shù)字的加法,就可以理解其含義,用到更大的數(shù)字的加法中,而目前最強(qiáng)大的大語言模型,還連“加法”這個(gè)簡單的抽象定律都理解不了。
這么說,并不是讓大家小看AI的能力,而是想說明,人腦和AI,各有所長。
大語言模型,正如科幻作家特德·姜所說,是網(wǎng)上所有文本的模糊圖像,一張有損壓縮的JPEG,但它可以用遠(yuǎn)超人腦的算力和數(shù)據(jù),極其高產(chǎn)地做好文本生成、圖像生成這樣的模糊任務(wù)。而人腦更擅長精確的、邏輯性的任務(wù),就像特德·姜說的:“當(dāng)你還有原始圖片的時(shí)候,一張模糊的JPEG到底有多大用處呢?”
智能時(shí)代的生存策略,就是不要以己之短,硬碰AI之長。而是用AI之長,讓自己的長板變得更長;用人腦的精確,讓AI生成的模糊答案變得更高質(zhì)量;用好思維鏈提示,讓LLM生成時(shí)事半功倍。
《哈利波特》電影中,有一個(gè)“有求必應(yīng)屋”,里面全是人所需要的東西,海倫娜形容它:
If you have to ask, you'll never know. If you know, you need only ask.
如果你還需要問,就永遠(yuǎn)不會明白;如果你明白,你只需要開口問。
有問必答的AI時(shí)代,是智者的天堂,也是愚者的地獄。永遠(yuǎn)不要讓AI代替你思考。