讓GPT一步步思考,這一魔咒爲何生效?

如今,大型語言模型就像是有着無限詞彙量的超級大腦,它們能夠幫助我們解答問題、寫作文、甚至編故事。但是,就像學生在學習新知識時一樣,在學習新知識時,大語言模型需要一步步來,不能一蹴而就。這些超級大腦如果能“展示它們的思考過程”,就能處理更復雜的問題。

回想一下小學學習加法的時候,老師不會直接讓你計算一個龐大的數字。如果你知道怎麼加兩個小數字,只需紙筆和一絲耐心,從個位數開始,逐步加上去,不知不覺就能算出一個天文數字。這種按部就班的方法對我們很有效。“我們解決問題不是靠盯着它直到答案蹦出來,”哈佛大學的機器學習研究員埃蘭·馬拉赫(Eran Malach)說,“而是需要循序漸進。”

這種逐步推進的思考方式也啓發了研究ChatGPT這樣的大語言模型的科學家們。這些高端的聊天機器人能輕鬆處理一些簡單的計算問題,但面對需要多步驟的複雜計算時就會卡殼,例如兩個大數字相加。不過在2022年,谷歌的研究人員發現【1】,如果讓這些語言模型學習像人類一樣逐步解決問題,它們突然就能解決之前難以攻克的問題。這種方法被稱爲“思維鏈”(chain-of-thought),儘管科學家們還在探索其背後的原理,但它已經開始被廣泛應用了。

目前,一些研究團隊正在使用計算複雜性理論(computational complexity theory)探索思維鏈的神秘力量。他們想了解這些大語言模型能做什麼、不能做什麼、哪裡可能會出現問題,以及如何更好地構建它們。“這打破了大語言模型的一部分神秘感,”

威斯康星大學麥迪遜分校的機器學習研究員迪米特里斯·帕帕利奧普洛斯(Dimitris Papailiopoulos)說,“這是件好事。

01 大預言模型的訓練營:變壓器

人工神經網絡是大型語言模型的基礎。這些網絡裡的“神經元”會對代表單詞的數字序列進行簡單的數學操作,進而將一個單詞轉換成另一個單詞。這種轉換依賴於一組稱爲網絡參數的數字,它們決定了神經元之間的連接強度。

要讓一個語言模型能流暢地“說話”,研究人員得先向模型輸入大量的文本數據,對這些參數進行訓練。模型嘗試根據已知的詞來預測下一個詞,然後根據預測結果調整參數。這樣反覆調整,模型就能學會如何對未知的的輸入做出反應了。

自谷歌在2017年推出變壓器(transformers)模型以來,訓練神經網絡處理語言的工作實現了飛躍[2]。“七年前提出的東西,感覺已經像是史前時代。”智利天主教大學的機器學習研究員帕布洛·巴塞洛(Pablo Barceló)說。

變壓器可以很容易地擴展,能在控制成本的前提下提升處理數據的能力。在變壓器出現之前,神經網絡的參數最多隻有幾億個;而現在,最大的模型可以擁有超過一萬億個參數。正是這種規模的增加,讓語言模型變得更加強大。

變壓器做到這一點的關鍵在於其採用的“注意力機制”(attention head)。這讓它們在處理文本的時候,能夠識別出哪些詞是最重要的。這就像是給變壓器裝上了一副特殊的眼鏡,能讓它在一大堆信息中迅速找到關鍵點。變壓器內部有很多層,每一層都使用這種眼鏡,讓信息處理變得更精準。這種設計不僅加快了訓練速度,還讓我們能用更大的數據集來訓練模型,並把龐大的計算任務分散到多個處理器上並行工作。“要想從大數據中獲得最大的收益,就需要構建非常大的模型,”聖母大學的機器學習研究員大衛·張(David Chiang)說,“如果不併行處理,訓練這樣的模型就不現實。”

話雖如此,在訓練完成後,變壓器用於並行處理的架構就顯得有些多餘了。在實際使用中,變壓器需要一次輸出一個詞,並將這個詞加回到輸入中以生成下一個詞。這種方式雖然有效,卻侷限於最初爲並行處理而優化的架構之內。隨着基於變壓器的模型變得越來越龐大,處理一些複雜任務時的挑戰也隨之增加。這讓研究人員開始思考,是否在追求模型並行處理能力時,忽略了其它可能更加重要的能力。這引出了一個問題:我們是否能從理論上深入理解變壓器的工作原理,以發展出更加先進的模型?

02 探索變壓器的複雜性

研究神經網絡,特別是它們如何學習,一直是個大挑戰。當神經網絡在訓練中通過梯度下降法微調參數時,人們很難理解這個過程如何帶來好的參數。一些研究者決定不深究訓練過程,而嘗試把變壓器的參數調整到任何他們想要的值,看看變壓器能做到什麼程度。這其實就像是把變壓器當成一臺特殊的可編程計算機來研究。

“當你手頭有一臺計算設備,你自然會好奇,這臺機器能完成哪些任務?能解決哪些計算問題?”張這樣提問。這是計算理論研究的核心,旨在深入理解計算機的潛能和侷限。

