填充符號無法實現序列推理

Lesswrong·

填充標記僅能讓大型語言模型透過在不同位置分散任務來提升平行推理能力,但它們無法像鏈式思考那樣透過增加深度來實現連續推理。

我最喜歡的 AI 論文之一是《讓我們逐點思考》(Lets Think Dot By Dot),該研究發現大型語言模型(LLM)可以使用無意義的填充標記(如「.」)來提高性能。但直到最近,我才發現自己高估了這項研究的影響[1],而且我認為其他人可能也存在同樣的誤解。

該論文發現,可以訓練 LLM 使用填充標記來增強其執行並行推理任務的能力[2]。這常被拿來與思維鏈(Chain of Thought, CoT)做比較,但 CoT 允許模型增加序列推理能力,這更為強大[3]。我現在認為,這篇論文應該被視為 LLM 缺乏在秘密狀態下[5]執行長期推理能力[4]的證據。

這意味著,如果一個問題可以被分解為子問題,但模型的寬度不足以在一次運算中處理它,模型可以改為在多個填充標記位置上進行並行化處理,然後合併結果。然而,如果問題需要循序漸進的思考,而模型深度不足,填充標記就沒有幫助。相比之下,思維鏈在兩種情況下都有幫助。

我的比喻是:填充標記允許模型動態增加「層的寬度」,而 CoT 則允許模型動態「增加層數」。

問題所在

LLM 每一層內的操作是並行發生的,因此所有輸入數據必須來自前一層。注意力機制(Attention)允許第 n 層從上下文的其他位置收集第 n-1 層的數據。

視覺化 LLM 中的數據流:位置 i、i+1 和 i+2 接收到的輸入完全相同,除了位置數據和填充標記。為了從前一層繼續進行序列推理,模型要麼需要更深的層來直接關注之前的輸出,要麼需要前一層輸出一個有意義的標記,以便從頂部重新輸入。

這對填充標記來說是個問題,因為網絡在每個輸入位置的深度都是相同的,而唯一的新信息只有填充標記和位置信息。

利用位置信息以不同方式處理相同的輸入是可能的[6](這正是《逐點思考》作者所做的),但不可能對其進行額外的步驟處理。一個 n 層的網絡無論數據在其中路徑如何,都只能獲得 n 層的處理。


[1] 公平地說,作者在論文中已經說明了這一切。只是我之前沒理解。

[2] 具體來說,他們發現對於一個模型需要僅用 6 個注意力頭來檢查多達 364 個三元組之和的問題,模型能夠將工作分配到填充標記位置,然後選擇總和為零的三元組。

[3] 任何並行算法都可以順序執行,但並非所有順序算法都可以並行化。

直觀地說,如果你的算法是「同時思考蘋果和橘子」,你可以將其轉變為「先思考蘋果,再思考橘子」;但如果你的算法是「看最後一個詞,然後思考它」,那就無法並行化,因為第二步依賴於第一步。

不過,不要把「並非所有」看得太絕對。許多順序算法可以轉化為並行算法,特別是如果你願意犧牲效率。例如,「執行 x,然後根據結果執行 [y1, y2, y3, ...]」可以轉化為「並行執行 [(x, y1), (x, y2), (x, y3), ...],然後捨棄大部分結果」。

[4] 長期是指在不同位置之間傳遞的推理。一些前沿模型擁有超過 100 層,因此它們能進行的隱藏序列處理量仍然是不容小覷的。

[5] 儘管隱寫術(steganography)在理論上仍是一個選項。

[6] 這與我的主要觀點無關,但要訓練模型像這樣並行化也非常困難。該論文的作者必須使用手動調整的訓練範例和自定義的位置信息才能使其奏效。即便如此,模型也只學會了針對這一個問題這樣做。

理論上,LLM 有可能學會一種通用的方法,利用填充標記在不同位置間並行化計算,但如果它們能通過強化學習(RL)意外地學會如此複雜的東西,我會感到驚訝。

Lesswrong

相關文章

  1. 近期大型語言模型可透過填充詞或重複問題來提升(無思維鏈)數學表現

    4 個月前

  2. 關於轉向神經語言AI的13個論點

    6 個月前

  3. 類人元認知技能將減少大型語言模型的粗糙輸出,並有助於對齊與能力提升

    2 個月前

  4. 現有的大型語言模型很少能偵測到思維鏈篡改

    5 個月前

  5. 推理標記並不平等:大型語言模型如何對其內部邏輯進行排序

    Rohan Paul · 11 天前