每隔幾週就會有一篇新論文主張:如果不只是蒸餾大型模型的輸出,還把它「為什麼這樣答」的理由一起蒸餾過來,小型模型也能像大型模型那樣「推理」。這條研究路線目前的統稱是 從解釋出發的聚焦式蒸餾(Focused Distillation from Explanations,FDE):學生模型學的不再只是老師的最終答案,而是同時吃進老師的解釋軌跡以及答案。
如果你正在用 Claude 打造產品——尤其是你曾經想過能不能用比較便宜的本地模型取代昂貴的 Claude 呼叫——這條研究線值得追。但這也是最容易被誤讀成「小模型正在追上大模型」的一條線。真實情況比這句話更實用,也更接地氣。
核心概念,一段話講完
標準的知識蒸餾是讓小型「學生」模型去模仿大型「老師」模型的輸出。FDE 這類方法多加了一條訓練訊號:老師的推理理由——通常是一段思路鏈(chain of thought)、一步一步推導出來的過程,或一段自然語言的解釋。學生訓練的是 (輸入、思路、答案) 三元組,而不只是 (輸入、答案) 對。這樣做的賭注是:強迫學生內化「為什麼」,能夠帶來比單純模式配對更普遍化的東西——如果你偏好這個說法的話,可以叫它「可轉移的歸納偏誤」。
真正讓這個想法被大家看見的,是 Hsieh 等人的 Distilling Step-by-Step。他們證明了 770M 參數的 T5 可以在特定基準上打敗 540B 參數的 PaLM,訓練資料還不到後者的 1%,靠的就是從推理理由裡學習。這個結果是真的,也可以被復現,但背後有一堆「小字備註」,是大多數為了 SEO 而寫的「AI 新聞摘要」不會告訴你的。
這條研究線真正說了什麼(以及沒說什麼)
我們把主張切乾淨。
FDE 這類方法可以穩定做到的事:
- 提升樣本效率:學生需要的標註樣本更少,因為推理理由本身就攜帶了額外的結構資訊。
- 在推理理由本身揭示出一個程序的任務上(算術、符號操作、結構化推理),提升分佈外(OOD)泛化能力。
- 提供一個推論成本更低、且行為「可讀」的模型——你可以檢視它的推理理由,在上游就把差答案擋掉。
它們做不到的事(不管標題怎麼寫):
- 在開放式推理上追平差距。當合理推理理由的空間非常龐大(長時程規劃、全新的科學推理),這類方法救不了你。
- 保證推理理由是忠實的。學生可能學會產生一段聽起來很合理、但其實跟最終答案沒有因果關係的軌跡——這是解釋式訓練裡一個被反覆記錄下來的失敗模式。
- 淘汰老師。訓練時你還是需要一個大型模型來產生推理理由。
最後這一點的商業意涵很重要。FDE 並不是「你可以用 7B 模型換掉 Claude Opus」,而是「你可以把 Claude Opus 的一部分工作量分流給比較小的模型,前提是你已經付錢請 Claude Opus 在訓練階段幫你產生推理理由」。經濟效益要成立,任務必須是穩定、高流量、且範圍夠窄的。任務分佈一直在變,這套算盤就會崩掉。
依序值得讀的四篇論文
如果你有三個小時要投入這個文獻,我會建議照這個順序看。以下每篇我會說「看的時候要留意什麼」,而不只是它主張什麼。
-
Distilling Step-by-Step(Hsieh et al., 2023) — 入門首選。看它的訓練配方:把推理理由當成輔助目標,配上獨立的損失權重。特別留意它針對推理理由品質做的消融實驗(ablation);那是整篇最重要的發現,卻被作者本人低估了。
-
Symbolic Chain-of-Thought Distillation(Li et al., 2023) — 把同樣的想法套用到符號推理任務(數學應用題、邏輯推導)上的小模型。看它可以理解:為什麼有些領域比其他領域更容易「轉移」。訊號很清楚:當推理理由揭示的是一個程式而不是一種感覺時,蒸餾效果最好。
-
Distilling Reasoning Capabilities into Smaller Language Models(Shridhar et al., 2023) — 這是另一種觀點:先把推理拆成子問題,再進行蒸餾。把它當成對「整段 CoT 一次搬過去」的批判來讀:有時候正確的傳遞單位不是整條思路鏈,而是其中一個子程序。
-
On the Faithfulness of Distilled Rationales(2024–2025 年間的一系列論文) — 這一系列批判性研究顯示:學生產出的推理理由常常聽起來對,但實際上並不決定它的答案。放到最後讀,作為對前面幾篇的修正。這是「為什麼你永遠不該在沒有獨立驗證的情況下信任小模型的解釋」最有力的論述。
我刻意不在這裡引用具體的數字結果。這個領域的基準變得很快,寫死一個數字很快就會過時。真正能歷久不衰的是論證的形狀,而這個形狀是:FDE 提升了樣本效率與可讀性,並不會在開放式任務上補齊能力差距,而且伴隨忠實度上的注意事項。
你在用 Claude 出貨時,這一切代表什麼
這裡是研究跟你工作台交會的地方。三個實用結論。
1. 推理理由是一級產物,不是 debug 訊息
如果你在用 Claude 處理一個結構穩定的任務——分類工單、從文件抽欄位、路由使用者意圖——把推理理由存下來。不只是為了稽核(雖然這也有用)。當你日後想蒸餾一個便宜的模型時,這些推理理由就是訓練資料;當你想抓失敗案例時,它們也是驗證訊號。
一個具體的模式:對於高流量工作流程裡的每一次 Claude 呼叫,都記錄 (input, rationale, output, downstream_outcome)。六個月後,你手上就有 FDE 研究預設你「早就該有」的那個資料集。
2. 只在推理理由「像程式」的地方做蒸餾
Symbolic CoT 那篇論文的隱含教訓是:當推理理由看起來像一段可執行的程序時,蒸餾的轉移效果最好。抽取?可以。特徵明確的分類?可以。「幫這封客訴信寫一封周到的回覆」?不行——這種推理理由的空間太開放,小模型會學到用語調做模式配對,卻無法繼承背後的判斷力。
一個直覺法則:如果你可以想像把這段推理理由寫成一個虛擬碼函式,那蒸餾大概會成功。如果推理理由是「考慮語氣、脈絡、品牌調性,然後決定」,那大概不會。
3. 對推理理由的信任要有條件,永遠不要無條件
忠實度那一系列文獻讀起來很清醒。一個學生模型可以產出一段看起來完全合理的思路鏈,卻跟它最終的答案沒有任何因果關係。這不是假設——已經有人靠遮蔽推理理由的 token、發現輸出竟然不變,實證出來過了。
實務上的對策:在生產環境使用蒸餾模型時,不要把它的推理理由當成給終端使用者看的正當性說明。你可以把推理理由當作內部過濾器——當它跟輸入不一致就把該筆輸出擋掉——但推理理由本身要當成「不可信的證據」,不要當成證明。
一套下週一就能開跑的工作流程
如果這些文獻對你有說服力,也想真的動手做點什麼:
- 挑一個範圍夠窄的任務——你目前用 Claude Opus(或 Sonnet)以高流量在處理的那種。
- 在 Claude 呼叫裡順便要求一段結構化推理理由。全部記下來。
- 等一個月。蒐集 5,000 到 20,000 筆帶推理理由的資料。這是你的種子資料集。
- 試試小規模的微調——對象可以是 Claude Haiku、GPT-4o mini,或 Qwen 2.5 7B 這類開放權重模型。如果框架支援,把推理理由當輔助目標;否則就把推理理由串進目標序列裡。
- 在留出資料集(held-out)上以獨立驗證來衡量成效。不要拿推理理由本身打分,要拿最終結果打分。
- 等做完前五步再評估這樣的成本節省,是否值得多出來的營運複雜度。
大多數團隊會跳過的是第 5 步。他們用推理理由的相似度去給蒸餾模型打分,然後得出「它學會推理了」的結論。其實它沒有——它只是學會了產生「長得像推理」的文字。
我對下一波論文的期待
以一個更在乎開發者、而不是基準分數的人來說,FDE 文獻目前缺三件事:
- 對長時程推理理由蒸餾的嚴肅研究——多步驟工具使用,而不只是單回合的數學題。
- 一個關於韌性的故事:當輸入分佈改變時,蒸餾出來的推理器會怎麼壞?目前所有結果都建立在穩定的基準上。
- 一篇談經濟效益的論文:任務量要到多少,蒸餾的收益才追得回老師端的成本?這是每一個開發者實際會問的問題,而目前的文獻很有禮貌地略過了。
如果你知道有論文在處理上面任何一項,跟我說。與此同時,繼續記錄你的推理理由。你在 2026 年建起來的資料集,就是讓你在 2027 年真的做得起蒸餾的那個資料集。
Claude Community 上的相關閱讀: