大模型原理與思維鏈推理

banq發表於2024-03-22


道生一、一生二、二生三、三生萬物,生成式人工智慧是如何從人類一步步生成思維中獲得幫助?

加法運算:你所需要的只是紙和筆以及一點耐心。從 1 位開始,一步一步向左加,很快你就能輕鬆堆出五萬億。

像這樣的問題對人類來說很容易,但前提是我們必須用正確的方法去解決。
我們人類解決這些問題的方式不是'盯著它看,然後寫下答案。
我們實際上是一步步走過來的。

量變導致質變,千里之行始於足下。

這一洞察力啟發了研究人員,他們開始研究為 ChatGPT 等聊天機器人提供支援的大型語言模型。雖然這些系統可能會處理涉及幾步運算的問題,但它們經常會在涉及許多步驟的問題上出錯,比如計算兩個大數的和。

但在 2022 年,谷歌的一個研究團隊發現,讓語言模型一步步生成解決方案,能讓模型解決以前似乎無法解決的問題。

他們的技術被稱為 "思維鏈提示"(chain-of-thought prompting),很快就得到了廣泛應用,儘管研究人員一直在努力理解它的工作原理。

現在,幾個團隊利用計算機理論科學的一個神秘分支--計算複雜性理論--的技術,探索了思維鏈推理的力量。這是利用複雜性理論研究語言模型內在能力和侷限性的最新研究成果。這些努力澄清了我們應該在哪些方面預期模型會失敗,併為構建模型指出了新的方法。


訓練Transformer
大型語言模型是圍繞稱為人工神經網路的數學結構建立的。

  • 這些網路中的許多 "神經元 "對代表單個單詞的長串數字進行簡單的數學運算,將透過網路的每個單詞轉換成另一個單詞。
  • 這種數學鍊金術的細節取決於另一組稱為網路引數的數字,這些引數量化了神經元之間的連線強度。

為了訓練語言模型以產生一致的輸出結果,研究人員通常會先建立一個引數值都是隨機的神經網路,然後向其輸入大量來自網際網路的資料。每當模型看到一個新的文字塊,它就會嘗試依次預測每個單詞:

  • 它根據第一個詞猜測第二個詞,根據前兩個詞猜測第三個詞,以此類推。
  • 它將每次預測與實際文字進行比較,然後調整引數以減少差異。
  • 每次調整隻會對模型的預測產生微小的變化,但不知何故,這些調整所產生的集體效應卻能讓模型對從未見過的輸入做出一致的反應。

20 年來,研究人員一直在訓練神經網路處理語言。但這項工作真正起步是在 2017 年,當時谷歌的研究人員推出了一種名為 "Transformer"的新型網路。

Transformer之所以具有如此大的變革性,是因為它很容易擴充套件:

  • 增加引數數量和訓練資料量
  • 而不會使訓練成本過高。

在使用Transformer之前,神經網路最多隻有幾億個引數;而如今,基於Transformer的最大模型已超過萬億個引數。

過去五年中,語言模型效能的提升很大程度上來自於簡單的擴充套件。

Transformer之所以能做到這一點,是因為它們使用了名為 "注意頭 "的特殊數學結構,這種結構能讓Transformer鳥瞰所閱讀的文字。

  • Transformer讀到一個新的文字塊時,它的注意頭會快速掃描整個文字,並識別單詞之間的相關聯絡也許注意到第四個和第八個單詞可能對預測第十個單詞最有用。
  • 然後,注意頭將單詞傳遞給一個由神經元組成的巨大網路,這個網路被稱為前饋網路,負責進行繁重的數字運算,以生成有助於學習的預測結果。

真正的Transformer有多層注意頭,由前饋網路隔開,只有在最後一層之後才會吐出預測結果。

但在每一層,注意頭已經識別出每個單詞最相關的上下文,因此計算密集型的前饋步驟可以同時針對文字中的每個單詞進行。
這就加快了訓練過程,使得在越來越大的資料集上訓練Transformer成為可能。

更重要的是,它還能讓研究人員將訓練大規模神經網路的巨大計算負荷分散到多個串聯工作的處理器上。

在正常執行過程中,Transformer一次輸出一個單詞,在生成下一個單詞之前,會將每個輸出結果粘回到輸入上,但它們仍然受限於為並行處理而最佳化的架構。

隨著基於Transformer的模型越來越多,而某些任務不斷給它們帶來麻煩,一些研究人員開始思考,推動建立更多可並行化模型是否需要付出代價。是否有辦法從理論上理解Transformer的行為?

Transformer複雜性
神經網路的理論研究面臨諸多困難,尤其是在試圖考慮訓練問題時。神經網路使用一種眾所周知的程式,在訓練過程的每一步調整引數。但是,我們很難理解為什麼這一簡單的程式會收斂到一組好的引數上。

一些研究人員在研究Transformer的內在能力時,並沒有考慮訓練過程中會發生什麼,而是想象可以將其引數調整為任意值。這相當於將Transformer視為一種特殊的可程式設計計算機。

這些都是計算形式研究的核心問題:這一領域的研究可以追溯到 1936 年,當時阿蘭-圖靈首次想象出一種奇特的裝置,即現在的圖靈機,它可以透過在無限長的磁帶上讀寫符號來執行任何計算。後來,計算複雜性理論家們在圖靈工作的基礎上,證明了計算問題自然分為不同的複雜性類別,這些類別由解決這些問題所需的資源定義。

Transformer僅僅使用幾個中間步驟並不會獲得太多好處。事實上,Merrill 和 Sabharwal 證明,只有當中間步驟的數量與輸入的大小成比例增長時,思想鏈才真正開始發揮作用,並且許多問題需要中間步驟的數量繼續增長。

Transformer遞迴
Merrill 和 Sabharwal 的研究結果提出了一個自然的問題:當Transformer被允許回收其輸出時,它們會變得更強大嗎? 

在隨後的幾年裡,研究人員發現了思維鏈提示,使這個問題有了新的相關性。

Merrill 和 Sabharwal 知道,他們的純數學方法無法捕捉真實語言模型中思維鏈推理的所有方面,因為在真實語言模型中,提示語的措辭可能非常重要。但無論提示語的措辭如何,只要它能讓語言模型逐步輸出解決方案,那麼原則上,模型就能在後續的轉換過程中重複使用中間步驟的結果。這就為規避平行計算的限制提供了一種方法。

與此同時,北京大學的一個團隊也在沿著類似的思路思考,他們的初步結果是積極的。在 2023 年 5 月的一篇論文中,他們發現了一些在Merrill 和 Sabharwal 的框架下普通Transformer不可能解決的數學問題,並證明中間步驟使Transformer能夠解決這些問題。

Merrill 和 Sabharwal 最近的工作表明,思想鏈並不是萬能的——原則上,它可以幫助 Transformer 解決更困難的問題,但代價是大量的計算工作。

 

相關文章