99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

強化學習在LLM訓練中的作用的思考

0
分享至

作者:紀牛牛@知乎


在LLM火熱之前,我一直從事強化學習相關的算法工作。最近幾周一直在思考RL是如何在優化LLM中發揮做用的。從基于人類反饋的微調到確保在多樣化場景中的穩定泛化,RL方法在現代AI中已經開辟了一個不可或缺的領域。在這篇文章中,我將討論不同RL方法的差異,純監督方法不足,為什么結合監督微調(SFT)和RL,比如DeepSeek-R1這樣的訓練方式下,會產生更好的結果,以及RL固有的探索如何增強泛化和處理分布外數據。LLM中的強化學習

RL方法共享相同的更新原則:即通過對目標函數進行梯度更新來調整模型參數。最簡單的形式表示為:

其中 代表模型參數, 是學習率, 是目標(通常是期望獎勵)的梯度。然而,這個梯度( )的計算方式以及包含哪些項在不同方法之間可能有很大差異。近端策略優化(PPO)是一種策略梯度方法,它在優化目標的同時,確保策略更新與之前的策略保持"近端"。它通過計算概率比率來實現:

這個比率然后乘以優勢估計(通常使用廣義優勢估計或GAE計算),并應用裁剪操作以防止更新過于偏離舊策略。由此對精心設計的目標進行更新,使得策略變化較大時提供穩定性。

人類反饋的強化學習(RLHF)就是在PPO方法的基礎上集成了人類偏好數據的一種方法。首先使用人類評注者提供的成對的比較或評分來訓練獎勵模型。隨后的RL階段使用這個獎勵信號來優化模型,通常將其與PPO的技術如裁剪和KL散度懲罰結合起來,以確保漸進的更新。DeepSeek-R1的GRPO進一步修改了這一思想,消除了對之前PPO單獨價值函數的使用。不依賴于狀態價值的外部估計,而是就每個提示詞生成一組回復,標準化得到的獎勵分之后來計算群體相對優勢,簡化了架構并減少了計算開銷,同時仍能捕獲組內回復的差異性。

在使用RL訓練LLM的一個限制是獎勵的計算。在模型輸出可通過代碼或某種測試驗證的場景下,獎勵更容易定義,我們可以提示模型,給出答案,讓它運行并找到解決方案。這讓RL無限訓練模型成為可能,從而產生神奇效果。在輸出不易驗證的開放領域,我們通常訓練獎勵模型來判斷輸出。有不少研究表明這會導致"Reward Hacking"現象,模型學會輸出內容以獲得高獎勵,而輸出并不是我們想要的。這種情況下就不能使用RL訓練模型。

RLHF的偽代碼示例

