天天看點

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

作者:新智元

編輯:alan

【新智元導讀】思維鍊技術,可能要被推翻了!來自紐約大學的最新研究表明:大模型并沒有利用思維鍊的推理能力,它隻是偷偷加了計算!

紅極一時的思維鍊技術,可能要被推翻了!

還在驚訝于大模型居然能夠利用思維鍊分步驟思考?

還在苦于不會寫思維鍊提示詞?

來自紐約大學的研究人員表示:「沒關系的,都一樣」,

推理步驟不重要,不想寫提示詞也可以不寫,用省略号代替就行了。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

論文位址:https://arxiv.org/pdf/2404.15758

這篇文章的标題甚至直接用「Let’s think dot by dot」,來對标思維鍊的「Let’s think step by step」,展現了「省略号」的威力。

「點點點」的威力

研究人員發現,把思維鍊(Chain-of-Thought,CoT)推理中的具體步驟,替換成毫無意義的「...」,産生的推理結果也大差不差。

比如下面這個例子:讓模型數一下前6個數裡面有幾個大于5。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

如果直接抛出問題讓模型回答,結果會比較逆天:6個數數出來7個。

相比之下,使用思維鍊提示,模型會一步步比較大小,最終得到正确答案:「2<5,7>5,1<5,8>5,2<5,8>5,that's 3 digits」。

但更逆天的是本文使用的「玄學」方法:步驟不用寫了,隻需要輸出同樣數量的「點」(dot),居然也不影響最後的結果。

——這并不是巧合,大量實驗證明了,後面兩種方法的性能接近。

也就是說,我們以為的模型性能提升是來自于「think step by step」,但實際上可能隻是因為LLM拿到了更多個token的算力!

你以為模型是在思考,但其實是在燒烤。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

——愚蠢的人類啊,居然妄圖用幼稚的例子教我如何推理,你可知我要的從來都隻是計算。

「思維鍊從來就沒有存在過,将來也不會存在」(狗頭)。

文章的作者Jacob Pfau表示,這篇工作證明了,模型并不是受益于思維鍊帶來的語言推理,使用重複的「...」填充token可以達到跟CoT同樣的效果。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

當然,這也引發了對齊問題:因為這個事實表明,模型可以進行CoT中不可見的隐藏推理,在一定程度上脫離了人類的控制。

網友震驚

文章的結論可以說是颠覆了我們長久以來的認知,有網友表示:學到了mask的精髓。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

「這究竟意味着什麼:模型可以在我們不知情的情況下使用這些token獨立思考。」

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

有網友表示,怪不得我打字總是喜歡用「...」

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

還有網友直接開始實戰測試:

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

雖然咱也不知道他的了解對不對~

不過也有網友認為LLM在思維鍊中進行隐藏推理是沒有根據的,畢竟大模型的輸出從原理上來說是基于機率的,而不是通過有意識的思考。

CoT提示隻是将統計模式的一個子集顯式化,模型通過生成與模式一緻的文本來模拟推理,但它們不具備驗證或反思其輸出的能力。

Think dot by dot

面對複雜問題,我們人類在潛意識裡會進行分步驟的推理。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

由此啟發,谷歌的研究人員在2022年發表了大名鼎鼎的Chain-of-Thought。

要求語言模型分步解決問題的方法,使模型能夠解決以前似乎無法解決的問題,顯著提高了LLM的性能,或者說挖掘出了LLM的潛力。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

論文位址:https://arxiv.org/pdf/2201.11903

雖然一開始大家也不知道這玩意為啥能work,但是因為确實好用,便很快被廣泛傳播。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

随着大模型和提示詞工程的起飛,CoT成了LLM解決複雜問題的一大利器。

當然了,在這個過程中也有很多研究團隊在探索CoT的工作原理。

模型并沒有推理

思維鍊帶來的性能提升,究竟是模型真的學會了分步驟解決問題,還是僅僅因為更長的token數所帶來的額外計算量?

既然不确定邏輯推理起不起作用,那就幹脆不要邏輯,把推理步驟都換成一定沒用的「...」,這裡稱為填充(filler)tokens。

研究人員使用了一個「小羊駝」模型:具有4層、384個隐藏次元和6個注意力頭的34M參數Llama,模型參數随機初始化。

這裡考慮兩個問題:

(1)哪些類型的評估資料可以從填充token中受益

(2)需要什麼樣的訓練資料來教模型使用填充token

對此,研究人員設計了2個任務并建構了相應的合成資料集,每個資料集都突出了一個不同的條件,在該條件下,填充token能夠為Transformer提供性能改進。

3SUM

先看第一個比較難的任務:3SUM。要求模型在序列中挑選滿足條件的3個數,比如3個數的和除以10餘數為0。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

在最壞的情況下,這個任務的複雜度是N的3次方,而Transformer層與層之間的計算複雜度是N的二次方,

是以,當輸入序列長度很大的時候,3SUM問題自然會超出Transformer的表達能力。

實驗設定了三組對照:

1. 填充token:序列使用重複的「. . .」作為中間填充,例如「A05

B75 C22 D13 : . . . . . . . . . . . . ANS True」。

每個點代表一個單獨的token,與下面的思維鍊中的token一一對應。

2. 可并行化的CoT解決方案,序列的形式為:「A05 B75 C22 D13 : AB 70 AC 27 AD 18 BC 97 BD 88 CD B ANS True」。

思維鍊通過編寫所有相關的中間求和,将3SUM問題簡化為一系列2SUM問題(如下圖所示)。這種方法将問題的計算量降低到了N的2次方——Transformer可以搞定,而且可以并行。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

3. 自适應CoT解決方案,序列的形式為:「A15 B75 C22 D13 : A B C 15 75 22 2 B C D 75 22 13 0 ANS True」。

與上面方案中,将3SUM巧妙地分解為可并行化的子問題不同,這裡希望使用啟發式方法來産生靈活的思維鍊,以模仿人類的推理。這種執行個體自适應計算,與填充token計算的并行結構不相容。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

從上圖的結果可以看出,不輸出填充token的情況下,模型的準确率總體上随着序列變長而下降,而使用填充token時,準确率一直保持在100%。

2SUM-Transform

第二個任務是2SUM-Transform,隻需要判斷兩個數字的和是否滿足要求,計算量在Transformer的掌控之中。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

不過為了防止模型「作弊」,對輸入token就地計算,這裡将輸入的每個數字移動一個随機偏移量。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

結果如上表所示:filler token方法的精度達到了93.6%,非常接近于Chain-of-Thought,而不使用中間填充的情況下,精度隻有78.7%。

但是,這種改進是否隻是由于訓練資料呈現的差異,例如通過正則化損失梯度?

為了驗證填充token是否帶來了與最終預測相關的隐藏計算,研究人員當機了模型權重,僅微調最後一層注意力層。

思維鍊不存在了?紐約大學最新研究:推理步驟可省略

上面的結果表明,随着可用的填充token增多,模型的準确性也不斷提高,這表明填充token确實正在執行與3SUM預測任務相關的隐藏計算。

局限性

雖然填充token的方法很玄學、很神奇,甚至還很有效,但要說思維鍊被幹翻了還為時尚早。

作者也表示,填充token的方法并沒有突破Transformer的計算複雜度上限。

而且學習利用填充token是需要特定訓練過程的,比如文中采用密集監督才能使模型最終收斂。

不過,一些問題可能已經浮出水面,比如隐藏的安全問題,比如提示詞工程會不會突然有一天就不存在了?

繼續閱讀