微軟副總裁X上「開課」,連更關於RL的一切,LLM從業者必讀

選自𝕏
作者:Nando de Freitas
機器之心編譯
別人都在用 X 發帖子,分享新鮮事物,微軟副總裁 Nando de Freitas 卻有自己的想法:他要在 X 上「開課」,釋出一些關於人工智慧教育的帖子。該系列會從 LLM 的強化學習開始,然後逐步講解擴散、流匹配,以及看看這些技術接下來會如何發展。
話說回來,Freitas 有這個想法時還是 4 月 24 日,到今天為止,他已經更新了多篇帖子,每篇都乾貨滿滿。
由於涉及的內容需要費點腦細胞來思考,在更新了幾篇後,Freitas 抱怨道:「隨著數學知識的增多,自己 X 上的讀者人數正在下降。」
或許,太硬核的東西,瀏覽量確實不會太高。
不過,遺憾歸遺憾,這些帖子對於那些想學習 RL、從事大模型的人非常有幫助。
Freitas 也表示,他會不斷更新內容,感興趣的讀者可以隨時關注。
接下來,我們看看最近幾篇帖子內容。
無監督學習、監督學習、強化學習終極定論尚未形成
監督學習對應於最基礎的模仿形式:簡單的行為複製。它透過最大似然估計,將世界狀態(如文字問題)對映到行動(如文字答案)。我們將這種對映關係稱為策略。監督學習需要高質量的專家資料,學生只是機械地模仿教師行為,因此需要教師本身必須足夠優秀。教師僅示範操作方式,並不進行評分反饋。
另外,目前存在一些非常強大的監督學習方法,它們在通用性極強的專家指導下進行下一步預測(關聯學習)和重構學習。這正是大語言模型預訓練的核心原理,也是擴散模型、流匹配和自編碼器在多模態感知與生成中運作的基礎。從本質上看,預測下一個 bit 的過程實則是一種自由能(熵)最小化的過程,簡而言之:在趨於無序的世界中創造有序。這正是細胞和生命運作的基本原理 —— 埃爾溫・薛定諤和保羅・納斯各自撰寫的同名著作《生命是什麼》對此有深入闡述。既然生命遵循這樣的規律,那麼智慧系統採用類似機制運作也就不足為奇了。
另一方面,強化學習 (RL) 則側重於選擇性模仿(selective imitation),這對於最佳化特定任務的效能非常有效。RL 可以從智慧體或其他智慧體先前生成的大量次優經驗資料中進行訓練。RL 可以利用價值函式或其他工具(透過獎勵學習)來識別和選擇有用的訊號。這種選擇過程使模型能夠利用大量廉價的次優資料進行學習,並最終超越最優秀的老師。
也就是說,在 RL 中,智慧體可以識別哪些資料對學習有用,哪些資料應該忽略。
就像我們不會模仿父母的每一個行為,而是選擇模仿部分,以及哪些部分應該忽略。
RL 的核心在於自我提高。智慧體會生成資料,因此,他們可以從自身資料(成功和錯誤)以及來自其他智慧體的混合資料中學習。
當我們使用獎勵訊號構建選擇機制(例如,對資料進行排序並只挑選最佳的那一半)時,智慧體就可以開始從自身資料中學習並自我提升,這種方式非常強大。
此外,智慧體會利用其獲得的知識來決定在環境中採取哪些行動,從而獲得介入性因果知識。
在《An Invitation to Imitation 》一書中,CMU 教授 Drew Bagnell 探討了一種名為 Dagger 的強化學習替代方案,其中智慧體採取行動,老師來糾正學生。
對於智慧體來說,從自身行動和自身經驗中學習至關重要,這樣它才能學會保持魯棒性。
例如,如果智慧體使用專業駕駛員提供的資料學習駕駛,有一天發現自己偏離了道路(這種情況即使是完美的老師也從未發生過),那麼學生將不知所措。為了讓學生學會回到道路上,它需要老師在那時提供建議。
一項重要的研究啟示在於:生成模型對強化學習的作用與任何強化學習演算法創新一樣重要。這或許存在爭議,但我認為過去十年間強化學習的進步,本質上是生成模型發展的結果。從演算法演進來看(下文將詳細展開),當前 AI 界普遍採用的基礎演算法思想 —— 如期望最大化演算法(EM 演算法)和策略梯度 —— 實際上已存在超過 50 年。真正的變革力量來自強化學習基礎設施的規模擴張。
希望讀者能透過本文認識到:關於無監督學習、監督學習與強化學習的終極定論尚未形成。雖然我質疑這種分類法的有效性,但在未來的教學實踐中仍將沿用該框架以輔助知識傳遞。
分散式強化學習系統
智慧體是一種能夠感知環境、自主採取行動從而實現目標,並可能透過強化學習或教學來提升自身效能的實體。
智慧體可以是一個多模態神經網路,它透過與環境的互動,為使用者提供個性化目標。智慧體觀測得越多,就越容易為使用者定製個性化的學習方案。
基於工業級大語言模型(LLM)的強化學習(RL),可能涉及數百萬次並行互動,使用數十億引數的模型,甚至需要調動整個資料中心 —— 成本極其高昂!
如何構建能在如此龐大尺度下高效執行的強化學習系統,絕非易事。
根據文章《IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures》、《acme: A library of reinforcement learning》,現代分散式強化學習系統可以分為兩個部分:Actors 和 Learners。
每個 actor 透過使用稱為策略的網路生成動作來與環境互動。actor 還從環境中收集獎勵和觀測結果。收集到的資料被新增到一個公共記憶中。
Learner 從記憶中取樣資料並使用它來更新策略網路。更新網路後,需要將權重檢查點發送給每個 actor。在設計此類系統時,測量每個操作的持續時間、每個通訊鏈路的頻寬等非常重要。這需要精確的工程設計以及全面的測量和消融。
在語言中,actors 是聊天機器人,環境是人。每次聊天的資料隨後被髮送到重放記憶體進行學習。通常,learner 可能比 actors 需要更多的儲存空間和計算資源,因為 learner 需要跟蹤梯度和大規模統計資料。
此外,瞭解 actors 的推理成本、通訊成本和學習成本也至關重要。
另一方面,若資料採集速度不足,learner 可能需要重複利用歷史經驗來更新策略 —— 這正是 off-policy 場景的核心特徵。此時必須解決一個關鍵問題:陳舊資料導致的偏差修正。在前面推文中的駕駛示例表明,過度依賴 off-policy 資料可能引發嚴重後果!
值得慶幸的是,研究者已提出多種解決方案:
  • 重要性加權(Importance Weights):對歷史資料賦予不同權重以修正分佈偏差;
  • 近端策略最佳化(PPO):透過剪裁機制控制策略更新幅度;
  • DeepSeek-R1 論文提出的加權方案:動態調整新舊資料貢獻度。
當系統僅依賴大型歷史經驗庫進行策略學習時,便進入離線強化學習(Off-line RL)或批次強化學習(Batch RL)正規化。相較於監督學習,其優勢在於繼承了前文討論的生成 – 選擇機制;但相比線上強化學習,又因缺失環境即時互動而存在侷限。
不過,離線強化學習在以下關鍵場景中具有不可替代價值:
  • 高成本互動(如機器人物理訓練);
  • 高風險環境(如自動駕駛事故資料學習)。
用於後訓練 LLM 的 RL
目前看來,RL 有多種形式。
其中一種是單步(one-step )RL 問題(上圖左上角)。在這裡,給定一個提示,模型會生成一個動作並得到一個評估。
這個動作可以是文字答案、CoT 推理序列、語音或任何其他行為訊號,即任何 Token 序列。
評估通常是一個單一的結果獎勵,例如答案是否正確。
與單步對應的是多步(multi-step)RL 問題,這種情況大多存在於與聊天機器人對話中,使用者是環境,聊天機器人是智慧體。
在使用者不提供任何輸入的情況下,智慧體會思考下一步做什麼,這是一個單步強化學習問題。這在我們的圖中(左上角)清晰可見,因為這三個動作可以輕鬆地合併為一個動作,而不會破壞決策圖的結構。
然而,規劃整個對話以最終實現目標,在此期間使用者和聊天智慧體都會變化,這是一個多步強化學習問題(我們的圖中,左下角)。
在這種設定下,智慧體可以使用工具(例如 Web 瀏覽器、編譯器等)來建模聊天機器人,從而收集資訊。
當強化學習涉及多步時,可能每一步都會對結果有影響。就像當一個人獲得獎勵時,他並不知道是眾多決策中的哪一個導致了獎勵。這種現象人們稱之為信用分配問題。
由於多步問題,強化學習通常是組合型的,而且維度非常高。在這些情況下,我們必須解決跨維度推理問題。
簡而言之,強化學習真的很難,解的方差可能非常大。雖然研究人員發明了一系列概念來控制方差,但代價是引入了偏差,其中包括價值函式。這些概念在多步決策問題中很有用,但對於單步強化學習來說並非總是必需的。雖然其中一些想法在電腦遊戲中很有效,但在 LLM 中卻行不通。
在控制領域,普遍存在這些問題,如 T 步決策、二次獎勵函式。這些被稱為線性二次高斯控制器或調節器,構成了最普遍的控制型別之一 —— 模型預測控制 (MPC) 的基礎。
然而,盲目地將為電腦遊戲或控制開發的強化學習方法的理論和軟體引入語言模型領域是危險的。
為了實現工具使用和多步輔助,我們需要為 LLM 提供多步強化學習。然而,要實現像 DeepSeek-R1 或測試時強化學習 TTRL 這樣的方法,需要先解決單步強化學習問題,因為這個問題稍微簡單一些。
所有 RL 智慧體都能夠自我學習和自我改進。如果設計得當,它們可以構建質量不斷提升的資料集,從而生成更好的策略。RL 智慧體的這一特性對於效能和安全性都至關重要。
可能存在一些更難的強化學習案例。比如有時決策範圍是未知的或無限的,時間步長可能是連續的,也可能是中斷驅動的,動作和觀測可以是離散的、也可以是連續的,這些都增加了推理的複雜性。
出於教學原因,明天我們將首先介紹最簡單的案例:單步強化學習。
單步強化學習與策略梯度
包括 DeepSeek-R1 在內的許多團隊,當他們聲稱在進行 RL 時,會最大化單步目標函式,如下所示: 
這些數學符號代表了以下概念:
也就是說,我們正在針對所有的資料字串  (a,o) 對 LLM 進行微調。在處理文字時,通常使用積分符號來表示非常龐大的離散求和。
因此,如果我們有一個包含 N 對觀測值和動作 (o, a) 的資料集,那麼在實際操作中,我們會按如下方式評估目標函式:
環境(使用者)也會為我們提供觀測值(提示或指令 o)。所以不需要知道分佈 P (o)。由於不知道最優動作(大語言模型生成的內容,也就是動作 a),將對這些動作進行積分。這是在機率中處理未知量的標準方法。我們對所有可能的值按照出現的機率進行加權求和。在這種情況下,動作的機率就是大語言模型所生成的結果。大語言模型是一個機率模型。
這種在對大語言模型的權重進行最大化的同時對其輸出進行求和的方法,被稱為最大期望效用,這也是博弈論中理性主體所採取的做法。透過最大化期望效用(獎勵的另一種說法),人們可以收斂到納什均衡。在統計學中,人們把這個過程稱為邊緣化,而當它還涉及到對某個量進行最大化時,它就被稱為實驗設計。 
總之,在單步強化學習中,我們透過調整大語言模型的策略來最大化期望回報 R,也就是說,對於目前大多數的大語言模型而言(見上一篇文章),在單次結果中進行獎勵 R=r (a,o)。 
策略梯度:就是人們所說的 on policy RL 或 Reinforce 演算法。這種方法被稱為 on-policy,是因為生成樣本(動作)的策略(大語言模型)與正在被學習的策略是同一個。
當生成樣本的成本低於學習成本時,這種方法是有意義的。也就是說,當 learner 可以按需輕鬆獲取新樣本時適用。
但對於成本高昂的遊戲模擬引擎而言並非如此,在這類場景中,必須引入緩衝區和回放記憶來快取資料。隨著資料變得陳舊,就需要使用 off-policy 方法。
那如何計算單步損失的梯度,答案是隻需沿著梯度方向更新引數即可。
從理論上講,策略梯度可以使用微積分按如下方式得到它:
策略梯度常用技巧
前文重點介紹了策略梯度演算法,不過大家還會使用一些技巧來提高效能。
現在,我們從一個常用的技巧開始,即從獎勵中減去獎勵的均值。得到的表示式被稱為優勢(advantage)。這項技術本身被稱為基線減法(baseline subtraction)。 
在策略梯度中,如果我們從獎勵 r 中減去其均值,然後用下面的獎勵來替代原來的獎勵: 
這樣做並沒有改變最大值的位置,但降低了方差。
此外,當獎勵是二元的,而我們又需要一個更連續、漸進的反饋訊號時,這種方法格外有用。
 下面是證明過程:
KL 散度
KL 散度是一種用於衡量兩個分佈之間「距離」的方法,從數學角度來說,KL 散度定義如下: 
如果在強化學習的損失函式中加入 KL 散度項,本質上是在鼓勵後訓練(post-training)過程中學習到的 LLM 策略保持接近監督微調(SFT)階段的策略。
如果我們根據最新的策略 p(a|o) 取樣 N 個動作,我們可以再次使用蒙特卡羅方法來近似計算 KL 散度: 
此外,John Schulman 有一篇很棒的關於如何高效近似 KL 散度的部落格。他提出了以下替代方法: 
取樣、PPO 以及 GRPO 的重要性
在強化學習系統中,有時會有多個 actors 來收集資料並將資料新增到記憶系統中。然後,learner 從這個記憶中提取樣本進行學習。
在這種非同步設定中,有些樣本會變得過時。生成樣本的機制(actors)與更新引數的機制(learner)不同,因此這種方法被稱為 off-policy
重要性取樣(Importance Sampling, IS)提供了一種校正 off-policy 樣本偏差的解決方案,其核心操作如下:
我們透過在單步目標函式的被積項中乘以併除以舊策略 π_old (a|o) 實現修正。系統將基於該舊策略採取動作,但實際學習的卻是新策略 —— 這正是 off-policy 學習的本質特徵。數學表達上,透過引入行為策略進行乘除變換後,單步強化學習目標函式轉化為:
如果我們觀察到一個提示 o^i ,並從行為策略中取樣出一個動作 a^i,可以再次用以下蒙特卡羅近似來替代積分,這種近似被稱為 IS 估計:
分佈的比率被稱為重要性權重:
這個權重可能會增大並導致不穩定性,尤其是因為我們計算這個比率所涉及的所有字串的空間是非常高維的。 
PPO:為了防範高方差和不穩定性,我們必須巧妙地截斷(裁剪)重要性權重。讓我們再次來考慮一下我們的 off-policy 目標: 
近端策略最佳化(PPO)修改了這個目標函式,對那些使  w (theta) 偏離 1 的策略變化進行懲罰,具體如下: 
PPO 的內容遠不止這些,所以我鼓勵大家都去讀一讀這篇有影響力的論文《Proximal Policy Optimization Algorithms》。
DeepSeek-R1 將裁剪後的重要性取樣、基線減法以及與參考策略的 KL(相對熵)接近度相結合,以此來訓練其推理模型。(PPO 也做了所有這些事情,但方式略有不同。)
現在我們已經介紹了 DeepSeek 強化學習演算法(GRPO)的所有要素,所以接下來就只是把它們整合起來的問題了。
當然,真正的挑戰在於解決實現過程中基礎設施和資料方面的問題。 
為了得到第一個蒙特卡羅估計值,我們使用來自行為策略 pi_old 的樣本 a^i ,但是如果我們想要保持估計的無偏性,對於第二項(即 KL 散度項)的蒙特卡羅估計應該使用來自 pi_theta 的樣本  a^i ,而不是來自 pi_old 的樣本。 
正如在之前的文章中所提到的,我們已經從獎勵中減去了平均基線值: 
但與 DeepSeek-R1 不同的是,我們沒有除以標準差。這一點值得透過實證來檢驗。
注意:在這個版本中,我們針對每個觀測值取樣一個動作。也可以針對每個觀測值取樣多個動作來減少方差。DeepSeek-R1 基本上就是這麼做的,其梯度更新包含了針對單個問題的多個動作樣本。這種技術在隨機近似中被稱為公共隨機數。 
如果你對 PPO 和 GRPO 的這些公式感到熟悉了,那麼你現在幾乎已經瞭解瞭如今所有公司在 LLM 中使用的強化學習(RL)所需的全部理論知識。 
接下來,Freitas 想從單步強化學習拓展到多步強化學習,從而進行更深入的研究。感興趣的小夥伴,可以隨時關注 Freitas 動態。
參考連結
https://x.com/NandoDF/status/1919728246821634205
https://x.com/NandoDF/status/1918324866979184874
https://x.com/NandoDF/status/1917865356829618645
https://x.com/NandoDF/status/1917575545673417069
https://x.com/NandoDF/status/1917270302666678614
https://x.com/NandoDF/status/1916835195992277281
https://x.com/NandoDF/status/1915548697548464359
https://x.com/NandoDF/status/1915351835105169534

© THE END 
轉載請聯絡本公眾號獲得授權
投稿或尋求報道:[email protected]


相關文章