算法:Actor-Critic PPO (Proximal Policy Optimization) 用于RLHF 輸入:     - 預訓練語言模型 π_θ (Actor,策略網絡,參數為θ)     - 值函數網絡 V_φ (Critic,參數為φ)     - 參考模型 π_ref (通常是π_θ的副本)     - 獎勵模型 R     - 提示數據集 D     - 迭代次數 N     - 每輪樣本數 M     - PPO截斷參數 ε (通常為0.1或0.2)     - KL散度目標值 β_target     - Actor學習率 α_π     - Critic學習率 α_v     - 折扣因子 γ     - GAE參數 λ_GAE 輸出:     - 優化后的語言模型 π_θ 和值函數網絡 V_φ 過程:     初始化參考模型 π_ref ← π_θ          對于 iteration = 1 到 N:         // 1. 數據收集階段         樣本集 S = {}         從數據集D中隨機采樣M個提示 {x_1, x_2, ..., x_M}                  對于每個提示 x_i:             使用當前策略模型π_θ生成響應序列 y_i = (y_i,1, y_i,2, ..., y_i,T)             對于每個時間步t:                 計算狀態值 V_φ(x_i, y_i,1:t-1)                 使用參考模型計算動作概率 p_ref,t = π_ref(y_i,t | x_i, y_i,1:t-1)             使用獎勵模型計算最終獎勵 r_i = R(x_i, y_i)             S = S ∪ {(x_i, y_i, r_i, {p_ref,t}, {V_φ(x_i, y_i,1:t-1)})}                  // 2. 計算GAE優勢估計         對于每個樣本(x_i, y_i, r_i, {p_ref,t}, {V_t})在S中:             // 計算每個時間步的獎勵(簡化為最終獎勵分配到每個token)             r_i,t = r_i / T 為每個時間步t                          // 計算TD殘差             δ_t = r_i,t + γ*V_t+1 - V_t  (假設最后一步V_T+1 = 0)                          // 使用GAE計算優勢值             A_i,t = 0             for t = T 到 1 (倒序):                 A_i,t = δ_t + γ*λ_GAE*A_i,t+1                          // 計算回報目標             G_i,t = V_t + A_i,t                  // 3. 策略(Actor)和值函數(Critic)優化         對于 k = 1 到 K(PPO更新次數):             對于每個小批量(x_i, y_i, {r_i,t}, {p_ref,t}, {V_t}, {A_i,t}, {G_i,t})在S中:                 // 3.1 Actor更新                 對于每個時間步t:                     // 計算當前策略下的概率                     p_θ,t = π_θ(y_i,t | x_i, y_i,1:t-1)                                          // 計算重要性權重比例                     ratio_i,t = p_θ,t / p_ref,t                                          // 計算PPO截斷目標                     objective1 = ratio_i,t * A_i,t                     objective2 = clip(ratio_i,t, 1-ε, 1+ε) * A_i,t                     actor_loss = -平均(min(objective1, objective2))                                          // 計算KL散度懲罰                     KL = KL散度(p_ref,t, p_θ,t)                     KL懲罰 = max(0, KL - β_target)                                          // 總Actor損失                     L_actor = actor_loss + λ * KL懲罰                                  // 3.2 Critic更新                 對于每個時間步t:                     // 計算當前值函數估計                     V_current = V_φ(x_i, y_i,1:t-1)                                          // 計算值函數損失(MSE)                     critic_loss = 平均((V_current - G_i,t)2)                                  // 3.3 更新網絡參數                 使用梯度下降更新θ: θ ← θ - α_π * ?_θL_actor                 使用梯度下降更新φ: φ ← φ - α_v * ?_φcritic_loss                                  // 3.4 檢查KL散度是否過大                 if 平均(KL) > 2 * β_target:                     提前結束當前iteration                  // 4. 定期更新參考模型         if iteration % update_frequency == 0:             π_ref ← π_θ          返回優化后的模型 π_θ 和 V_φ
GRPO方法中的”思考“與“回答”分離

GRPO的另一大亮點是思考與回答的分離。模型的輸出可以結構化為兩個部分: 部分:模型的思考過程,推理步驟,考慮的可能性等; 部分:最終給出的回答。獎勵模型只對 部分進行評分和優化,而不評估 部分。這種設計精巧在于:

  • ?鼓勵自由思考:模型可以在 部分探索多種可能性,嘗試不同的推理路徑,而不必擔心這些思考過程會受獎勵機制影響。

  • ?更符合人類思維方式:人類也會先在腦中考慮多個可能性,然后才給出最終回答

  • ?支持復雜推理:允許模型使用更長的推理鏈,而只對最終結論進行評價

在GRPO訓練過程中, 部分雖然不直接參與獎勵評分,但參與模型參數更新:即使不直接計算獎勵, 部分仍然參與反向傳播和梯度計算過程。也就是模型需要學習如何生成有用的思考過程,這些思考最終能導向高質量的回答。

在實際實現中,GRPO算法會:對每個提示生成完整的響應(包含 和 部分)對每個響應中的 部分應用獎勵函數進行評分,使用這些獎勵分數計算優勢值并更新整個模型參數(包括生成 和 的部分)

GRPO的偽代碼示例

算法:GRPO (Group-based Reinforcement Policy Optimization) 用于RLHF 輸入:     - 預訓練語言模型 π_θ (策略模型,參數為θ)     - 參考模型 π_ref (通常是π_θ的副本)     - 獎勵模型 R     - 提示數據集 D     - 迭代次數 N     - 每輪樣本數 M     - 每個提示生成的群體大小 G (如8或16)     - PPO截斷參數 ε (通常為0.1或0.2)     - KL散度目標值 β_target     - 學習率 α 輸出:     - 優化后的語言模型 π_θ 過程:     初始化參考模型 π_ref ← π_θ          對于 iteration = 1 到 N:         // 1. 數據收集階段         樣本集 S = {}         從數據集D中隨機采樣M個提示 {x_1, x_2, ..., x_M}                  對于每個提示 x_i:             // 生成群體樣本             使用當前策略模型π_θ生成G個響應 {y_i,1, y_i,2, ..., y_i,G}                          // 計算每個響應的獎勵             對于 g = 1 到 G:                 r_i,g = R(x_i, y_i,g)                          // 存儲生成的樣本及相關信息             對于 g = 1 到 G:                 使用參考模型計算概率 p_ref,i,g = π_ref(y_i,g | x_i)                 S = S ∪ {(x_i, y_i,g, r_i,g, p_ref,i,g)}                  // 2. 基于群體計算優勢值         對于每個提示 x_i:             // 提取該提示下的所有樣本             S_i = {所有(x_i, y_i,g, r_i,g, p_ref,i,g) ∈ S}                          // 計算群體內的獎勵平均值作為基線             baseline_i = 平均({r_i,g | (x_i, y_i,g, r_i,g, p_ref,i,g) ∈ S_i})                          // 計算每個樣本的優勢值             對于每個 (x_i, y_i,g, r_i,g, p_ref,i,g) ∈ S_i:                 A_i,g = r_i,g - baseline_i                  // 3. 策略優化階段         對于 k = 1 到 K(PPO更新次數):             對于每個小批量B ? S:                 // 分組計算損失                 total_loss = 0                                  對于每個 (x_i, y_i,g, r_i,g, p_ref,i,g, A_i,g) ∈ B:                     // 計算當前策略下的概率                     p_θ,i,g = π_θ(y_i,g | x_i)                                          // 計算重要性權重比例                     ratio_i,g = p_θ,i,g / p_ref,i,g                                          // 計算PPO截斷目標                     objective1 = ratio_i,g * A_i,g                     objective2 = clip(ratio_i,g, 1-ε, 1+ε) * A_i,g                     clip_objective = min(objective1, objective2)                                          // 計算KL散度懲罰                     KL = KL散度(p_ref,i,g, p_θ,i,g)                     KL懲罰 = max(0, KL - β_target)                                          // 累加損失                     sample_loss = -clip_objective + λ * KL懲罰                     total_loss += sample_loss                                  // 更新策略                 avg_loss = total_loss / |B|                 使用梯度下降更新θ: θ ← θ - α * ?_θavg_loss                                  // 檢查KL散度是否過大                 avg_KL = 平均({KL散度(p_ref,i,g, p_θ,i,g) | (x_i, y_i,g, r_i,g, p_ref,i,g, A_i,g) ∈ B})                 if avg_KL > 2 * β_target:                     提前結束當前iteration                  // 4. 定期更新參考模型         if iteration % update_frequency == 0:             π_ref ← π_θ          返回優化后的模型 π_θ
為什么不只對最佳生成答案進行監督微調

如果人類或獎勵模型明確識別出"最佳"答案,最直接的解決方案似乎是對該答案進行監督微調(SFT)。然而,這種方法在訓練LLM時有幾個缺點。

