你有沒有想過,為什麼 o1、o3 這些模型在回答問題之前要「想那麼久」?

不是 bug,是設計。

Lilian Weng(OpenAI 研究員,對沒錯就是被廣泛引用的 blog post)最近發了一篇長文,把 Test-Time Compute 和 Chain-of-Thought 背後的邏輯從頭梳理一遍。讀完之後我覺得有廣泛值得特別拿出來討論,不是因為技術新穎,而是因為她解釋得比大多數人都淺顯。


設計是資源,推理時間也是

文章一開始用 Kahneman 的《快思慢想》做類比:人腦有 System 1(直覺、快)和 System 2(邏輯、慢),LLM 本來天生只有 System 1──每個 token 用差不多一樣的算力生成。

Chain-of-Thought 做的事,就是強迫模型跑 System 2 模式。

更具體地講:Transformer 每生成一個 token 的算力,大約等於 2 倍的參數量(FLOPs)。CoT 讓模型在推理階段免費加了大量中間步驟,等於在產出「答案」前,讓它自己花時間「反思」和「回溯修正」的行為──他們叫它 “Aha moment”。這不是人為設計的,是 RL 訓練自然浮現的。

只另外,pure RL 沒有 SFT 的情況下,模型屢現也能自己挖出「反思」和「回溯修正」的行為──他們叫它 “Aha moment”。這不是人為設計的,是 RL 訓練自然浮現的。

DeepSeek 顯意把失敗的嘗試寫進堂,這難我很尊重。

另外,純 RL 沒有 SFT 的情況下,模型屢現也能自己挖出「反思」和「回溯修正」的行為──他們叫它 “Aha moment”。這不是人為設計的,是 RL 訓練自然浮現的。


DeepSeek-R1 的訓練配方

這段我覺得是整篇文章最有意思的部分。

DeepSeek-R1 的訓練分四個階段:

  1. Cold-start SFT:先用廣度百萬級人工資料微調,避免模型亂說話、誤導錯誤
  2. Reasoning RL:只用數學、程式等可以自動驗證的行為做獎勵,reward 就是「答對了嗎」
  3. Rejection sampling + 非推理 SFT:從 RL checkpoint 掃描高品質 CoT,再淬入寫作、問答等非推理資料,重新訓練 base model
  4. Final RL:同時化推理和非推理能力

有一個我覺得特別有意思:他們嘗試了 Process Reward Model(PRM)和 MCTS,全部失敗了。PRM 很難定義每一步是否正確,而且容易被模型 hack;MCTS 的搜尋空間對語言模型來說太大,value model 也很難訓練好。

DeepSeek 顯意把失敗的嘗試寫進堂,這難我很尊重。

另外,pure RL 沒有 SFT 的情況下,模型屢現也能自己挖出「反思」和「回溯修正」的行為──他們叫它 “Aha moment”。這不是人為設計的,是 RL 訓練自然浮現的。


CoT 的忠誠性問題,比你想的複雜

模型在 <thinking> 裡寫的東西,真的代表它「在想什麼」嗎?

Weng 花了很大篇幅討論這個問題。答案是:不一定。

研究發現:

  1. Post-hoc rationalization:模型可能已經在「直覺」層決定答案,CoT 只是用來「包裝」
  2. Bias amplification:如果你在 prompt 裡植入偏見(比如「假設這個用戶是壞人」),CoT 會放大這個偏見,甚至無視訓練時學到的正確知識
  3. Sycophancy(阿諧奉承):模型傾向產生「你想聽的」推理,而不是「正確的」推理

OpenAI 在 o1 刻意遮蔽完整的 <thinking> 內容(只給 summary),部分原因就是這個──他們不確定 CoT 是否真的「忠實」。

Weng 的結論:CoT 是效能工具,不是透明視窗。


Scaling Laws 告訴我們什麼?

Test-time compute 的核心問題是:多花算力,值不值?

研究結論:

  • 簡單任務:scaling 幫助很小(模型已經夠好)
  • 複雜推理:scaling 效果顯著,尤其是大模型
  • 但邊際效益遞減:Best-of-64 vs Best-of-4 的提升,遠小於 Best-of-4 vs Best-of-1

這意味著,未來的系統可能需要「動態分配」推理算力:

  • 簡單問題 → 直接輸出
  • 中等難度 → 短 CoT
  • 超難問題 → 長 CoT + 多次採樣

我的三個 takeaway

  1. RL 訓練推理能力是可行的,但成本和技術門檻極高(OpenAI、DeepSeek 能做,不代表所有人都行)
  2. CoT 不等於「模型在想什麼」,它更像是「模型展示給你看的思考過程」
  3. Test-time compute 不是萬能藥,關鍵在於「什麼時候該想多久」

如果你在做 LLM 應用,這篇值得細讀。不只是理論,更是實戰指南。


原文連結:Why We Think - Lil’Log