與RL(強化學習)的本質區別)
15-模型后訓練三階段全景預訓練、SFT監督微調與RL強化學習的本質區別系列導讀前兩篇聊的是怎么評估這一篇進入怎么變強。基于李博杰《深入理解AI Agent設計原理與工程實踐》的后訓練章節結合我做售貨柜Agent模型調優的實踐把預訓練、SFT、RL這三件事一次講透。一、三階段全景一條流水線三種完全不同的學習方式一個能干活的模型誕生大致經過三個階段預訓練Pre-training → SFTSupervised Fine-Tuning監督微調 → RLReinforcement Learning強化學習 海量文本學語言 示范數據學格式與流程 試錯反饋學決策與泛化一句話概括三者分工預訓練學會語言與世界知識——壓縮了互聯網SFT學會按指令干活的樣子——模仿人類示范RL學會把活干成——以結果為目標自我進化。新手最常犯的混淆是認為SFT和RL都是微調差不多。差很多。下面逐個拆。二、預訓練在做什么預測下一個詞預訓練的目標函數樸素到令人發指給定前文預測下一個詞next token prediction。輸入今天天氣真 模型很(0.6) 好(0.3) 差(0.05) ...就這么一個簡單目標配上萬億級token和千億級參數涌現出了語法、事實知識、推理能力甚至代碼能力。為什么因為要把下一個詞預測準模型不得不內化世界的統計結構——預測水燒到100度會___你必須懂物理常識。預訓練的產出是一個基座模型Base Model。它像個博覽群書但不會聊天的學者你問它如何申請退款它可能接著寫如何申請退貨如何投訴商家“——它只是在進行文本續寫根本沒意識到你在提問”。這也是為什么基座模型不能直接當Agent用。對我們做業務的人來說預訓練基本是巨頭的事幾萬張GPU的軍備競賽我們的戰場在后面兩個階段。三、SFT的本質換了數據的預測下一個詞SFT的關鍵洞察是它和預訓練用的是同一個目標函數——預測下一個詞只是換了數據。預訓練的數據是互聯網上的原始文本SFT的數據是高質量的指令-回答示范對。比如輸入指令對話歷史工具結果 用戶我掃了碼沒出貨錢扣了 [工具結果] 訂單A123實付12元柜機日志出貨電機超時 目標輸出 {action: refund, order_id: A123, amount: 12.0}模型在這些示范數據上繼續做預測下一個詞就學會了見到這種情境應該輸出這種格式、走這個流程。所以SFT的本質是行為模仿示范數據里怎么寫模型就怎么學。它的特點是見效快幾百到幾萬條高質量數據就能顯著改變行為風格和格式遵循上限受示范限制示范里沒有的行為模型很難無中生有。示范質量就是天花板容易記住而不是理解分布內的任務表現好分布外容易露餡。SFT數據合成從示范到可訓練軌跡寫一萬條示范數據靠人力是不現實的實踐中大量采用數據合成強模型蒸餾讓更強的模型如旗艦模型生成高質量回答清洗后作為SFT數據——小模型學大模型軌跡重構把人類專家的實際操作日志查了哪些系統、做了什么決定重構成Agent格式的軌跡拒絕采樣同一個問題讓教師模型生成N個回答用判分器規則或LLM-as-a-Judge呼應第14篇只保留正確的進數據集。我們給售貨柜退款Agent做SFT時最有效的數據就是從歷史人工客服的處理記錄里合成軌跡——幾千條真實案例合成的數據效果遠好于憑空編的幾萬條。四、SFT與RL的本質區別模仿 vs 試錯這是本篇的核心。兩者對比維度SFTRL學習信號每個token都有標準答案只有序列結束后的獎勵稀疏學習方式模仿示范探索試錯好的行為被強化傾向記憶示范分布泛化到示范沒覆蓋的情況數據要求需要高質量示范需要可判分的任務環境風險模仿上限受限容易過擬合訓練不穩定可能鉆獎勵空子用一個比喻SFT是抄學霸筆記RL是自己刷題對答案。抄筆記能快速及格但遇到筆記上沒有的題型就懵刷題對答案雖然慢卻能建立真正的解題能力應對沒見過的題。什么時候需要先SFT后RL當基座模型連任務的基本格式都不會時RL無從下手——它隨機探索出來的行為大概率全是零分沒有梯度信號即獎勵過于稀疏。標準路徑是先SFT讓模型學會基本的行為格式達到能及格的水平再RL從及格線出發通過試錯把成功率往上磨。這就是SFT提供先驗RL突破上限。何時選SFT何時選RL兩個判斷維度任務復雜度和數據可得性。任務結果容易自動判分代碼能跑過測試、數學答案能對答案 有仿真環境 →RL優先天花板高任務很難自動判分寫文案、語氣得體 有大量優秀示范 →SFT優先簡單直接兩者都有 → SFT打底 RL沖刺這是當前Agent能力訓練的主流配方。單輪強化學習記憶與泛化的對照有個經典實驗值得知道讓模型在單輪任務上做RL任務帶隨機性如隨機生成的密碼/隨機數運算。模型無法記住答案每次都不同只能學會真正的算法。結果模型在訓練分布內正確率飆升同時展現出對任務參數的泛化。這個對照實驗說明了RL學到的是策略而不是記憶——這正是它區別于SFT的本質證據。五、RL算法直覺從16次rollout到一次參數更新RL訓練的具體循環以GRPO類算法的直覺為例采樣一批任務prompt對每個任務模型獨立生成k條完整軌跡rollout比如k16——這就是Agent的考試作答一題交16份卷對每條軌跡判分得到獎勵比如16份卷子里5份滿分、11份零分GRPO的核心直覺同題軌跡組內互相比較——滿分軌跡的行為被強化增大概率零分軌跡的行為被抑制減小概率不需要單獨訓一個價值網絡來估計基線組內平均就是基線用這批強化/抑制信號做一次梯度更新更新模型參數回到第1步用更新后的模型繼續采樣。注意第6步RL的數據分布隨模型進化而變化on-policy模型越練越強采到的高分軌跡越來越多形成飛輪。這也解釋了RL為什么貴——16條rollout的推理成本全要自己掏。六、RL環境從評估到仿真第14篇講的評估環境在RL里換了個身份訓練環境。區別在于用途評估環境跑固定數據集算分數RL環境動態出題、即時判分、給獎勵要求大規模、低成本、可并行。一條鐵律是環境任務分布與評估隔離訓練出的題目和評估考的題目必須分開否則模型把答案背下來了評估分數虛高實際能力為零——等價于考試泄題。我們做退款Agent的RL訓練時訓練環境的訂單、日志、故障碼全部程序化隨機生成金額隨機、券隨機、故障類型按真實分布采樣評估集則單獨保留一批真實脫敏案例兩邊絕不混用。結合Agent工具調用能力訓練Agent場景的RL環境里要有工具模型生成調用工具的動作 → 環境執行并返回真實結果 → 模型繼續決策 → 直到任務完成 → 按最終結果給獎勵。這就是把環境帶進訓練。實踐證明經過工具調用RL訓練的模型在工具選擇準確率、參數正確率、多步任務的Pass^k上都有肉眼可見的提升——這比在Prompt里寫一百句請正確選擇工具管用得多。小結三階段流水線預訓練學語言與世界知識SFT學行為示范RL學決策泛化SFT和預訓練目標函數相同預測下一個詞本質是換了數據RL目標函數不同最大化獎勵本質從模仿變為試錯SFT記憶、RL泛化SFT是抄筆記RL是刷題對答案先SFT打底再RL突破適用于獎勵稀疏、基座起點的場景GRPO直覺同題多rollout組內比較好的強化、差的抑制RL環境要可仿真、可判分、可并行且訓練分布與評估集嚴格隔離。RL訓練里最靈魂的問題其實只有一個獎勵從哪來、怎么給——獎勵設計錯了模型會以你意想不到的方式聰明地跑偏。