監督微調通常涉及訓練模型以模仿單一目標輸出。語言生成本質上是隨機的,對于給定的提示,通常有多個有效的回答可用。如果你只關注"最佳"答案,模型可能過擬合到狹窄的輸出空間。無法捕獲語言的多樣性,可能會錯過在不同情境下可能更好的回答。在自動駕駛領域,模仿學習(在LLM領域稱之為SFT)存在同樣的問題,如果軌跡與訓練數據集中的數據稍有偏離,學習的策略就無法駕駛汽車。這種域外(分布外)泛化是一個重要的研究課題,RL和離線RL是改進它的一些方法。

獎勵或偏好信號通常由整個生成序列的質量而非孤立的詞決定。輸出質量只有在整個序列生成后才能測量。采用策略梯度的方法旨在跨決策序列分配獎勵。通過優化長期獎勵(使用優勢估計和時間差分方法),可以有效地將獎勵反饋傳播回每個單獨的決策。純監督方法很難執行如此細微的分配。

許多人類反饋信號是不可微的,或者只作為標量評估(例如,"喜歡"或"不喜歡"評級)提供。監督方法需要可微目標,我們熟知的監督學習的簡單分類問題中,雖然使用的是離散的分類標簽,模型輸出的是對每個類別的概率分布,交叉熵損失函數計算這兩個分布之間的差異,并且這個損失函數是完全可微的。所以在這個過程中,我們將離散標簽轉換成了某種形式,關鍵是在簡單分類問題中的這種轉換是直接且無損的。人類反饋(如喜歡/不喜歡)雖然也是離散的,但更加復雜,是對整個生成序列的評價,而不是單個決策點。并且常常是相對的或比較性的。而策略梯度方法可以直接優化期望獎勵,允許獎勵函數的形式更加多樣。

RL本身包含探索機制。RL不依賴單一答案,而是鼓勵模型采樣和評估多個軌跡。通過探索,模型不僅學習哪些輸出是首選的,還了解所有可能的回答的整體情況。從而引導一個更強大的策略,可以更好地泛化到訓練集以外的提示并適應不同的環境。

SFT后接RL的優勢

現在LLM的訓練范式是從監督微調(SFT)開始然后是強化學習(RL)的兩階段過程。DeepSeek-R1是典型例子。以下是我認為這種組合如此有效的原因。

第一階段,SFT,涉及在高質量、人工整理的數據上微調模型。這一步驟至關重要,因為它為模型提供了堅實的基幾做模型,能夠捕獲語言的基本模式和結構。監督數據有助于減少模型輸出的初始方差,并為進一步細化設置基線分布。

一旦模型有了一個強健的基礎,RL階段通過結合反映人類偏好的獎勵模型,或模擬人類偏好的訓練模型,甚至是定義基于規則的獎勵,來優化策略。在RL期間,使用策略梯度等技術來優化包含裁剪和KL散度懲罰等機制的目標函數。這些機制確保策略更新保持接近原始SFT模型,防止可能破壞性能的劇烈變化。可以看成是一種微調,根據定義的獎勵推動模型朝著更好的性能和更好的推理,而不會丟失已經在SFT期間捕獲的有價值信息。

模型首先學習更簡單、定義明確的任務(通過SFT),然后逐漸處理更復雜的決策問題(通過RL)。有了良好的基礎,RL階段可以探索替代軌跡進行改進,同時保持在參考模型定義的"安全"區域內。強大的初始策略與通過裁剪和KL懲罰進行謹慎的策略更新相結合,保證更穩定和有效的學習過程。

從實際角度看,SFT基于專家數據提供明確指導。同時,RL允許優化長期獎勵,捕捉人類偏好的細微差別,并允許模型探索可能比人類生成的數據更好的其他可能性,也學習數據集軌跡周圍的分布。從而引導一個不僅模仿高質量輸出,而且能夠根據動態和有時模糊的獎勵信號精細化其行為的模型。

通過RL探索增強泛化和分布外處理能力

將強化學習納入LLM訓練管道的一個顯著優勢是其增強泛化和處理分布外數據的能力。

