
深入理解推理大語言模型:構建與優化推理模型的方法與策略
在這篇文章中,我將介紹構建推理模型的四種主要方法,以及我們如何增強大語言模型的推理能力,希望能為讀者在快速發展的文獻與熱潮中提供有價值的見解。
理解推理大語言模型
構建與優化推理模型的模型與策略
本文介紹了構建推理模型的四種主要方法,以及我們如何增強大語言模型(LLM)的推理能力。我希望這些內容能提供有價值的見解,幫助你在圍繞此話題迅速發展的文獻和熱潮中理清方向。
2024 年,LLM 領域見證了日益增長的專業化趨勢。除了預訓練和微調,我們還看到了從 RAG(檢索增強生成)到代碼助手等專業應用的崛起。我預計這一趨勢在 2025 年將會加速,更加強調針對特定領域和應用的優化(即「專業化」)。

推理模型的開發正是這些專業化方向之一。這意味著我們對 LLM 進行精煉,使其擅長處理最適合通過中間步驟解決的複雜任務,例如謎題、高等數學和編程挑戰。然而,這種專業化並不會取代其他 LLM 應用。因為將 LLM 轉化為推理模型也會引入某些缺點,我將在後文討論。
為了讓你初步了解下文涵蓋的內容,在本文中我將:
- 解釋「推理模型」的含義
- 討論推理模型的優缺點
- 概述 DeepSeek R1 背後的方法論
- 描述構建和改進推理模型的四種主要方法
- 分享對 DeepSeek V3 和 R1 發布後 LLM 格局的看法
- 提供在預算有限的情況下開發推理模型的技巧
希望這篇文章對你在今年 AI 持續快速發展的過程中有所幫助!
我們如何定義「推理模型」?
如果你從事 AI(或廣義的機器學習)工作,你可能對模糊且備受爭議的定義感到熟悉。「推理模型」一詞也不例外。最終,總會有人在論文中給出正式定義,然後在下一篇論文中被重新定義,以此類推。
在本文中,我將「推理」定義為:回答需要複雜、多步驟生成並帶有中間步驟的問題的過程。例如,像「法國的首都是哪裡?」這樣的規律性問答不涉及推理。相比之下,像「如果一列火車以每小時 60 英里的速度行駛 3 小時,它行駛了多遠?」這樣的問題則需要一些簡單的推理。例如,它需要先識別距離、速度和時間之間的關係,然後才能得出答案。

大多數現代 LLM 都具備基礎推理能力,能夠回答「如果一列火車以每小時 60 英里的速度行駛 3 小時,它行駛了多遠?」這類問題。因此,今天當我們提到推理模型時,通常是指那些擅長處理更複雜推理任務(如解決謎題、腦筋急轉彎和數學證明)的 LLM。
此外,當今大多數被冠以推理模型標籤的 LLM,其回覆中都包含一個「思考 (thought/thinking)」過程。至於 LLM 是否真的在「思考」,那是另一個獨立的討論話題。
推理模型中的中間步驟可以通過兩種方式呈現。首先,它們可能明確包含在回覆中,如前圖所示。其次,某些推理 LLM(如 OpenAI 的 o1)會進行多次帶有中間步驟的迭代,但這些步驟不會展示給用戶。

我們應該在什麼時候使用推理模型?
既然我們已經定義了推理模型,現在可以進入更有趣的部分:如何為推理任務構建和改進 LLM。然而,在深入技術細節之前,考慮何時真正需要推理模型是很重要的。
我們什麼時候需要推理模型?推理模型旨在擅長處理複雜任務,如解決謎題、高等數學問題和具挑戰性的編程任務。然而,對於摘要、翻譯或基於知識的問答等較簡單的任務,它們並非必要。事實上,將推理模型用於所有任務可能是低效且昂貴的。例如,推理模型的使用成本通常更高、更囉嗦,有時甚至會因為「過度思考」而更容易出錯。這裡同樣適用一條簡單規則:為任務選擇正確的工具(或 LLM 類型)。
推理模型的主要優勢和局限性總結如下圖。

