編輯 | 白菜葉
你的小學老師可能沒有教你如何做 20 位數字的加減法。但如果你知道如何加減較小的數字,你所需要的只是紙和鉛筆以及一點耐心。從個位開始,一步步向左,很快你就能輕鬆地積累出千萬億的數字。
像這樣的問題對人類來說很容易解決,但前提是我們用正確的方式解決它們。「我們人類解決這些問題的方式並不是『盯著它然後寫下答案』。」哈佛大學機器學習研究員 Eran Malach 表示,「我們實際上是走過這些臺階的。」
這一見解啟發了研究人員研究為 ChatGPT 等聊天機器人提供支援的大型語言模型。這些系統可以解決涉及少量算術步驟的問題,但它們經常會搞砸涉及多個步驟的問題,例如計算兩個大數的總和。
但在 2022 年,谷歌研究人員團隊表明,要求語言模型生成逐步解決方案,使模型能夠解決以前看似無法解決的問題。他們的技術被稱為「思維鏈推理提示(chain-of-thought prompting)」,很快就得到了廣泛應用,雖然研究人員很難理解它的工作原理。
論文連結:https://arxiv.org/abs/2201.11903
現在,幾個團隊已經透過使用理論電腦科學的一個神秘分支(稱為計算複雜性理論)的技術來探索思維鏈推理的力量。
這是使用複雜性理論來研究語言模型的內在功能和侷限性的一系列研究的最新章節。這些研究闡明瞭我們應該預期模型會在哪些方面失敗,並且它們可能會指出構建模型的新方法。
「它們消除了一些魔力。」威斯康星大學麥迪遜分校的機器學習研究員 Dimitris Papailiopoulos 說,「這是好事情。」
訓練 Transformer
大型語言模型是圍繞稱為人工神經網路的數學結構構建的。這些網路內的許多「神經元」對代表單個單詞的長串數字執行簡單的數學運算,將透過網路的每個單詞轉換為另一個單詞。這種數學鍊金術的細節取決於另一組稱為網路引數的數字,它量化神經元之間的連線強度。
為了訓練語言模型產生連貫的輸出,研究人員通常從引數均具有隨機值的神經網路開始,然後向其提供來自網際網路的大量資料。每次模型看到一個新的文字塊時,它都會嘗試依次預測每個單詞:它根據第一個單詞猜測第二個單詞,根據前兩個單詞猜測第三個單詞,依此類推。它將每個預測與實際文字進行比較,然後調整其引數以減少差異。每次調整隻會稍微改變模型的預測,但不知何故,它們的集體效應使模型能夠對其從未見過的輸入做出連貫的響應。
20 年來,研究人員一直在訓練神經網路來處理語言。但這項工作真正開始起步是在 2017 年,當時谷歌的研究人員推出了一種名為 Transformer 的新型網路。
論文連結:https://arxiv.org/abs/1706.03762
智利天主教大學機器學習研究員 Pablo Barceló 表示:「這是七年前提出的,看起來像是史前時代。」
Transformer 之所以如此具有變革性,是因為它很容易擴大規模——增加引數數量和訓練資料量——而不會使訓練成本過高。
在 Transformer 出現之前,神經網路最多有幾億個引數;如今,最大的基於 Transformer 的模型已超過一萬億。過去五年中語言模型效能的大部分改進都來自簡單的擴充套件。
Transformer 透過使用稱為 attention heads 的特殊數學結構使這成為可能,這使它們能夠鳥瞰它們正在閱讀的文字。當 Transformer 讀取一個新的文字塊時,它的 attention heads 會快速掃描整個文字並識別單詞之間的相關聯絡——也許會注意到第四個和第八個單詞可能對於預測第十個單詞最有用。然後,attention heads 將單詞傳遞到一個稱為前饋網路的巨大神經元網路,該網路進行大量數字運算,從而生成有助於學習的預測。
真正的 Transformer 具有由前饋網路分隔的多層 attention heads,並且僅在最後一層之後輸出預測。但在每一層,attention heads 已經識別出每個單詞最相關的上下文,因此計算密集型前饋步驟可以針對文字中的每個單詞同時發生。這加快了訓練過程,使得利用越來越大的資料集訓練 Transformer 成為可能。更重要的是,它允許研究人員將訓練大型神經網路的巨大計算負載分散到多個協同工作的處理器上。
為了充分利用海量資料集,「你必須讓模型變得非常大。」聖母大學機器學習研究員 David Jiang 表示,「除非並行化,否則訓練它們是不切實際的。」
然而,使訓練 Transformer 變得如此容易的並行結構在訓練後並沒有幫助——此時,不需要預測已經存在的單詞。在普通操作期間, Transformer 一次輸出一個字,在生成下一個字之前將每個輸出重新附加到輸入上,但它們仍然停留在針對並行處理最佳化的架構上。
隨著基於 Transformer 的模型不斷發展,某些任務繼續給它們帶來麻煩,一些研究人員開始懷疑,推動更可並行化的模型是否需要付出代價。有沒有辦法從理論上理解 Transformer 的行為?
Transformer 的複雜性
神經網路的理論研究面臨許多困難,特別是當它們試圖解釋訓練時。神經網路使用眾所周知的程式在訓練過程的每一步調整其引數。但很難理解為什麼這個簡單的過程會收斂於一組良好的引數。
一些研究人員沒有考慮訓練期間發生的情況,而是透過想象可以將其引數調整為任意值來研究 Transformer 的內在功能。這相當於將 Transformer 視為一種特殊型別的可程式設計計算機。
「你有一些計算裝置,你想知道,『它能做什麼?它可以計算哪些型別的函式?』」Chiang 說。
這些是正式計算研究的中心問題。該領域的歷史可以追溯到 1936 年,當時 Alan Turing 首次設想了一種奇特的裝置,現在稱為圖靈機,它可以透過在無限磁帶上讀寫符號來執行任何計算。
計算複雜性理論家後來以 Turing 的工作為基礎,證明計算問題自然地分為由解決它們所需的資源定義的不同複雜性類別。
2019 年,Barceló 團隊證明,具有固定數量引數的理想化 Transformer 版本可以與圖靈機一樣強大。如果你設定一個 Transformer 來重複將其輸出作為輸入反饋,並將引數設定為你想要解決的特定問題的適當值,它最終會給出正確的答案。
論文連結:https://arxiv.org/abs/1901.03429
該結果是一個起點,但它依賴於一些不切實際的假設,這些假設可能會高估 Transformer 的功率。在那以後的幾年裡,研究人員一直致力於開發更現實的理論框架。
其中一項研究始於 2021 年,當時紐約大學研究生 William Merrill 即將離開西雅圖艾倫人工智慧研究所。在那裡,他使用了似乎不太適合 Transformer 並行架構的技術來分析其他型別的神經網路。離開前不久,他與艾倫人工智慧研究所研究員 Ashish Sabharwal 進行了討論,後者在進入人工智慧研究之前曾研究過複雜性理論。他們開始懷疑複雜性理論可能有助於他們理解 Transformer 的侷限性。
「這看起來只是一個簡單的模型;肯定存在一些可以確定的限制。」Sabharwal 說。
兩人使用計算複雜性理論的一個分支(稱為電路複雜性)分析 Transformer ,該理論通常用於研究平行計算,最近已應用於簡化版本的 Transformer 。在接下來的一年裡,他們改進了之前工作中的一些不切實際的假設。
論文連結:https://arxiv.org/abs/2204.06618
為了研究 Transformer 的並行結構如何限制它們的能力,兩人考慮了 Transformer 不將輸出反饋到輸入的情況,相反,它們的第一個輸出必須是最終答案。
他們證明,這個理論框架中的 Transformer 無法解決特定複雜性類別之外的任何計算問題。許多數學問題,包括求解線性方程等相對簡單的問題,被認為不屬於該課程。
論文連結:https://arxiv.org/abs/2207.00729
基本上,他們表明並行性確實是有代價的——至少當 Transformer 必須立即給出答案時是這樣。Merrill 說:「如果你使用 Transformer 的方式是提供輸入,然後只期望立即得到答案,那麼 Transformer 就非常弱了。」
思想實驗
Merrill 和 Sabharwal 的研究結果自然而然地提出了一個問題:當 Transformer 被允許回收其輸出時,它們的能力會增強多少?Barceló 團隊在 2019 年對理想化 Transformer 的分析中研究了這個案例,但有了更現實的假設,這個問題仍然懸而未決。在隨後的幾年裡,研究人員發現了思維鏈提示,使這個問題有了新的相關性。
Merrill 和 Sabharwal 知道,他們的純數學方法無法捕捉真實語言模型中思維鏈提示的所有資訊,其中提示中的措辭可能非常重要。
論文連結:https://arxiv.org/abs/2212.10001
但無論提示如何措辭,只要它使語言模型輸出逐步解決方案,該模型原則上就可以在後續透過 Transformer 時重用中間步驟的結果。這可以提供一種規避平行計算限制的方法。
與此同時,北京大學的一個團隊也一直在沿著類似的思路思考,他們的初步結果是積極的。在 2023 年 5 月的一篇論文中,他們確定了 Merrill 和 Sabharwal 框架中普通 Transformer 無法解決的一些數學問題,並表明中間步驟使 Transformer 能夠解決這些問題。
論文連結:https://arxiv.org/abs/2305.15408
10 月份,Merrill 和 Sabharwal 繼續他們早期的工作,對思維鏈的計算能力進行了詳細的理論研究。他們量化了額外的計算能力如何取決於 Transformer 在必須給出最終答案之前允許使用的中間步驟的數量。
一般來說,研究人員期望解決任何問題的中間步驟的適當數量取決於問題輸入的大小。例如,將兩個 20 位數字相加的最簡單策略所需的中間加法步驟是用相同方法將兩個 10 位數字相加所需的中間加法步驟的兩倍。
像這樣的例子表明, Transformer 僅僅使用幾個中間步驟並不會獲得太多好處。事實上,Merrill 和 Sabharwal 證明,只有當中間步驟的數量與輸入的大小成比例增長時,思維鏈才真正開始發揮作用,並且許多問題需要中間步驟的數量繼續增長。
結果的徹底性給研究人員留下了深刻的印象。「他們確實確定了這一點。」哥倫比亞大學機器學習研究員 Daniel Hsu 說。Merrill 和 Sabharwal 最近的研究表明,思維鏈並不是萬能的——原則上,它可以幫助 Transformer 解決更困難的問題,但代價是大量的計算工作。
「我們對一次性解決 Transformer 侷限性的不同方法感興趣。」Merrill 說,「思維鏈是一種方法,但本文表明這可能不是最經濟的方法。」
Back to Reality
儘管如此,研究人員提醒,這種理論分析只能揭示有限的真實語言模型。積極的結果——證明 Transformer 原則上可以解決某些問題——並不意味著語言模型實際上會在訓練過程中學習這些解決方案。
即使解決 Transformer 侷限性的結果也應注意:它們表明沒有 Transformer 可以在所有情況下完美解決某些問題。當然,這是一個相當高的門檻。「可能有一些特殊情況的問題它可以很好地處理。」Hsu 說。
儘管如此,這項新工作還是提供了一個模板,用於分析不同型別的神經網路架構,這些架構最終可能會取代 Transformer。如果複雜性理論分析表明某些型別的網路比其他型別的網路更強大,那麼這將證明這些網路在現實世界中也可能表現得更好。
Chiang 還強調,隨著語言模型越來越廣泛地應用於現實世界的應用中,對 Transformer 侷限性的研究就更有價值,很容易高估它們的能力。
「實際上有很多事情他們做得不太好,我們需要非常非常認識到侷限性。」Chiang 說,「這就是為什麼這種工作非常重要。」
相關報導:https://www.quantamagazine.org/how-chain-of-thought-reasoning-helps-neural-networks-compute-20240321/