與監督微調不同,RL強調探索。在訓練期間,模型通過采樣和策略梯度更新接觸各種輸出。這種探索使模型能夠了解可能回答的分布,而不僅僅是單一的"正確"答案。通過接觸多個軌跡,模型理解什么樣的序列構成高獎勵。

RL方法為每個軌跡計算比較優勢,即一個序列比平均結果好多少的相對度量。這種相對比較有助于模型更有效地在序列的不同部分分配獎勵。即使基礎模型最初產生中等質量的回答,RL階段的探索也可能發現產生更高獎勵的替代序列。這些發現隨后得到強化,提高了策略的整體質量。

當模型僅通過監督學習訓練時,容易在訓練數據上過擬合。相比之下,RL固有的探索機制意味著會接觸各種輸入和輸出。這種接觸使其能夠構建更豐富的語言及其細微差別的表示。于是模型變得更能處理分布外場景并泛化到新的、未見過的提示。

通常在探索階段,模型會發現與監督數據集中看到的相比更優的軌跡。即使SFT階段提供了強大的基線,RL也可以通過探索替代方案并從獎勵的相對差異中學習,幫助模型進一步細化其策略。這種持續的精煉過程最終導致性能的提升。


特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
2024年,我國人均GDP降至全球第73名,那美、俄、印、日等國呢?

2024年,我國人均GDP降至全球第73名,那美、俄、印、日等國呢?

南生今世說
2025-07-04 03:14:33
亞當斯吐槽:日本的工程師沒有考慮我們這種大高個

亞當斯吐槽:日本的工程師沒有考慮我們這種大高個

懂球帝
2025-07-03 17:06:20
抗日英雄譜丨繳獲槍支可裝備一個排!他在槍林彈雨中拼殺120余次

抗日英雄譜丨繳獲槍支可裝備一個排!他在槍林彈雨中拼殺120余次

國際在線
2025-07-02 16:04:40
抗美援朝決策內幕,毛澤東彭德懷激烈爭論,毛主席拍桌:必須出兵

抗美援朝決策內幕,毛澤東彭德懷激烈爭論,毛主席拍桌:必須出兵

內向的故事小生
2025-07-02 11:20:59
雙腿發軟多次摔倒!王欣瑜力不從心,要有鄭欽文的身體素質就好了

雙腿發軟多次摔倒!王欣瑜力不從心,要有鄭欽文的身體素質就好了

楊華評論
2025-07-03 21:42:37
800萬薪資解套!Shams:火箭隊將裁掉中鋒蘭代爾

800萬薪資解套!Shams:火箭隊將裁掉中鋒蘭代爾

直播吧
2025-07-04 03:24:05
疑機長李某向弟弟坦誠:他拼搏過,但30年來活得很累!妻子也發聲

疑機長李某向弟弟坦誠:他拼搏過,但30年來活得很累!妻子也發聲

凡知
2025-07-03 21:03:05
“白天小暑熱死牛,夜晚小暑涼颼颼”,今年小暑幾點?有啥說法?

“白天小暑熱死牛,夜晚小暑涼颼颼”,今年小暑幾點?有啥說法?

阿龍美食記
2025-07-03 15:50:00
又一個鄧文迪!90后東北女孩拿下80歲全球第二富豪,她怎么上位的

又一個鄧文迪!90后東北女孩拿下80歲全球第二富豪,她怎么上位的

果娛
2025-06-05 12:53:31
被逮捕的四位央視主持人,以權謀私,出賣國家,個個都是階下囚

被逮捕的四位央視主持人,以權謀私,出賣國家,個個都是階下囚

林輕吟
2025-07-01 10:54:30
誰也沒想到,打敗彩禮的居然是社保

誰也沒想到,打敗彩禮的居然是社保

細說職場
2025-07-04 06:27:03
徐曉當選全國青聯主席,李文鐸當選全國學聯主席

