天天看點

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

作者:機器之心Pro

機器之心專欄

機器之心編輯部

思維鍊提示(CoT)是大模型湧現中最神秘的現象之一,尤其在解決數學推理和決策問題中取得了驚豔效果。CoT到底有多重要呢?它背後成功的機制是什麼?本文中,北大的幾位研究者證明了CoT在實作大語言模型(LLM)推理中是不可或缺的,并從理論和實驗角度揭示了CoT如何釋放LLM的巨大潛力。

最近的研究發現,思維鍊提示(Chain of Thought prompting,簡稱為 CoT)可以顯著提升大語言模型(LLM)的性能,尤其适用于處理涉及數學或推理的複雜任務。不過盡管取得了很大成功,但 CoT 背後的機制以及如何釋放 LLM 的潛力仍然難以捉摸。

近日,北京大學的一項新研究從理論視角揭示了 CoT 背後的奧秘。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

論文連結:https://arxiv.org/abs/2305.15408

基于 Transformer 的大語言模型已經成為自然語言進行中的通用模型,在各種任務上都獲得了廣泛的應用。主流的大模型通常基于自回歸範式來實作,具體而言,各種不同的任務(如文本翻譯、文本生成、問題回答等)都可以統一地視為序列生成問題,其中問題的輸入和問題描述被一起被編碼為一個單詞(token)序列,稱為提示(prompt);問題的答案便可以轉化為基于提示來條件生成後續單詞的任務。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

在大模型領域中有大量的研究已經表明,精心設計的提示詞對模型的表現起着至關重要的作用。特别是在涉及算術或推理相關的任務時, CoT 已被表明能夠大大提高所生成答案的正确性。如下圖所示,對于一個需要數學推理的任務,大模型直接生成的答案往往是錯誤的(下圖 a,b)。但是如果通過修改提示使得大模型輸出整個思維鍊(中間推導步驟),最終便能夠得到正确答案(下圖 c,d)。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

在實踐中,思維鍊提示有兩種主流的實作方式:一種是在提示中添加特定短語,如 “Let’s think step by step” 來觸發(如上圖 c);另一種是通過提供少量的思維鍊示範的例子來讓大模型模拟相應的推導過程(如上圖 d)。

然而,盡管 CoT 在大量實驗上都取得了顯著的表現,但背後的理論機制卻仍然是個謎。一方面,大模型在直接回答數學、推理等問題方面是否确實存在固有理論缺陷?另一方面,為什麼 CoT 可以提升大模型在這些任務上的能力?這篇論文從理論角度對上述問題進行了回答。

具體而言,研究者從模型表達能力的角度來研究 CoT:對于數學任務和一般的決策任務,本文研究了基于自回歸的 Transformer 模型在以下兩個方面的表達能力:(1)直接生成答案,以及(2)采用 CoT 的方式生成完整的解決步驟。

CoT 是解決數學問題的關鍵

以 GPT-4 為代表的大模型已經展現出了令人震驚的數學能力。例如,它能夠正确求解大部分高中數學題,甚至已經成為數學家們的研究助手。

為了研究大模型在數學方面的能力,本文選取了兩個非常基礎但核心的數學任務:算術和方程(下圖給出了這兩個任務的輸入輸出示例)。由于它們是解決複雜數學問題的基本元件,是以通過對這兩個核心數學問題的研究,我們可以對大模型在一般數學問題上的能力有一個更深刻的了解。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

研究者首先探究了 Transformer 是否能夠輸出上述問題的答案而不輸出中間步驟。他們考慮了一種與實際非常吻合的假設 ——log 精度 Transformer,即 Transformer 的每個神經元隻能表示有限精度的浮點數(精度為 log n 比特),其中 n 是句子的最大長度。這一假設與實際非常接近,例如在 GPT-3 中,機器精度(16 位或 32 位)通常要遠小于最大輸出句子長度(2048)。

在這一假設下,研究者證明了一個核心不可能結果:對于常數層、寬度為 d 的自回歸 Transformer 模型,以直接輸出答案的方式求解上述兩個數學問題時,需要使用極大的模型寬度 d。具體而言,d 需要以超越多項式的增長速度随輸入長度 n 的增長而變大。

造成這一結果的本質原因在于,上述兩個問題不存在高效的并行算法,是以 Transformer 作為一種典型的并行模型無法對其進行求解。文章使用理論計算機科學中的電路複雜性理論對上述定理進行了嚴格證明。

那麼,如果模型不直接輸出答案,而是按照上圖的形式輸出中間推導步驟呢?研究者進一步通過構造證明了,當模型可以輸出中間步驟時,一個固定大小(不依賴于輸入長度 n)的自回歸 Transformer 模型便可以解決上述兩個數學問題。

對比之前的結果可以看出,加入 CoT 極大地提升了大模型的表達能力。研究者進一步對此給出了直覺的了解:這是因為 CoT 的引入會将生成的輸出單詞不斷回饋到輸入層,這大大增加了模型的有效深度,使其正比于 CoT 的輸出長度,進而極大地提升了 Transformer 的并行複雜度。

CoT 是解決一般決策問題的關鍵

除了數學問題,研究者進一步考慮了 CoT 在解決一般任務上的能力。他們從決策問題出發,考慮了一種解決決策問題的通用架構,稱為動态規劃。

動态規劃(DP)的基本思想在于将複雜問題分解為一系列可以按順序解決的小規模子問題。其中對問題的分解確定了各個子問題之間存在顯著的互相關聯(重疊),進而使得每個子問題可以利用之前的子問題上的答案來高效解決。

最長上升子序列(LIS)和求解編輯距離(ED)是《算法導論》一書中提出的兩個著名的 DP 問題,下表列出了這兩個問題的狀态空間、轉移函數的聚合函數。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

研究者證明了,自回歸 Transformer 模型可以按照解決子問題的順序輸出一個完整的動态規劃思維鍊,進而對于所有能夠用動态規劃解決的任務都能輸出正确答案。同樣地,研究者進一步證明了生成思維鍊是必要的:對于很多困難的動态規劃問題,一個常數層、多項式大小的 Transformer 模型無法直接輸出正确答案。文章通過上下文無關文法成員測試這一問題給出了反例。

實驗

研究者最後設計了大量實驗對上述理論進行了驗證,考慮了四種不同的任務:算術表達式求值、解線性方程組、求解最長上升子序列以及求解編輯距離。

實驗結果表明,當使用 CoT 資料進行訓練時,一個 3 層的自回歸 Transformer 模型已經能夠在所有任務上均取得幾乎完美的表現。然而,直接輸出正确答案在所有任務上的表現都很差(即使使用更深的模型)。這一結果清楚地展示了自回歸 Transformer 在解決各種複雜任務上的能力,并表明了 CoT 在解決這些任務中的重要性。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

研究者還探究了學得的自回歸模型是否可以進一步外推到更長的資料。他們為運算任務建構了一個 CoT 訓練資料集,其中運算符數量從 1 到 15,并在算子數量 n ∈ 的表達式上測試模型。結果如下圖 3 所示,研究者的三層 Transformer 模型依然在更長的序列上表現良好,表明模型在某種程度上确實學習了底層機制。是以,研究者相信在更多不同長度的資料上訓練的模型最終可以揭示完整的算術規則。

思維鍊如何釋放語言模型的隐藏能力?最新理論研究揭示其背後奧秘

繼續閱讀