DeepSeek-R1 這類大型語言模型是如何進行「深度思考」(Reasoning) 的?
深度思考 (Reasoning) 的定義與原理
- 內心的小劇場:DeepSeek-R1、ChatGPT o1/o3 等模型在回答問題前,會先經歷一段長思考過程(如
<think>標籤內的內容)。這包含驗證(Verification)、探索(Explore)與規劃(Planning),這種行為被稱為 Reasoning(推理)。 - Reasoning vs. Inference:
- Inference(推論):指一般使用模型產生輸出的過程。
- Reasoning(推理):特指模型在 Inference 階段產生極長的思考過程。注意:這裡的「推理」不代表跟人類思考方式一樣,僅指該行為表現。

- Test-time Compute (測試時運算):
- 概念:在測試階段投入更多算力(思考更久),往往能得到更好的結果。這被稱為「深度不夠,長度來湊」。
- AlphaGo 的啟示:AlphaGo 除了訓練 Policy/Value Network,在下棋(Testing)時還使用了 Monte Carlo Tree Search (MCTS) 進行大量模擬運算。這證明了 Test-time Scaling 的潛力:用少量的測試運算資源,可以換取訓練階段需耗費巨量資源才能達到的效果。

打造「推理」語言模型的方法
- 四種路徑的分類邏輯:我們將構建深度思考(Reasoning)模型的方法歸納為四大類,其核心區別在於是否需要對模型進行參數微調(Fine-tuning)。
- 無需微調參數:前兩種方法(更強的思維鏈 CoT、推論工作流程)適用於現有的模型,僅透過 Prompt 引導或外部演算法介入即可提升推理能力,不需更動模型權重。
- 需要微調參數:後兩種方法(Imitation Learning、Reinforcement Learning)則屬於 後訓練(Post-Training) 的範疇,需要準備特定資料來更新 Foundation Model 的參數,直接教會模型如何思考。

方法一:更強的思維鏈 (Chain-of-Thought, CoT)
此方法不需要微調參數,僅透過 Prompt 引導。

CoT 的演進
- Short CoT:包含 Few-shot(給範例)與 Zero-shot("Let's think step by step")。
- Long CoT:現今推理模型產生的思考過程極長,需透過更精確的指示激發。

Supervised CoT
- 做法:在 Prompt 中詳細規定思考流程(如:拆解計畫、執行子計畫、多次驗算、把思考放在特定標籤內)。
- 限制:只適用於較強的模型(如 GPT-4o),較弱的模型(如 Llama-3 8B)可能無法遵循複雜指令。


透過人類知識告訴模型如何思考 GPT照著流程生出計畫
方法二:給模型推論工作流程 (Inference Workflow)
此方法不需要微調參數,透過多次生成與演算法選出最佳解。

Large Language Monkeys (無限猴子理論)
- 核心概念是讓模型對同一題回答上千次,只要次數夠多,即使是較小的模型(如 1B 或 7B)也有機會「賽到」正確答案。
- 實驗顯示,只要嘗試次數(Sample counts)足夠多,模型的覆蓋率(Coverage,即至少答對一次的機率)會顯著提升,這被稱為「愚者千慮,必有一得」。

當模型產生了上千個答案,我們需要策略來挑出正確的那一個: