解密prompt系列49. 回顧R1之前的思維鏈發展路線
在所有人都在談論R1的今天,作為算法也是有些千頭萬緒無從抓起。所以這一章先復盤,我先按照自己的思路來梳理下R1之前整個模型思維鏈的發展過程。下一章再展望主要去看RL在Agent上的一些嘗試,畢竟Agent規劃和長思考的本質是非常像的,在優化中面臨的問題也是類似的。
梳理大模型出來后的這兩年時間,個人認為思維鏈的技術在R1出現之前,可以分成大致3個階段(哈哈可能每個人都有自己的分類標準吧):
- 大模型能思考,各式各樣的思維鏈能不同程度提升模型在不同領域的效果
- 外生慢思考:Inference Scaling正式提出,推理側的范式逐漸收斂到MCTS
- 內生慢思考:探索把推理側的模型思考能力內化到模型內,包含以RFT為代表的各類訓練方案,PRM為代表的打分方案,STaR為代表的各類樣本優化方案
下面我們細說下每個階段的一些代表方案
階段1-模型能思考:思維鏈能提升任務效果
- COT相關的各類論文可以直接看Github
開始討論如何使用思維鏈來提升大模型效果的起點就是Let's think step by step的論文,它首次提出了Chain of Thought概念,也就是讓模型先思考再回答可以有效提升任務完成效果。
之后差不多1年的時間里出現了很多探索如何優化COT方案的論文,主要集中在以下幾個方向
- 是否使用few-shot:zero-shot,few-shot
- 自動選擇few-shot樣例:AutoCOT, Active Prompting等動態few-shot構建和選擇方案,提升few-shot難度和多樣性可以進一步提升思維鏈效果
- 重點在思考形態調整:Tree of Thought,Graph of Thought,Tree-of-Mixed-Thought,Algorithm of Thought,
- 重點在思考邏輯調整:Least-to-Most(分而治之),CogTree(假設檢驗),Step-Back(后退思考),HtT(演繹推理+歸納推理),Abstraction of Thought(抽象思維),Plan-and-Slove(系統思維)
- 重點在思考角度的調整:DIVISE(多樣性),Self-Consistency(一致性)
不難發現以上的論文還基本停留在,通過指令告訴模型你應該如何思考,或者通過few-shot像模型示范正確的思考方式,以及探索使用不同的邏輯思維方式來提升模型在各個領域的思考效果上。
同期結合Agent的概念,也出現了不少的論文是探索如何把COT和Action,工具調用進行融合,包括
- 基礎編排方式:ReACT,Self-Ask
- 進階編排方式:ART(多步調用),ReWOO(并發執行)
- 領域COT領域:ToRA(數學推理),PAL(代碼),好像還是啥化學生物領域整分子,化學結構啥的忘記叫什么了
第一階段的大模型思維鏈還相對基礎,主要停留在面向不同領域任務的Prompt設計,面向結果居多,并未深入探討思維鏈的過程,什么時候使用思維鏈更好,以及為何思維鏈能提升推理的效果。
階段2-外生慢思考: Inference Scaling理論提出
- DeepMind: Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters
- SELF-REFINE: Iterative Refinement with Self-Feedback
- GLoRe: When, Where, and How to Improve LLM Reasoning via Global and Local Refinements
- PRM: Let's verify step by step
- rStar-Math: Small LLMs Can Master Math Reasoning with Self-Evolved Deep Thinking
第二個階段的代表論文是DeepMind提出的Inference Scaling概念,論文首次抽象并量化了思考的過程,以及可以帶來的收益,核心觀點是
- 通過增加推理階段的計算資源,可以顯著提升LLM性能,且效率優于單純擴大模型參數。例如,采用優化策略后,較小規模的模型在部分任務上可超越參數規模大14倍的模型,同時減少約4倍的計算資源消耗。這表明,測試時計算的合理分配能夠以更低的成本實現高性能輸出。
- 適應性“計算最優”策略,論文提出根據問題難度動態調整測試時計算策略:
- 簡單到中等難度問題:LLM本身有能力生成合理的推理結果,那在推理階段分配更多資源(深度or廣度搜索),能顯著彌補預訓練截斷的不足
- 復雜問題:但是超越LLM本身能力的,即便在推理側分配更多資源也沒用,還是要更多預訓練提升能力才可以
- 通過預測問題難度并自適應分配計算資源,可以達到最優的資源分配