簡析 DeepSeek 訓練流程
在下一節討論構建和改進推理模型的四種主要方法之前,我想根據 DeepSeek R1 技術報告簡要概述其流程。這份報告既是一個有趣的案例研究,也是開發推理 LLM 的藍圖。
請注意,DeepSeek 並非只發布了一個 R1 推理模型,而是推出了三個不同的變體:DeepSeek-R1-Zero、DeepSeek-R1 和 DeepSeek-R1-Distill。
根據技術報告中的描述,我將這些模型的開發過程總結在下圖中。

接下來,讓我們簡要回顧上圖所示的過程。更多細節將在下一節討論構建和改進推理模型的四種主要方法時涵蓋。
(1) DeepSeek-R1-Zero:該模型基於 2024 年 12 月發布的 671B 預訓練 DeepSeek-V3 基座模型。研究團隊使用帶有兩種類型獎勵的強化學習 (RL) 對其進行訓練。這種方法被稱為「冷啟動」訓練,因為它不包含監督微調 (SFT) 步驟,而 SFT 通常是人類回饋強化學習 (RLHF) 的一部分。
(2) DeepSeek-R1:這是 DeepSeek 的旗艦推理模型,建立在 DeepSeek-R1-Zero 之上。團隊通過額外的 SFT 階段和進一步的 RL 訓練對其進行了精煉,在「冷啟動」的 R1-Zero 模型基礎上進行了改進。
(3) DeepSeek-R1-Distill*:利用前述步驟生成的 SFT 數據,DeepSeek 團隊對 Qwen 和 Llama 模型進行了微調,以增強其推理能力。雖然這不是傳統意義上的蒸餾,但該過程涉及在較大的 DeepSeek-R1 671B 模型的輸出上訓練較小的模型(Llama 8B 和 70B,以及 Qwen 1.5B–30B)。
構建和改進推理模型的 4 種主要方式
在本節中,我將概述目前用於增強 LLM 推理能力以及構建專業推理模型(如 DeepSeek-R1、OpenAI 的 o1 和 o3 等)的關鍵技術。
注:o1 和 o3 的具體運作機制在 OpenAI 之外仍不為人知。然而,傳聞它們結合了推理時 (inference) 和訓練技術。
1) 推理時擴展 (Inference-time scaling)
提高 LLM 推理能力(或任何通用能力)的一種方法是推理時擴展。這個術語可以有多重含義,但在這裡,它指的是在推理過程中增加計算資源以提高輸出質量。
一個粗略的類比是,人類在有更多時間思考複雜問題時,往往能產生更好的回覆。同樣地,我們可以應用一些技術,鼓勵 LLM 在生成答案時進行更多「思考」。(儘管 LLM 是否真的在「思考」是另一個話題。)
一種直接的推理時擴展方法是巧妙的提示工程 (prompt engineering)。一個經典例子是思維鏈 (CoT) 提示,在輸入提示中加入「一步步思考」等短語。這會鼓勵模型生成中間推理步驟,而不是直接跳到最終答案,這通常(但並非總是)能在更複雜的問題上獲得更準確的結果。(注意,對於簡單的知識性問題,如「法國的首都是哪裡」,採用這種策略沒有意義,這也是判斷推理模型對給定輸入查詢是否有意義的一個很好的準則。)

上述 CoT 方法可以被視為推理時擴展,因為它通過生成更多的輸出標記 (tokens) 使推理成本變得更高。
另一種推理時擴展的方法是使用投票和搜索策略。一個簡單的例子是多數投票 (majority voting),我們讓 LLM 生成多個答案,並通過多數票選出正確答案。同樣地,我們可以使用束搜索 (beam search) 和其他搜索算法來生成更好的回覆。
我強烈推薦閱讀《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》這篇論文,我在之前的《2024 年值得關注的 AI 研究論文(第二部分)》文章中也介紹過,以獲取有關這些不同策略的更多細節。