徐曉當選全國青聯主席,李文鐸當選全國學聯主席

澎湃新聞
2025-07-04 08:21:02
特斯拉FSD在華難落地催生灰色產業鏈:山寨版安裝僅需幾百元,官方警示“改裝會影響整車質保服務”

特斯拉FSD在華難落地催生灰色產業鏈:山寨版安裝僅需幾百元,官方警示“改裝會影響整車質保服務”

每日經濟新聞
2025-07-03 18:22:08
李嘉誠深夜驚醒:千億家產埋雷,幼子陷危局

李嘉誠深夜驚醒:千億家產埋雷,幼子陷危局

特特農村生活
2025-06-30 01:07:38
男子因熱射病不幸走了!醫生:高溫寧愿在家啃雪糕,也別干這些事

男子因熱射病不幸走了!醫生:高溫寧愿在家啃雪糕,也別干這些事

葡萄說娛
2025-07-02 13:46:32
姚明現身休斯頓,在當地著名燒烤店用餐

姚明現身休斯頓,在當地著名燒烤店用餐

懂球帝
2025-07-03 16:44:18
最新!普京與特朗普通話約一小時,他們聊了些啥?基輔傳出爆炸聲,澤連斯基發聲!俄媒披露海軍副總司令陣亡細節

最新!普京與特朗普通話約一小時,他們聊了些啥?基輔傳出爆炸聲,澤連斯基發聲!俄媒披露海軍副總司令陣亡細節

每日經濟新聞
2025-07-04 07:23:08
如何面對小米YU7的競爭?特斯拉給國產車企,上了一課

如何面對小米YU7的競爭?特斯拉給國產車企,上了一課

互聯網.亂侃秀
2025-07-02 11:41:46
G聯賽MVP簽雙向合同!火箭15+3陣容基本敲定:杜蘭特率隊沖冠

G聯賽MVP簽雙向合同!火箭15+3陣容基本敲定:杜蘭特率隊沖冠

羅說NBA
2025-07-04 08:03:42
在網絡上,我圍觀了一個女人潦潦草草、匆忙謝幕的一生

在網絡上,我圍觀了一個女人潦潦草草、匆忙謝幕的一生

麥子熟了
2025-07-02 21:23:05
2025-07-04 10:04:49
人工智能研究 incentive-icons
人工智能研究
分享深度學習、CV、NLP
275文章數 130關注度
往期回顧 全部

科技要聞

英偉達再創新高,市值已逼近4萬億美元

頭條要聞

烏方"紅軍村"被俄軍集11萬兵力猛攻 俄方戰報泄露天機

頭條要聞

烏方"紅軍村"被俄軍集11萬兵力猛攻 俄方戰報泄露天機

體育要聞

你永不獨行!球迷前往安菲爾德悼念若塔

娛樂要聞

森林北又有緋聞傳出?汪峰毫不在意?

財經要聞

闖禍電芯商部分產線停產!羅馬仕通知停工

汽車要聞

6.5秒破百 長安第三代UNI-V有更強2.0T

態度原創

旅游
游戲
藝術
親子
公開課

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

海外網友熱議BLG擊敗MKOI:BLG沒那么強大!MKOI輸的方式太丟人了

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

親子要聞

這個怎么搖晃也不撒落的玩具太懂媽媽了

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 丰原市| 寿宁县| 成安县| 同德县| 白玉县| 阿拉善右旗| 东乌| 双城市| 浠水县| 静宁县| 满城县| 饶平县| 应用必备| 博野县| 高淳县| 凌海市| 建水县| 香格里拉县| 南汇区| 肇东市| 湖口县| 临泉县| 图们市| 广德县| 马尔康县| 山丹县| 岑巩县| 唐河县| 彭泽县| 高雄县| 永春县| 扎兰屯市| 赣州市| 大同县| 白朗县| 略阳县| 科尔| 个旧市| 若羌县| 乡城县| 湖州市|