大模型涌现中最神秘的现象之一是思维链提示(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 的方式生成完整的解决步骤。
以 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 在解決一般任務上的能力。他們從決策問題出發,考慮了解決決策問題的通用框架,稱為動態規劃。
動態規劃(DP)的基本概念在於將複雜問題分解為一系列可以依序解決的小規模子問題。其中對問題的分解確保了各個子問題之間存在顯著的相互關聯(重疊),從而使得每個子問題可以利用先前的子問題上的答案來有效解決。
最長上升子序列(LIS)和求解編輯距離(ED)是《演算法導論》一書中提出的兩個著名的DP 問題,下表列出了這兩個問題的狀態空間、轉移函數的聚合函數。
#研究者證明了,自回歸Transformer 模型可以依照解決子問題的順序輸出一個完整的動態規劃思維鏈,從而對於所有能夠用動態規劃解決的任務都能輸出正確答案。同樣地,研究者進一步證明了產生思維鍊是必要的:對於許多困難的動態規劃問題,一個常數層、多項式大小的 Transformer 模型無法直接輸出正確答案。文章透過上下文無關文法成員測試這一問題給了反例。
研究者最後設計了大量實驗對上述理論進行了驗證,考慮了四種不同的任務:算術表達式求值、解線性方程組、求解最長上升子序列以及求解編輯距離。
實驗結果表明,當使用 CoT 資料進行訓練時,一個 3 層的自回歸 Transformer 模型已經能夠在所有任務上均取得幾乎完美的表現。然而,直接輸出正確答案在所有任務上的表現都很差(即使使用更深的模型)。這一結果清楚地展示了自回歸 Transformer 在解決各種複雜任務上的能力,並表明了 CoT 在解決這些任務中的重要性。
研究者也探討了學得的自迴歸模型是否可以進一步外推到更長的資料。他們為運算任務建立了一個 CoT 訓練資料集,其中運算子數量從 1 到 15,並在算子數量 n ∈ {16, 17, 18} 的表達式上測試模型。結果如下圖 3 所示,研究者的三層 Transformer 模型依然在更長的序列上表現良好,顯示模型在某種程度上確實學習了底層機制。因此,研究者相信在更多不同長度的資料上訓練的模型最終可以揭示完整的算術規則。以上是思維鏈如何釋放語言模型的隱藏能力?最新理論研究揭示背後奧秘的詳細內容。更多資訊請關注PHP中文網其他相關文章!