DeepSeek R1 技術報告將常見的推理時擴展方法(如基於過程獎勵模型和基於蒙特卡洛樹搜索的方法)歸類為「不成功的嘗試」。這表明 DeepSeek 除了利用 R1 模型生成較長回覆的自然傾向(與 V3 基座模型相比,這是一種隱式的推理時擴展形式)之外,並未明確使用這些技術。
然而,顯式的推理時擴展通常是在應用層而非 LLM 內部實現的,因此 DeepSeek 仍可能在其應用程序中應用此類技術。
我懷疑 OpenAI 的 o1 和 o3 模型使用了推理時擴展,這解釋了為什麼它們與 GPT-4o 等模型相比相對昂貴。除了推理時擴展,o1 和 o3 可能還使用了類似於 DeepSeek R1 的 RL 流程進行訓練。關於強化學習的更多內容見下文兩節。
2) 純強化學習 (Pure RL)
DeepSeek R1 論文中我個人最感興趣的亮點之一是,他們發現推理能力是從純強化學習 (RL) 中湧現出來的一種行為。讓我們詳細探討這意味著什麼。
如前所述,DeepSeek 開發了三種類型的 R1 模型。第一種是 DeepSeek-R1-Zero,它建立在 DeepSeek-V3 基座模型之上,後者是他們在 2024 年 12 月發布的標準預訓練 LLM。與典型的 RL 流程(在 RL 之前應用監督微調 SFT)不同,DeepSeek-R1-Zero 僅使用強化學習進行訓練,沒有初始的 SFT 階段,如下圖所示。

儘管如此,這個 RL 過程與常用的 RLHF 方法相似,後者通常用於對 LLM 進行偏好微調。(我在文章《LLM 訓練:RLHF 及其替代方案》中更詳細地介紹了 RLHF。)然而,如上所述,DeepSeek-R1-Zero 的關鍵區別在於他們跳過了用於指令微調的監督微調 (SFT) 階段。這就是為什麼他們稱之為「純」RL。(雖然 LLM 背景下的 RL 與傳統 RL 有顯著不同,那是另一個話題了。)
對於獎勵,他們沒有使用基於人類偏好訓練的獎勵模型,而是採用了兩種類型的獎勵:準確性獎勵和格式獎勵。
- 準確性獎勵使用 LeetCode 編譯器來驗證代碼答案,並使用確定性系統來評估數學回覆。
- 格式獎勵依賴於 LLM 裁判來確保回覆遵循預期格式,例如將推理步驟放在
<think>標籤內。
令人驚訝的是,這種方法足以讓 LLM 發展出基礎推理技能。研究人員觀察到了一個「靈光一現 (Aha!)」的時刻,模型開始在回覆中生成推理軌跡,儘管並沒有被明確訓練這樣做,如下圖所示。

雖然 R1-Zero 並非性能頂尖的推理模型,但它確實通過生成中間「思考」步驟展示了推理能力,如上圖所示。這證實了使用純 RL 開發推理模型是可能的,而 DeepSeek 團隊是第一個展示(或至少是發表)這種方法的團隊。
3) 監督微調與強化學習 (SFT + RL)
接下來,讓我們看看 DeepSeek-R1 的開發,這是 DeepSeek 的旗艦推理模型,也是構建推理模型的藍圖。該模型在 DeepSeek-R1-Zero 的基礎上,通過引入額外的監督微調 (SFT) 和強化學習 (RL) 來提高其推理性能。
請注意,在 RL 之前包含 SFT 階段實際上是很常見的,如標準的 RLHF 流程所示。OpenAI 的 o1 可能也是使用類似的方法開發的。

如上圖所示,DeepSeek 團隊使用 DeepSeek-R1-Zero 生成了他們所謂的「冷啟動」SFT 數據。術語「冷啟動」是指這些數據是由 DeepSeek-R1-Zero 產生的,而該模型本身並未經過任何監督微調 (SFT) 數據的訓練。
利用這些冷啟動 SFT 數據,DeepSeek 隨後通過指令微調對模型進行訓練,接著進行另一輪強化學習 (RL)。這一 RL 階段保留了 DeepSeek-R1-Zero RL 過程中使用的準確性和格式獎勵。然而,他們增加了一個一致性獎勵,以防止語言混雜,即模型在單次回答中在多種語言之間切換。
RL 階段之後是另一輪 SFT 數據收集。在這一階段,使用最新的模型檢查點生成了 60 萬個思維鏈 (CoT) SFT 樣本,同時使用 DeepSeek-V3 基座模型創建了另外 20 萬個基於知識的 SFT 樣本。
這 60 萬 + 20 萬個 SFT 樣本隨後用於對 DeepSeek-V3 基座進行指令微調,然後進行最後一輪 RL。在這一階段,他們再次對數學和編程問題使用基於規則的準確性獎勵方法,而其他問題類型則使用人類偏好標籤。總而言之,這與常規 RLHF 非常相似,不同之處在於 SFT 數據包含(更多)CoT 示例,且 RL 除了基於人類偏好的獎勵外,還有可驗證的獎勵。
最終模型 DeepSeek-R1 由於額外的 SFT 和 RL 階段,性能比 DeepSeek-R1-Zero 有了顯著提升,如下表所示。

4) 純監督微調 (SFT) 與蒸餾
到目前為止,我們已經介紹了構建和改進推理模型的技術:
- 推理時擴展:一種無需訓練或修改底層模型即可提高推理能力的技術。
- 純強化學習 (RL):如 DeepSeek-R1-Zero 所示,證明了推理可以作為一種習得行為在沒有監督微調的情況下湧現。
- 監督微調 (SFT) 加 RL:產生了 DeepSeek-R1,DeepSeek 的旗艦推理模型。
那麼還剩下什麼?模型「蒸餾」。
令人驚訝的是,DeepSeek 還發布了通過他們稱為「蒸餾」過程訓練的較小模型。然而,在 LLM 的背景下,蒸餾並不一定遵循深度學習中使用的經典知識蒸餾方法。傳統上,在知識蒸餾中(如我的《Machine Learning Q and AI》書中第 6 章簡要描述的那樣),較小的學生模型是在較大教師模型的對數幾率 (logits) 和目標數據集上同時訓練的。
相反,這裡的蒸餾是指在較大 LLM 生成的 SFT 數據集上對較小的 LLM(如 Llama 8B 和 70B 以及 Qwen 2.5 模型 0.5B 到 32B)進行指令微調。具體來說,這些較大的 LLM 是 DeepSeek-V3 和 DeepSeek-R1 的中間檢查點。事實上,用於此蒸餾過程的 SFT 數據與前一節中用於訓練 DeepSeek-R1 的數據集相同。
為了澄清這一過程,我在下圖中突出了蒸餾部分。

他們為什麼開發這些蒸餾模型?在我看來,有兩個關鍵原因:
- 較小的模型更高效。這意味著它們的運行成本更低,而且可以在較低端的硬件上運行,這對於像我這樣的許多研究人員和愛好者來說特別有吸引力。
- 純 SFT 的案例研究。這些蒸餾模型作為一個有趣的基準,展示了在沒有強化學習的情況下,純監督微調 (SFT) 能將模型帶到多遠。
下表將這些蒸餾模型的性能與其他流行模型以及 DeepSeek-R1-Zero 和 DeepSeek-R1 進行了比較。

我們可以看到,蒸餾模型的表現明顯弱於 DeepSeek-R1,但相對於 DeepSeek-R1-Zero 卻出奇地強,儘管它們的規模小了幾個數量級。同樣有趣的是,這些模型與 o1 mini 相比表現如何(我懷疑 o1-mini 本身可能也是 o1 的類似蒸餾版本)。
在結束本節之前,還有一個有趣的比較值得一提。DeepSeek 團隊測試了在 DeepSeek-R1-Zero 中看到的湧現推理行為是否也會出現在較小的模型中。為了調查這一點,他們將 DeepSeek-R1-Zero 的純 RL 方法直接應用於 Qwen-32B。
該實驗的結果總結在下表中,其中 QwQ-32B-Preview 作為 Qwen 團隊開發的基於 Qwen 2.5 32B 的參考推理模型(我想訓練細節從未公開)。這一比較提供了一些額外的見解,即純 RL 是否能誘導比 DeepSeek-R1-Zero 小得多的模型產生推理能力。

有趣的是,結果表明對於較小的模型,蒸餾比純 RL 有效得多。這符合以下觀點:單靠 RL 可能不足以在這種規模的模型中誘導出強大的推理能力,而在高質量的推理數據上進行 SFT 對於小模型來說可能是更有效的策略。
為了完整起見,如果表中能包含以下額外的比較將會很有用:
- 使用 SFT + RL 訓練的 Qwen-32B,類似於 DeepSeek-R1 的開發方式。這將有助於確定當 RL 與 SFT 結合時,與純 RL 和純 SFT 相比能有多少改進。
- 使用純 SFT 訓練的 DeepSeek-V3,類似於蒸餾模型的創建方式。這將允許直接比較,看看 RL + SFT 相對於純 SFT 的有效性。
關於 DeepSeek R1 的思考
最近幾週,許多人詢問我對 DeepSeek-R1 模型的看法。簡而言之,我認為它們是一項了不起的成就。作為一名研究工程師,我特別欣賞那份詳細的技術報告,它提供了我可以學習的方法論見解。
最引人入勝的收穫之一是推理如何作為純 RL 的行為湧現出來。而且令人印象深刻的是,DeepSeek 在寬鬆的 MIT 開源許可證下開源了他們的模型,這甚至比 Meta 的 Llama 模型限制更少。
它與 o1 相比如何?
DeepSeek-R1 比 o1 更好嗎?我會說它們大致處於同一水平。然而,突出的地方在於 DeepSeek-R1 在推理時更高效。這表明 DeepSeek 可能在訓練過程中投入了更多,而 OpenAI 在 o1 上可能更多地依賴於推理時擴展。
話雖如此,很難直接比較 o1 和 DeepSeek-R1,因為 OpenAI 並未透露太多關於 o1 的信息。例如,我們不知道:
- o1 是否也是混合專家模型 (MoE)?
- o1 有多大?
- o1 是否只是 GPT-4o 的一個略微精煉版本,僅帶有極少的 RL + SFT 和大量的推理時擴展?
在不知道這些細節的情況下,直接比較仍然是「拿蘋果比橘子」。
訓練 DeepSeek-R1 的成本
另一個討論點是開發 DeepSeek-R1 的成本。有人提到約 600 萬美元的訓練成本,但他們可能混淆了 DeepSeek-V3(去年 12 月發布的基座模型)和 DeepSeek-R1。
600 萬美元的估計是基於假設每 GPU 小時 2 美元,以及 DeepSeek-V3 最終訓練運行所需的 GPU 小時數,這在 2024 年 12 月就已經討論過。
然而,DeepSeek 團隊從未透露過 R1 的確切 GPU 小時數或開發成本,因此任何成本估算純屬猜測。
無論如何,最終 DeepSeek-R1 是開源權重推理模型的一個重要里程碑,其推理時的高效性使其成為 OpenAI o1 的一個有趣替代方案。
在有限預算下開發推理模型
開發 DeepSeek-R1 級別的推理模型可能需要數十萬到數百萬美元,即使是從 DeepSeek-V3 這樣的開源權重基座模型開始。這對於預算有限的研究人員或工程師來說可能感到沮喪。
好消息:蒸餾大有可為
幸運的是,模型蒸餾提供了一個更具成本效益的選擇。DeepSeek 團隊通過他們的 R1 蒸餾模型證明了這一點,儘管這些模型比 DeepSeek-R1 小得多,但仍實現了出奇強大的推理性能。然而,即使是這種方法也並非完全廉價。他們的蒸餾過程使用了 80 萬個 SFT 樣本,這需要大量的計算資源。
有趣的是,就在 DeepSeek-R1 發布前幾天,我看到一篇關於 Sky-T1 的文章,這是一個迷人的項目,一個小團隊僅使用 1.7 萬個 SFT 樣本就訓練了一個開源權重的 32B 模型。總成本?僅 450 美元,比大多數 AI 會議的註冊費還低。
這個例子強調了,雖然大規模訓練仍然昂貴,但規模較小、有針對性的微調工作仍能以極低的成本產生令人印象深刻的結果。