這個研究方向可以追溯到1936年,阿蘭·圖靈設想出了圖靈機——理論上能執行任何計算任務的機器。隨後,計算複雜性理論家在圖靈的基礎上進一步發展,將計算問題分成了不同的複雜性類別,每個類別根據解決問題所需的資源量來定義。到了2019年,巴塞洛(Barceló)和他的團隊證明[3],固定參數數量的變壓器在理想狀態下和圖靈機一樣強大。也就是說,如果能讓變壓器不斷地把自己的輸出作爲輸入,併爲特定問題設置合適的參數,它最終能找到正確答案。不過,這個結論基於了一些不太實際的假設,可能讓人對變壓器的實際能力期待過高。在接下來的幾年裡,研究者們努力想要發展出更切實的理論框架。

這項工作的一個關鍵節點發生在2021年,當時威廉·梅里爾(William Merrill)即將離開艾倫人工智能研究所,前往紐約大學繼續他的學術之路。艾倫所期間的研究讓他認識到,他所用的方法可能不適合分析變壓器的並行架構。在離開之前,他和研究過複雜性理論的同事阿希什·薩巴爾瓦爾(Ashish Sabharwal)討論了這個問題。他們開始思考,複雜性理論是否能幫助揭示變壓器的侷限。“看上去變壓器是個很簡單的模型,我們應該能找出它的一些明確限制。”薩巴爾瓦爾說。

爲了探究這個想法,他們使用了計算複雜性理論中的一個分支——線路複雜性(circuit complexity),來分析變壓器。這個分支通常用來研究並行計算問題,最近也被應用於簡化版本的變壓器上[4]。接下來的一年裡,他們修正了之前研究中的一些不切實際的假設。

他們考慮了一個特定的情況:變壓器不能將其輸出作爲輸入進行反饋,也就是說,它們必須一次性給出最終答案。他們發現,在這種框架下,變壓器無法解決超出特定複雜度範疇的計算問題[5]。甚至一些看似簡單的數學問題,如解線性方程,都可能超出變壓器處理的範圍。這一發現揭示了並行處理的雙刃劍屬性:它爲變壓器提供了強大的計算能力,但在某些情況下也限制了它們的表現。“給變壓器一個輸入,要讓它立即給出答案,這種情況下變壓器的表現其實相當有限。”梅里爾解釋說。

03 思想實驗:讓變壓器“逐步思考”

梅里爾和薩巴爾瓦爾的研究提出了一個引人入勝的問題:如果變壓器可以循環使用自己生成的信息,它們的能力會提升多少?這個問題並不新穎,早在2019年,巴塞洛及其團隊就已經開始探討這個概念。但隨着“思維鏈”技術的出現,這個問題變得更加緊迫和實際。

想象一下,如果我們給語言模型提供的指令不僅僅是直接得出答案,而是要求它們展示出解題的每一步思考過程,會有怎樣的結果?這正是梅里爾和薩巴爾瓦爾試圖探索的[6]——讓語言模型學會利用自己先前的“思考成果”,我們是否能借此打破它們處理信息的傳統限制?

北京大學的研究團隊也在這條路上探索,並且他們在2023年5月發表的一篇論文中表示[7],這種方法是有希望的。他們發現,即使是那些看似超出變壓器能力範圍的問題,通過引入中間步驟,它們也能找到解決方案。

但是,讓變壓器這樣“逐步思考”並不簡單。到了10月,梅里爾和薩巴爾瓦爾的進一步研究表明[8],這種方法的有效性很大程度上取決於變壓器在給出最終答案之前能夠進行多少次中間步驟的“思考”。解決一個較大數字的加法問題比解決一個小數字的加法問題需要更多的中間步驟。這意味着,少數幾步中間“思考”對變壓器的幫助不大。事實上,只有當中間步驟的數量隨着問題的複雜度成比例增加時,變壓器的思維鏈才真正開始發揮作用。這項研究的深入和徹底讓許多研究者印象深刻。“他們非常清晰地界定了這個問題,”哥倫比亞大學的機器學習研究員丹尼爾·許(Daniel Hsu)評論道。

梅里爾和薩巴爾瓦爾的研究告訴我們,思維鏈原則上可以幫助變壓器解決更復雜的問題,但這背後需要巨大的計算力。“我們在尋找其他克服變壓器侷限的方法,”梅里爾說。“思維鏈確實是一條路,但這項研究表明,它可能不是最節省成本的方式。”

04 迴歸現實

研究人員提醒我們,這些理論分析只能告訴我們部分真相。有意思的是,雖然理論上變壓器可以解決一些問題,但這並不意味着它們在實際訓練中能夠自動掌握所有的解決方案。同時變壓器侷限的研究結果表明,沒有哪種變壓器能完美應對所有問題——這幾乎是不可能的。正如丹尼爾·許所指出,“變壓器可能表現得很出色,但須在某些特定場景下。”

即便如此,這些發現仍爲我們提供了一種評估未來可能取代現有變壓器的不同類型神經網絡架構的方法。如果通過複雜性理論分析,我們發現某些網絡類型在理論上比其他類型更有優勢,那麼這可能是一個強有力的跡象,表明這些網絡在實際應用中能有更好的表現。大衛·張強調,在語言模型越來越多地被應用於各種實際場景的今天,理解變壓器的限制變得尤其重要。這種理解能讓我們不過分樂觀地估計這些技術的能力。“事實上,這些模型處理很多問題的結果並不理想,我們需要非常清楚這些侷限所在,”大衛·張說。“這就是爲什麼進行這類研究特別重要。

原文鏈接:https://www.quantamagazine.org/how-chain-of-thought-reasoning-helps-neural-networks-compute-20240321/

參考文獻: