翁荔最新萬字長文:Why We Think

金磊 發自 凹非寺

量子位 | 公眾號 QbitAI

《Why We Think》。

這就是北大校友、前OpenAI華人VP翁荔所發佈的最新萬字長文——

圍繞「測試時計算」(Test-time Compute)和「思維鏈」(Chain-of-Thought,CoT),討論了如何通過這些技術顯著提升模型性能。

翁荔表示:

讓模型在輸出答案前多思考一會兒(比如通過智能解碼、思維鏈推理、潛在思考等方法),能顯著提升它的智能水平,突破當前的能力瓶頸。

網民們看罷,紛紛打出了「精彩」二字:

感覺就像打開了人工智能理解的一個全新維度。

那麼接下來,我們就來深入瞭解一下這篇文章。

動機

讓模型思考更長的時間可以通過幾種不同的方式來激發。

心理學類比

核心思想與人類思考方式深度關聯。

人類無法立即回答「12345×56789等於多少?」,而是需要時間分析——這正是Daniel Kahneman在《思考,快與慢》(2013)中提出的雙系統理論:

  • 快速思考(系統1):直覺驅動,快速自動但容易出錯

  • 慢速思考(系統2):邏輯性強,需刻意調動認知資源

因為系統1思維是快速和簡單的,它經常以準確性和邏輯性為代價,成為主要的決策驅動因素。它自然依賴於我們大腦的思維捷徑(即啟髮式),並可能導致錯誤和偏見。

通過有意識地放慢速度,花更多的時間來反思、改進和分析,我們可以進入系統2思考,挑戰我們的本能,做出更理性的選擇。

作為資源的計算

深度學習的一種觀點是,神經網絡的特徵是它們可以通過向前傳遞訪問的計算量和存儲量,如果我們優化它們來使用梯度下降來解決問題,優化過程將找出如何使用這些資源——它們將找出如何將這些資源組織成計算和信息存儲的電路。

從這個角度來看,如果我們設計了一個架構或系統,可以在測試時進行更多的計算,並且我們訓練它有效地使用這些資源,那麼它將工作得更好。

在Transformer模型中,模型為每個生成的令牌所做的計算量(flops)大約是參數數量的2倍。對於像混合專家(MoE)這樣的稀疏模型,每次前向傳遞中只使用一小部分參數,因此計算量= 2 *參數/稀疏度,其中稀疏度是活躍專家的比例。

另一方面,CoT使模型能夠為它試圖計算的答案的每個令牌執行更多的計算。事實上,CoT有一個很好的特性,它允許模型根據問題的難度使用可變的計算量。

潛變量建模

經典機器學習方法通過潛變量z和可見變量y構建概率模型,其中y是給定觀測值。通過邊緣化(求和)潛變量可表達可見變量的豐富分佈:

例如,用x表示數學題目,y為正確答案,z為推導過程,則需優化的邊緣概率為:

該視角尤其有助於理解多並行CoT采樣或搜索算法——這些可視為從後驗分佈P(z∣x,y)P(z∣x,y)中采樣。同時表明應優化對數損失log⁡P(y∣x)logP(y∣x),因其在預訓練中效果顯著。

基於Token的思考

Ling等(2017)在AQUA-RAT數據集中首次探索為數學問題生成中間步驟,後由Cobbe等(2021)在GSM數據集擴展。

他們通過監督學習訓練生成器(基於人工解題步驟)和驗證器(判斷答案正確性)。Nye等(2021)實驗性使用「草稿紙」式中間token,Wei等(2022)則提出標準術語思維鏈(CoT)。

早期改進CoT的方法包括:

  • 對人工書寫推理軌跡進行監督學習

  • 篩選模型生成的正確答案軌跡(可視為強化學習的雛形)

    另有研究發現,通過適當提示(如」逐步思考」或引導模型先關聯知識)能顯著提升指令微調模型的數學能力。

後續研究表明,在可自動驗證答案的數據集(如STEM題目或帶單元測試的編程題)上應用強化學習,可大幅改進CoT推理能力。

這一方法因DeepSeek-AI(2025)發佈的R1技術報告而受到關注,該報告顯示簡單的策略梯度算法即可實現強勁性能。

△思維鏈提示提高數學問題求解成功率。模型越大,思考時間收益越顯著。△思維鏈提示提高數學問題求解成功率。模型越大,思考時間收益越顯著。

分支與編輯

測試時計算的根本目的是自適應修改模型在推理時的輸出分佈。主要方法包括:

  • 並行采樣:同時生成多個輸出,通過過程獎勵或驗證器篩選。如N選1或束搜索。自洽性(Wang等,2023)常用於無真實答案時對多CoT結果投票。

  • 順序修訂:基於上一步輸出迭代修正,需依賴微調模型——單純依賴模型自校正能力可能導致性能下降(Huang等,2024)。

並行采樣方法簡單、直觀、易於實現,但受其能否一次性得到正確解的模型能力的限制。

序列明確要求模型對錯誤進行反思,但它的速度較慢,在執行過程中需要格外小心,因為它確實存在正確預測被修改為不正確或引入其他類型幻覺的風險。

這兩種方法可以一起使用。Snell等人(2024)表明,簡單的問題受益於純粹的順序測試時間計算,而較難的問題通常在順序與並行計算的最佳比例下表現最佳。

△並行采樣與順序修訂的圖解。△並行采樣與順序修訂的圖解。

並行采樣

給定一個生成模型和可用於評估完整或部分樣本的評分函數,我們可以採用多種搜索算法來尋找高分樣本。

其中最簡單的算法是N選一(Best-of-N):只需收集N個獨立樣本,然後根據評分函數選擇排名最高的樣本。

而束搜索(Beam search)是一種更複雜的搜索算法,它能自適應地分配更多計算資源到解空間中更有潛力的區域,從而優化搜索過程。

束搜索通過維護一組有潛力的部分序列,交替執行以下操作:

擴展:對候選序列進行延續生成

剪枝:淘汰潛力較低的序列

作為選擇機制,我們可以採用過程獎勵模型(PRM;Lightman等人,2023)來指導束搜索的候選選擇。

Xie等人(2023)的創新方法在於:讓大語言模型以選擇題形式自我評估其生成推理步驟的正確性,研究發現這種逐步驟自評機制能有效減少束搜索解碼過程中多步推理的誤差累積。

此外,在采樣過程中採用退火溫度調節有助於降低隨機性帶來的影響。基於Codex模型的實驗表明,該方法在GSM8k、AQuA和StrategyQA等小樣本基準測試中實現了5-6%的性能提升。

Wu等人(2025)提出的獎勵平衡搜索(REBASE)通過獨立訓練PRM模型,根據softmax歸一化的獎勵分數,動態決定束搜索過程中每個節點在不同深度的擴展程度。

Jiang等人(2024)開發的RATIONALYST系統則專注於:基於海量無標註數據合成推理依據,並通過以下標準篩選優質依據:

當推理依據被納入上下文時,真實答案token的負對數概率是否顯著降低(通過閾值判斷)。

在推理階段,RATIONALYST通過兩種方式為思維鏈生成器提供過程監督:

隱式指導:幫助估計後續推理步驟的對數概率

顯式指導:直接作為提示部分生成後續推理步驟

有趣的是,即使沒有明確的零樣本或少樣本提示,也能激發出思維鏈推理路徑。

Wang和Zhou(2024)研究發現:如果在第一個采樣token處保留置信度最高的前k個候選(這個置信度是通過采樣時top-1和top-2候選之間的差值來衡量的),然後用貪婪解碼繼續這些采樣嘗試,很多情況下模型會自動產生思維鏈。

特別當上下文里確實出現思維鏈時,最終答案的解碼置信度會明顯更高。要計算最終答案的置信度,需要通過任務特定的啟髮式方法(比如數學題取最後一個數字)或者用」所以答案是」這樣的提示來定位答案範圍。

這個設計之所以選擇只在第一個token處分支,是因為研究發現:早期分支能大幅增加潛在路徑的多樣性,而後續token會受到前面序列的很大影響。

順序修訂

若模型能夠反思並修正先前響應中的錯誤,理論上應能生成質量逐步提升的迭代修正序列。

然而研究表明,大型語言模型(LLMs)本質上並不具備這種自我修正能力,且直接應用時易出現多種故障模式,包括:

幻覺現象,即將正確響應修改為錯誤;

行為坍縮至非修正狀態,例如對初始錯誤響應僅作微小改動或完全不修改;

無法適應測試時的分佈偏移。Huang等人(2024)的實驗證實,簡單應用自我修正會導致性能下降,必須依賴外部反饋機制才能實現有效改進。

這些反饋可基於以下要素:真實答案匹配、啟髮式規則與任務特定指標、編程問題的單元測試結果(Shinn等,2023)、更強模型的指導(Zhang等,2024),以及人類反饋(Liu等,2023)。

自我修正學習(韋萊克等人,2023 年)旨在給定一個固定的生成模型P0(y0∣x)的情況下,訓練一個修正模型 Pθ(y∣y0,x)Pθ(y∣y0,x)。生成模型保持通用性,而修正模型可以是特定於任務的,並且僅在初始模型回覆和額外反饋(例如一句話、編譯器跟蹤信息、單元測試結果;反饋可以是可選的)的條件下進行生成:

自我修正學習首先針對數據集中的每個提示生成多個輸出;

然後,如果對於同一提示的兩個輸出中,一個比另一個具有更高的值,就將它們配對,形成價值提升對(提示x,假設y,修正y’;

這些配對根據價值提升量v(y′)−v(y)v(y′)−v(y)以及兩個輸出之間的相似度Similarity(y,y′)(y,y′)按比例選取,用於訓練修正模型;

為了鼓勵探索,修正模型也會向數據集中提供新的生成結果。在推理階段,修正模型可以迭代使用,以創建順序修正的軌跡。

Qu等人(2024)提出的遞歸式審查方法同樣致力於訓練更優的修正模型,但其創新之處在於採用單一模型同時承擔生成與自我修正雙重功能。

Kumar等人(2024)開發的SCoRe(Self-Correction via Reinforcement Learning)採用多輪次強化學習策略,通過激勵模型在第二次嘗試時生成優於首次嘗試的答案來實現自我修正。該框架包含兩個訓練階段:

第一階段:僅優化第二次嘗試的準確率,同時對第一次嘗試施加KL散度懲罰項,以防止初始響應過度偏離基礎模型行為特徵;

第二階段:聯合優化第一次和第二次嘗試的響應準確率。

理論上,我們期望兩個階段的響應質量都能得到提升。第一階段的設計有效規避了模型對初始響應僅作微小修改或完全不修正的」行為坍縮」現象,而第二階段的實施則進一步提升了整體修正效果。

由於原博客過長,後續的內容僅概括展示大致內容;想要深入瞭解,可以查看文末的原文鏈接。

強化學習與外部工具整合

RL for推理:

  • DeepSeek-R1:通過SFT-RL訓練(含格式獎勵與準確率獎勵),在MATH-500等基準上性能接近OpenAI o1-preview。

  • 純RL的湧現能力:無需SFT階段,模型通過RL自然學會反思與回溯(「aha moment」)。

外部工具:

  • 代碼執行:PAL/Chain of Code將數學計算offload至代碼解釋器,避免模型學習底層計算。

  • 知識搜索:ReAct結合Wikipedia API,在HotpotQA等任務中引入外部知識。

思維忠實性與優化壓力

忠實性驗證:

  • 實驗發現:CoT可能存在 「早期結論」「無信息標記」 等問題,Lanham實驗顯示僅約60%模型在多選擇題中依賴真實推理。

  • 影響因素:獎勵模型(RM)可能降低忠實性,而推理模型因優化最終答案更傾向忠實表達。

獎勵破解風險:

  • 直接優化CoT監控信號可能導致模型隱藏破解行為(Baker et al. 2025),如用重覆文本繞過長度獎勵約束(Yeo et al. 2025)。

連續空間思維與架構創新

循環架構:

  • Universal Transformer:結合自注意力與循環機制,動態調整計算步數。

  • Geiping遞歸塊:在Transformer頂部添加循環層,通過隨機狀態迭代優化推理,實驗顯示3.5B模型在r=32步時性能飽和。

思維標記技術:

  • 顯式標記:插入或暫停標記(如 <#>)增加計算時間,Goyal 實驗中數學題準確率提升顯著。

  • 隱式標記:Quiet-STaR在每個token後生成推理標記,零 – shot 下GSM8K成功率從5.9%提升至10.9%。

縮放規律與未來方向

計算效率:

  • 測試時計算與模型規模互補,小模型 + 高級解碼算法可實現成本 – 性能最優(Snell et al. 2024)。

  • 強製延長思維鏈(如追加 「wait」)與準確率正相關,但拒絕采樣可能導致負向縮放。

未來挑戰:

  • 如何在 RL 中激勵人類可讀的忠實推理?

  • 無監督場景下的自我修正機制如何設計?

  • 如何將測試時性能提陞遷移至基礎模型(如蒸餾)?

參考鏈接:

[1]https://lilianweng.github.io/posts/2025-05-01-thinking/

[2]https://x.com/lilianweng/status/1923757799198294317