根據他們的基準測試,Sky-T1 的表現與 o1 大致相當,考慮到其低廉的訓練成本,這非常令人印象深刻。
預算有限下的純 RL:TinyZero
雖然 Sky-T1 專注於模型蒸餾,我也在「純 RL」領域看到了一些有趣的工作。一個顯著的例子是 TinyZero,這是一個 3B 參數的模型,它複製了 DeepSeek-R1-Zero 的方法(順便提一下:訓練成本不到 30 美元)。
令人驚訝的是,即使只有 3B 參數,TinyZero 也展現出了一些湧現的自我驗證能力,這支持了推理可以通過純 RL 湧現的觀點,即使是在小模型中。
TinyZero 的倉庫提到研究報告仍在編寫中,我肯定會密切關注進一步的細節。

上述兩個項目證明,即使預算有限,在推理模型方面開展有趣的工作也是可能的。雖然這兩種方法都複製了 DeepSeek-R1 的方法,一個專注於純 RL (TinyZero),另一個專注於純 SFT (Sky-T1),但探索如何進一步擴展這些想法將會非常迷人。
超越傳統 SFT:歷程學習 (Journey Learning)
去年我看到的一種特別有趣的方法在論文《O1 Replication Journey: A Strategic Progress Report – Part 1》中有所描述。儘管標題如此,該論文實際上並未複製 o1。相反,它引入了一種改進蒸餾(純 SFT)過程的不同方式。
論文中的核心思想是使用「歷程學習 (journey learning)」作為「捷徑學習 (shortcut learning)」的替代方案。
- 捷徑學習是指指令微調中的傳統方法,即僅使用正確的解決路徑來訓練模型。
- 歷程學習則包含錯誤的解決路徑,讓模型從錯誤中學習。
這種方法與 TinyZero 的純 RL 訓練中觀察到的自我驗證能力有些相關,但它專注於完全通過 SFT 來改進模型。通過讓模型接觸錯誤的推理路徑及其修正,歷程學習也可能強化自我修正能力,從而可能使推理模型以此方式變得更可靠。

這可能是未來工作的一個令人興奮的方向,特別是對於低預算的推理模型開發,因為基於 RL 的方法在計算上可能不切實際。
總之,推理模型前沿目前正在開展大量有趣的工作,我相信在接下來的幾個月裡,我們將看到更多令人興奮的成果!
本雜誌是一個個人熱情項目。對於那些希望支持我的人,請考慮購買一本我的《Build a Large Language Model (From Scratch)》書。(我有信心你會從這本書中收穫頗豐,因為它以其他地方找不到的詳細程度解釋了 LLM 的運作原理。)

如果你讀了這本書並有幾分鐘空閒時間,我會非常感謝你的簡短評論。這對我們作者幫助很大!
你的支持意義重大!謝謝!
相關文章