那結合DeepMind以及眾多其他推理搜索的論文,我們可以總結歸納出來,推理階段的思維鏈生成,包含兩個核心能力也就是推理鏈路的生活能力和打分能力
- 推理生成能力:推理鏈路的中間過程如何生成,以什么樣的形態生成
- 深度搜索:self-refine(RISE),self-reflection(GLoRE), 思考本身是串行的,整個流程就是思考->反思->優化->再思考
- 廣度搜索:Major-Vote,Best-of-N,Beam-Search
- 深度+廣度:MCTS,REBEASE等相比Beam-search的局部最優,復雜度更高的全局優化方案
- 推理打分能力:如何選擇更優的推理路徑,從而指導以上的推理過程生成?
- 基于結果的價值函數:ORM
- 基于過程的價值函數:PRM,PRM + Lookahead
- 基于蒙特卡洛模擬:根據每個節點通向最終正確答案的概率來計算節點打分

在Inference Scaling的基礎上再進一步,很自然就會想到既然我們能通過在推理階段海量的探索和打分找到相對更優的推理鏈路,那我們是否就能把這更優的推理鏈路直接通過訓練內化大模型的參數中,這樣在推理側不就不需要這么高的推理資源了么?
那如何如何把外生推理搜索過程內化到模型中,既保留思考效果,又保證全場景泛化能力;以及是否能突破MCTS的上限,獲得更穩定,質量更高的思考鏈路就是下一個階段大家核心探討的問題了。
雖然后面R1的推出讓大家開始懷疑推理搜索技術的合理性,但可能殊途也能同歸。如果搜索推理走到極致也能媲美O1的思考能力,例如rstart-Math已經部分跑通,在數學任務上只靠外生推理搜索就能讓下模型在部分任務媲美O1的推理能力。只不過當前搜索推理的一個問題更多在非STEM問題的泛化上。

階段3-內生慢思考:O1開啟的Long Thought時代
- STaR: Self-Taught Reasoner Bootstrapping ReasoningWith Reasoning
- RL on Incorrect Synthetic Data Scales the Efficiency of LLM Math Reasoning by Eight-Fold
- Math-Shepherd: Verify and Reinforce LLMs Step-by-step without Human Annotations
- 12月OpenAI RFT:https://www.bilibili.com/video/BV1P2qBY2EwK/?vd_source=52e5d8e60f1d8edf228e8fded56b41631
- 12月字節 REFT:Reasoning with REinforced Fine-Tuning
下一個階段,自然以跨時代的O1作為代表,也就是把更強思考能力內化到模型中的方案,可以分成以下兩個部分
- 如何進一步提升思考樣本的質量:這一階段的嘗試多脫離人工標注,畢竟在思考任務上Scabality Oversight是最容易出現的,就是人類標注Golden Answer的上限很低,自優化,持續迭代優化是核心。
- 如何把思考能力訓練內化到模型中,如何提高訓練的效率和泛化性
思考樣本優化
首先是思考樣本質量的提升方案,主要是以STaR為代表的模型自由化Bootstrap方案和OpenAI提出的Prover-Verifier對抗優化方案。 其中Bootstrap方案主要通過對模型生成的多個推理結果進行拒絕采樣,篩選更優推理鏈路,再通過SFT訓練進模型,再基于新的模型生成更優的推理鏈路再訓練,這樣反復迭代不斷提升樣本質量。R1的訓練過程中,也用了類似的方案,就是RL訓練得到R1-Zero后,會使用R1-Zero通過拒絕采樣來構建大規模的思維鏈樣本重新訓練DeepSeek-V3。
而對抗優化的重心更多在Verfier,也就是隨著大模型Generator能力的提升,對應Reward模型的能力也要隨之提升,才能持續為模型提供有效的監督信號。所以會借助辯論,或者Proposal嘗試迷惑Verifier等博弈對抗方案,來同時提升生成器和校驗器的模型能力。
但最近??碦1的Reasong思考過程也讓我產生了一個疑問:在訓練過程中構造的COT,真的是過程越正確的思維鏈更好么?會不會基于PRM步驟打分得得到的更加正確的思維鏈,在一定程度上本身會抑制模型的反思能力,以及思維鏈的泛化性?畢竟中間過程都是正確的,類似于找到了整個思考鏈路中的Shortest Path,把反思,錯誤優化,嘗試其他假設等基于錯誤思考節點的反思優化能力都拋棄掉了。而R1-Zero完全基于RL訓練的思維鏈只基于目標優化,沒有冷啟動過程,反而不存在這個問題?
內化思考
其次是如何把長思考能力內化到模型參數中,方案還是主要集中在SFT上,但通過SFT訓練的模型,在樣本外的思考泛化能力較差,因此有很多方案都集中在如何提高SFT訓練的泛化性。
前期主要方案在Data Augumentation(offline Training),通過更充分的利用推理時生成的思維鏈正負樣本,讓模型在學習時有更多的選擇,降低對單一思考鏈路的擬合,包括
- 充分利用正樣本:生成更多正確推理路徑同時進行SFT,例如RFT同時采樣100個思考鏈路,所有正確的推理路徑一起訓練
- 充分利用負樣本:增加關鍵錯誤節點樣本進行SFT,讓模型通過對比識別正確和錯誤的關鍵差異例如 V-STaR,GLoRE,Incorrect Synthetic Data等等
中期大家開始更多考慮RL,不過RL目標的設計相對復雜,多采用了PRM的打分方案。 這類方案主要針對Math和Code這兩個垂直領域,例如
- MATH-SHEPHERD使用MCTS蒙特卡洛模擬作為PRM打分,進行RL優化
- DeepSeekMATH先做SFT,再使用ORM+PRM共同對問題進行優化
后期方案同樣是RL,但大道至簡,RL的獎勵函數重新回歸簡單,收斂到了基于結果(標準答案+規則打分)的優化方案。 分別有OpenAI在24年底推出的RFT(可申請測試),和同期字節推出的ReFT。前者更多針對system2到領域模型的思維鏈優化,后者主要針對system1到system2思考模型的優化。其中
- OpenAI RFT:已有o1-mini模型,經過少量領域樣本,和領域評分器,通過RL就能擁有該領域復雜問題的強大推理能力,適合法律,金融,醫療等專家能對樣本給出標準答案和評分,并且任務復雜度超過通用模型能力的,這里的評分器主要為各種規則打分例如ranking

- Bytedance REFT:兩階段訓練先使用COT樣本進行warm up訓練,再在Policy模型基礎上進行多輪采樣,使用基于標準答案(0/1規則)的獎勵函數進行PPO訓練

如何就到R1了呢?
不難發現在RFT,REFT的階段大家已經開始探索基于結果(標準答案) 的RL對于提升模型思維鏈泛化的效果,但是和R1的實現相比,個人認為有幾個核心的差異點,主要來自SFT和RL的技術定位差異。
以SFT為主RL為輔,RFT和ReFT本質還是以SFT為主,也就是先把準備好的思維鏈樣本喂給模型,而RL的作用更多是進行拒絕采樣,也就是從模型推理的多個候選思維鏈中,獎勵更好的,懲罰不好的。DeepSeek V3其實就是這種訓練方案。但是這種方案可能會存在一些問題
- 前期經過大規模的COT SFT可能會影響模型思考泛化能力,模型已經記憶了大量的思考范式,就很難再Think Out of Box了。即便有RL泛化也不會太好,同時前期標注COT的思考水平會一定程度上限制模型的上限。
同時前期標注COT的思考水平會一定程度上限制模型的上限。 - 前期標注的大規模COT或許不是質量越高越好,過優的COT中因為中間節點的推理正確概率較高,可能限制了模型的反思,優化,基于錯誤前置推理提出新假設的種種反思能力,Shortest Path是終極目標但不應該是初始目標。
- 前期標注COT樣本和模型分布存在偏移,本質上非相同基座模型生成的推理樣本多少都存在分布偏移,而分布差異會導致模型更傾向于模仿而非學習
而R1-Zero揭示了模型思考能力這個領域上,可以是RL為主SFT為輔的技術方案。前期只依賴RL,讓模型在更廣泛的空間中直接進行思維鏈編排的各種探索,即便使用SFT進行warm-up,個人認為這部分的量級和訓練steps也都不會太大,本質只是為了加入RL訓練的收斂。
以及RL可以單純依賴數學,代碼,這些思考密度更高的領域訓練得到。 本質上全領域世界知識能力的獲取,和思維能力的獲取是存在差異的,前者依靠背,后者靠探索習得。這兩種能力本質可能存在差異,只不過之前有一些思維慣性在,因此更多沿著前期SFT的范式去做,但實際可能并非如此。
想看更全的大模型論文·微調預訓練數據·開源框架·AIGC應用 >> DecryPrompt

我先按照自己的思路來梳理下R1之前整個模型思維鏈的發展過程,可以分成3個階段:大模型能思考,外生慢思考,內生慢思考
浙公網安備 33010602011771號