本文顛覆了傳統的AI推理訓練範式,不再正向「建構」思維鏈,而是從結果出發「逆向工程」出思維鏈,證明了即使在沒有獎勵訊號的創意寫作中,也能透過這種方式教會模型複雜的規劃能力。(原論文題目見文末,Published on arxiv on 07 Sep 2025, by ByteDance)
第一階段:識別核心概念
論文動機分析
這篇論文的出發點非常明確,旨在解決一個當前大型語言模型(LLM)領域的核心難題:如何讓模型在開放式、創造性任務(如寫故事、寫文章)中也具備「深度思考」的能力。
我們知道,像「思維鏈」(Chain-of-Thought)這樣的技術已經讓模型在有明確對錯答案的領域(如數學計算、程式碼編寫)取得了巨大成功。這些模型能夠透過一步步的推理過程,最終找到正確答案。這主要得益於兩種主流訓練方法:
強化學習(RL):模型不斷嘗試,如果最終答案對了,就給予獎勵。這就像一個學生做數學題,做對了老師就給糖吃。
指令蒸餾(Distillation):讓一個強大的「教師模型」(如GPT-4)先寫出解題過程,然後讓「學生模型」去學習模仿。
然而,當任務變成寫一篇小說時,這兩個方法就失靈了。
強化學習的困境:一篇小說沒有「標準答案」,也就沒有明確的「獎勵訊號」。我們很難用一個簡單的分數來評判一篇文章是「好」還是「壞」,因為這涉及到主觀的藝術審美。
指令蒸餾的困境:讓教師模型為海量主題都生成一遍高品質的思考過程,成本極其高昂,而且學生模型的能力上限永遠無法超越教師模型。
因此,當前的「深度思考」能力被困在了有標準答案的「可驗證領域」。這篇論文的動機,就是要打破這個瓶頸,為開放式、創造性任務找到一條全新的、可行、能教會模型深度思考的道路。
論文主要貢獻點分析
列出論文聲稱的主要創新點
提出一個全新的推理範式:作者開創了一種名為「逆向工程推理」(REverse-Engineered Reasoning, REER)的新方法。這是一種全新的思路,它不向前「建構」推理,而是向後「恢復」推理。
發布一個大規模高品質資料集:基於REER方法,作者建構並開源了
DeepWriting-20K資料集,包含2萬條針對開放式任務的深度思考軌跡。這極大地緩解了該領域高品質訓練資料的稀缺問題。訓練出一個效能強大的開源模型:作者利用該資料集從頭訓練了一個80億參數的模型
DeepWriter-8B,證明了該方法的有效性。找出支撐這些創新的關鍵技術或方法
REER的核心機制:整個範式的基石是將「尋找最佳思考過程」這個問題,重新定義為一個基於困惑度(Perplexity)的梯度無關搜尋問題。簡單來說,它認為一個好的思考過程(或計畫),應該能讓一個已知、高品質的最終答案看起來「理所當然、毫不意外」。
疊代式局部搜尋演算法:為了實現REER,作者設計了一個具體的演算法。該演算法從一個粗糙的初始思考計畫開始,然後像打磨一件藝術品一樣,一次只專注於一小部分,不斷地進行局部最佳化和疊代,直到整個思考過程變得非常完善。這個過程的「導航訊號」就是上面提到的「困惑度」。
論文有哪些顯著結果
效能上的重大突破:最顯著的結果是,一個僅有80億參數的開源模型
DeepWriter-8B,在多個複雜的寫作和生成任務上,不僅遠超同等規模的開源模型,甚至在某些方面能夠媲美甚至超越像GPT-4o和Claude 3.5這樣的頂級專有模型。範式上的重大意義:這篇論文展示了第三條路。除了昂貴的「模仿老師」(蒸餾)和在開放領域難以實施的「試錯學習」(強化學習),現在有了一種更具擴展性、成本更低、且自動化程度高的方法來培養模型的深度思考能力。這為中小型模型擁有強大推理能力提供了可能,具有「民主化」先進AI能力的潛力。
理解難點識別
分析哪些概念/方法是理解論文的關鍵
核心概念:逆向工程推理 (REER) 的哲學思想。讀者必須首先理解「從結果倒推過程」這一核心轉變。
核心機制:如何用「困惑度(Perplexity)」來指導一個搜尋過程。這是將REER哲學思想轉化為可執行演算法的關鍵。為什麼低困惑度就意味著好的思考過程?這是理解技術核心的關鍵。
核心演算法:疊代式局部搜尋(Iterative Refinement via Local Search)。這是實現上述機制的具體步驟,理解它是如何一步步最佳化思考軌跡的。
找出這些概念中最具挑戰性的部分
最具挑戰性的部分在於理解「困惑度(Perplexity)」這個資訊論概念在這裡的巧妙應用。通常,困惑度用來衡量一個語言模型對一段文本的預測能力好壞。而在這裡,它被「反過來」用作一個評估標準,去評判一個「思考過程」的品質。這種角色的轉換是理解本文技術核心的難點。
確定需要重點解釋的核心概念
我們將重點解釋:REER如何被形式化為一個由困惑度(Perplexity)指導的搜尋問題。這是連接論文思想與實現之間的橋樑,也是最具創新性的部分。
概念依賴關係
起點:首先要理解REER的頂層思想——我們不是在「寫」思考過程,而是在「找」一個最能解釋已知優秀答案的思考過程。
核心:然後深入到搜尋問題的定義。要「找」東西,就需要一個目標。這個目標就是最小化困惑度。這解釋了「為什麼」要這麼做。
實現:最後介紹疊代式局部搜尋演算法。有了目標,我們還需要一個方法去實現它。這個演算法就是「如何」一步步找到那個困惑度最低的思考過程。
這個邏輯鏈條清晰地從「思想」到「目標」再到「方法」,構成了我們下一階段深入解釋的最佳路徑。
第二階段:深入解釋核心概念
設計生活化比喻:偵探破案
想像一下,一個非常複雜的密室謀殺案已經發生。作為一名天才偵探,你來到了犯罪現場。
最終成品:你眼前的是犯罪現場的最終狀態——被害人倒在地上,門窗緊鎖,房間裡的一切都擺放有序(或者混亂無序)。這對應論文中的一篇已知、高品質的範文(y)。
初始任務:你接到的任務是「偵破此案」。這對應論文中的使用者的寫作請求(x),比如「寫一個關於...的故事」。
你要找的東西:你並不知道罪犯是怎麼作案的。你需要做的,是逆向推理出整個犯罪過程的最合乎邏輯的作案計畫。這個「作案計畫」就對應論文中的深度思考軌跡(z)。
那麼,一個好的「作案計畫」應該具備什麼特點?它必須能夠完美地解釋現場的所有證據,讓整個案件的發生看起來順理成章、毫不離奇。如果你的推理需要假設罪犯會飛、能穿牆,那這個「作案計畫」就太「離奇」了,可信度很低。
這裡的「離奇程度」或「驚奇程度」,就恰好對應了我們技術中的核心——困惑度(Perplexity)。
建立比喻與實際技術的對應關係
比喻中的元素 (偵探破案): 犯罪現場的最終狀態
實際技術概念: 一篇高品質的範文 (y)
合理解釋: 這是我們已知、需要被「解釋」的最終結果。
比喻中的元素 (偵探破案): 偵破案件的任務
實際技術概念: 使用者的寫作請求 (x)
合理解釋: 這是整個任務的起點和約束。
比喻中的元素 (偵探破案): 罪犯的作案計畫 (未知)
實際技術概念: 深度思考軌跡 (z)
合理解釋: 這是我們想要透過逆向工程找到的潛在過程。
比喻中的元素 (偵探破案): 偵探的調查過程
實際技術概念: 尋找最佳思考軌跡 (z) 的搜尋過程
合理解釋: 偵探透過不斷假設和驗證,尋找最合理的作案計畫。
比喻中的元素 (侦探破案): 作案計畫的「驚奇程度」
實際技術概念: 困惑度 PPL(y|x, z)
合理解釋: 困惑度衡量給定思考軌跡和使用者請求下,範文y發生的「出乎意料」程度。分數越低,代表思考過程越合理。
比喻中的元素 (偵探破案): 偵探的助手/分析工具
實際技術概念: 生成思考軌跡的LLM
合理解釋: 偵探利用這個工具來提出各種可能的作案細節。
比喻中的元素 (偵探破案): 偵探逐步完善推理鏈條
實際技術概念: 疊代式局部搜尋演算法
合理解釋: 偵探不會一次想出所有細節,而是先有一個大概框架,然後逐個環節推敲、最佳化。
深入技術細節
論文將尋找最佳思考軌跡 z* 的過程,形式化為以下最佳化問題:
原始數學形式
符號替換版本(自然語言解釋)
最佳的思考軌跡 (z*) = 是從所有可能的思考軌跡集合 (Z) 中,找到那個能讓下面這個值最小的軌跡 (z):
某個答案的「驚奇程度」(PPL),這個答案是已知的範文 (y),產生的條件是 基於使用者的原始請求 (x) 和 我們假設的這個思考軌跡 (z)。
簡單來說,這條公式的含義是:一個最好的思考計畫,就是那個能讓我們的品質範文看起來最順理成章、最不令人意外的計畫。
將技術細節與比喻相互映射
這個數學公式在我們的「偵探破案」比喻中是如何體現的呢?
公式的涵義映射:
z* 在比喻中就是:偵探的目標,是找到一個作案計畫 (z),這個計畫能讓最終的犯罪現場 (y) 在給定的案件背景 (x) 下,看起來「驚奇程度」(PPL)最低。
一個需要假設「罪犯會瞬移」的計畫,會導致PPL值極高,因為它太「驚奇」了,所以會被偵探排除。
一個能完美解釋所有指紋、腳印和作案時間的計畫,則會讓犯罪現場的出現顯得非常自然,PPL值就會很低,這正是偵探要找的。
演算法步驟映射(疊代式局部搜尋):
評估A:現場窗戶完好無損,所以「爬窗」這個計畫讓現場看起來非常驚奇(PPL高)。排除!
評估B:門鎖上有輕微刮痕,所以「萬能鑰匙」這個計畫讓現場證據顯得比較合理(PPL較低)。保留!
評估C:沒有搏鬥痕跡,所以「被害者開門」也比較合理(PPL較低)。保留!
步驟1:初始化 (Initialization)
技術上:模型針對任務(x)和範文(y),先生成一個非常粗糙、不完美的初始思考軌跡 z(0)。
比喻中:偵探到達現場後,提出一個初步、簡單的假設:「這可能是一起入室搶劫殺人案」。這個假設就是 z(0)。
步驟2:節點擴展 (Node Expansion)
技術上:演算法選擇思考軌跡中的一小段(比如第i個步驟 z_i),然後讓LLM針對這一小段,生成多個更詳細、更完善的候選版本 z'_i。
比喻中:偵探開始聚焦於某個具體環節,比如「罪犯是如何進入房間的?」(這是 z_i)。他讓助手提出幾種可能性:「A. 從窗戶爬進來的 B. 用萬能鑰匙開的門 C. 被害者自己開的門」。
步驟3:節點評估與選擇 (Node Evaluation and Selection)
技術上:對於每個候選版本 z'_i,演算法都用它替換掉原來的 z_i,形成一個臨時的完整軌跡 z(temp),然後計算 PPL(y|x, z(temp))。演算法會選擇那個讓PPL值最低的候選版本。
比喻中:偵探逐一評估這些可能性:
偵探會選擇那個讓所有證據鏈條最通順、最不「驚奇」的那個版本作為當前環節的結論。
步驟4:終止 (Termination)
技術上:重複步驟2和3,不斷打磨思考軌跡的每一部分,直到整體PPL值低於一個預設閾值,或者達到了最大疊代次數。
比喻中:偵探對作案計畫的每一個環節(如何進入、如何行兇、如何離開等)都進行了上述推敲,直到整個故事天衣無縫,能夠完美解釋所有現場證據,不再有任何「驚奇」之處。此時,調查結束,找到了最可能的作案計畫 z*。
比喻的局限性
這個比喻非常貼切,但有一個微小的區別:在現實中,偵探的目標是找到「真相」,而REER的目標是找到一個「邏輯上最 plausible(最貌似可信)」的思考過程。這個過程不一定是作者當初的真實想法,但它必須是能夠邏輯自洽地導出最終作品的有效路徑。
總結
透過「偵探破案」的比喻,我們可以清晰地理解REER的核心:
核心聯繫:尋找最佳思考過程,就像偵探還原最合理的作案計畫。
關鍵原理:評估一個「計畫」好壞的標準,不是它是否真實,而是它能否讓「最終結果」看起來最不令人意外。這個「不意外」的程度,就是透過最小化困惑度(Perplexity)來數學化地實現的。
這個巧妙的設計,讓模型得以在沒有明確「對錯」標籤的創意領域,也能透過一個可計算、可最佳化的目標,學會如何進行深度、結構化的思考。
第三階段:詳細說明流程步驟
整個流程可以分為三個主要階段:1. 原始資料採購 -> 2. 思考軌跡合成 -> 3. 模型訓練。
階段一:原始資料採購 (Sourcing of (Query, Solution) Pairs)
這一階段的目標是收集大量高品質的「任務-答案」對 (x, y),作為後續逆向工程的原材料。
輸入:無特定輸入,目標是廣泛搜集。
處理過程:作者從三個管道搜集資料,以確保多樣性:
公共寫作平台:從像
r/WritingPrompts這樣的網路社群抓取「寫作提示(Prompt)」和使用者創作的「故事」。在這裡,「寫作提示」就是任務x,「高讚故事」就是高品質答案y。社群的點讚數可以作為初始的品質篩選標準。公共領域文學作品:使用古騰堡計畫(Project Gutenberg)中的經典文學作品作為高品質答案y。然後,讓一個強大的LLM(如GPT-4o)閱讀這些作品的開頭段落,反向推斷出一個可能引出這段文字的「寫作任務」或「查詢」x。
現有公共資料集:從一些指令微調資料集中(如WildChat, LongWriter6K)篩選出適合開放式生成的問答對,擴充資料集。
輸出:大量原始的 (x, y) 對,即「任務-範文」對。
階段二:思考軌跡合成 (Trajectory Synthesis)
這是整個方案的核心,即執行REER演算法,為每一個 (x, y) 對生成一個高品質的思考軌跡 z*。
輸入:一個從階段一篩選出的高品質 (x, y) 對。
處理過程:這裡就是我們在第二階段詳細描述的疊代式局部搜尋演算法的執行過程。我們再詳細地串講一遍:
將 (x, y) 對餵給一個生成模型(Generator LLM,論文中使用Qwen2.5-32B-Instruct)。
使用一個精心設計的「思想啟發」提示(Prompt,參考論文附錄Listing 1),要求模型生成一個初步、不完美的思考過程 z(0)。這個Prompt會引導模型思考使用者意圖、內容結構、腦力激盪等,並鼓勵使用「嗯...」、「等等,也許...」這類人類思考模式的短語。
目前狀態:我們得到了一個粗糙的計畫 z(0)。
步驟 A: 初始化 (Initialization)
步驟 B: 疊代最佳化循環 (Iterative Refinement Loop)
這個循環會進行多次,直到滿足終止條件。在每一次循環中:
1. 選擇片段:從目前的思考軌跡 z(k) 中選擇一個片段 z_i 進行最佳化。
2. 生成候選:將任務x、範文y、以及 z_i 周圍的上下文(即 z(k) 的其他部分)再次餵給生成模型。使用一個專門用於「局部最佳化」的Prompt(參考Listing 2),要求模型僅針對 z_i 這一片段,生成多個(例如K個)更詳細、更合理的候選版本 z'_i。
3. 評估候選:現在開始「打分數」。對於每一個候選版本 z'_i,建構一個臨時、完整的思考軌跡 z(temp)(方法是把原軌跡 z(k) 中的 z_i 替換為 z'_i),然後計算這個臨時軌跡的「驚奇分數」,即困惑度 PPL(y|x, z(temp))。這個分數越低,表示 z'_i 這個思考片段越能讓最終的範文y顯得合理。
4. 更新軌跡:比較所有候選版本(包括原始的 z_i)的困惑度分數,選擇那個得分最低的候選版本 z'*(i)。用 z'*(i) 正式替換掉 z_i,形成本次循環後更新、品質更高的思考軌跡 z(k+1)。
5. 檢查終止:判斷 z(k+1) 的整體困惑度是否已經低於設定的目標閾值,或者是否已達到最大疊代次數。如果滿足,則退出循環;否則,將 z(k+1) 作為下一次循環的輸入,繼續最佳化其他片段。
輸出:一個經過千錘百鍊、高品質的思考軌跡 z*。此時,我們得到了一個完整的訓練樣本三元組 (x, y, z*)。
階段三:模型訓練 (Final Dataset Assembly for Fine-Tuning)
這一階段的目標是利用合成好的資料,訓練出最終的DeepWriter-8B模型。
輸入:海量透過階段二生成的 (x, y, z*) 三元組。
處理過程:
資料過濾:為了確保最高品質,作者設計了兩道過濾程序。
思考終點過濾:丟棄那些在思考軌跡的最後10%部分仍然出現大量「嗯...」這類探索性短語的樣本。這表明模型可能陷入循環思考,未能形成最終決斷。
重複性過濾:計算每個軌跡中高頻n-gram的重複率,過濾掉那些內容高度重複、語言貧乏的樣本。
資料集混合:作者發現,如果只用自己生成的創意寫作資料進行訓練,模型可能會忘記其他領域的通用知識(這被稱為「災難性遺忘」)。為了避免這一點,他們將自己生成的
DeepWriting-20K資料集與一個包含數學、科學、程式設計等領域思考過程的公共資料集(OpenThoughts)進行混合。格式化與微調:
將每一個三元組 (x, y, z*) 格式化成一個標準的訓練Prompt。格式大致如下:[使用者問題 x]
<think>
[思考軌跡 z*]
</think>
<answer>
[最終答案 y]
</answer>使用這個最終的混合資料集,對一個基礎模型(Qwen2-8B-Base)進行全參數微調(Fine-Tuning)。這個訓練過程明確地教導模型:在生成最終答案之前,先在
<think>標籤內進行一步步的深入思考。
輸出:最終的、學會了逆向工程推理能力的模型——DeepWriter-8B。
透過這三個環環相扣的階段,論文作者建構了一個從資料採集到模型訓練的完整閉環,成功地將REER這一創新思想落地,並驗證了其有效性。
第四階段:實驗設計與驗證分析
1. 主實驗設計解讀:核心論點的驗證
核心主張:
論文的核心主張是:透過REER範式,可以在不依賴強化學習或昂貴蒸餾的情況下,從頭訓練一個中等規模(8B)的開源模型,使其在複雜的開放式生成任務上,達到甚至超越頂級專有模型和現有開源模型的水準。
實驗設計分析:
資料集:作者選擇了三個具代表性的基準測試集(Benchmark):
LongBench-Write (LB):這是一個「壓力測試」,專門評估模型生成超長文本(>10,000詞)時保持連貫性的能力。選擇它非常合理,因為它直接考驗了深度規劃和長期一致性,這正是深度思考要解決的核心問題之一。
HelloBench (HB):這個資料集包含了大量「真實世界」的使用者查詢,分為HB-A (開放式問答)和HB-B (啟發式文字生成)。選擇它是為了驗證模型的泛化能力和實用性,證明模型不只是在特定任務上表現好,而是能應對五花八門的真實需求。
WritingBench (WB):這是一個專業領域的寫作測試集,涵蓋學術、金融、法律、文學等六個領域。選擇它旨在檢驗模型的領域專業性和遵循複雜指令的能力,這是進階生成能力的重要體現。合理性:這三個資料集的選擇覆蓋了長度、廣度和深度三個維度,構成了非常全面的評估體系,能夠有力地支撐實驗結論。
評估指標:
由於開放式生成任務的評估是主觀的,作者採用了當前該領域的通用標準:使用更強大的LLM(GPT-4o, Claude 3.7)作為裁判進行打分數。雖然LLM裁判存在一定偏見,但在缺乏大規模人工標註的情況下,這是目前最具擴展性且一致的評估方法。作者明確指出了所用裁判模型,保證了實驗的可重現性。
基準方法 (Baselines):
合理性:基準的選擇兼顧了「與同級最佳比較」和「挑戰業界頂級」,使得實驗結果的說服力非常強。
開源基準:
LongWriter-8B。這是一個在長文本寫作領域非常強大的開源模型,作為同量級的比較對象,能夠突顯REER方法相對於傳統微調方法的優勢。專有模型:
GPT-4o,Claude 3.5,Claude 3.7。這些是當前公認最先進的模型(SOTA),將DeepWriter-8B與其進行比較,是想證明該方法不僅在開源社群領先,而且足以挑戰業界頂級水準。主實驗結果與結論 (Table 1):
結果支撐:表格資料顯示,
DeepWriter-8B在所有測試集上都顯著優於開源基準LongWriter-8B,尤其在專業的WritingBench上平均提升超過18分,這直接證明了REER方法的優越性。更引人注目的是,DeepWriter-8B在長文本生成(LB)上甚至超過了GPT-4o和Claude 3.5;在專業寫作(WB)上全面超越Claude 3.5,並與GPT-4o和Claude 3.7高度可比。結論:主實驗強有力地驗證了論文的核心論點。REER是一個非常有效的方法,它能夠賦能中等規模模型,使其具備與巨型模型相抗衡的深度思考和複雜文本生成能力。
2. 消融實驗分析:內部組件的貢獻
消融實驗(見Table 2)的目的是「拆解」REER方法,驗證每個設計環節的必要性。
被消融的關鍵模組:
移除合成資料 (Remove Synthesis Data):只用公共的思考資料集(如OpenThoughts)進行訓練,完全不用
DeepWriting-20K。這對應了「自製資料本身」的貢獻。結果:效能出現斷崖式下跌,是所有消融項中影響最大的。這定量地證明了:不是任何思考資料都有用,為開放式任務量身打造、透過REER合成的高品質資料才是效能提升的根本原因。
移除疊代搜尋 (Remove Iterative Search):使用最初生成的、未經最佳化的思考軌跡
z(0)來訓練模型。這對應了「疊代最佳化過程」的貢獻。結果:效能同樣顯著下降,尤其在需要精細規劃的WritingBench任務上。這證明了:透過困惑度指導的疊代最佳化過程是不可或缺的,它能發現比初始計畫更優的推理路徑,從而教導模型更強的生成能力。
移除反思性詞元 (Remove Reflection Tokens):在資料合成階段,不鼓勵模型使用