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

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

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

0
分享至

作者:紀牛牛@知乎


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

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

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

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

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

在使用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 輸出:     - 優(yōu)化后的語言模型 π_θ 和值函數網絡 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:                 計算狀態(tài)值 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優(yōu)勢估計         對于每個樣本(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計算優(yōu)勢值             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)優(yōu)化         對于 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 ← π_θ          返回優(yōu)化后的模型 π_θ 和 V_φ
GRPO方法中的”思考“與“回答”分離

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

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

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

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

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

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

GRPO的偽代碼示例

算法:GRPO (Group-based Reinforcement Policy Optimization) 用于RLHF 輸入:     - 預訓練語言模型 π_θ (策略模型,參數為θ)     - 參考模型 π_ref (通常是π_θ的副本)     - 獎勵模型 R     - 提示數據集 D     - 迭代次數 N     - 每輪樣本數 M     - 每個提示生成的群體大小 G (如8或16)     - PPO截斷參數 ε (通常為0.1或0.2)     - KL散度目標值 β_target     - 學習率 α 輸出:     - 優(yōu)化后的語言模型 π_θ 過程:     初始化參考模型 π_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. 基于群體計算優(yōu)勢值         對于每個提示 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})                          // 計算每個樣本的優(yōu)勢值             對于每個 (x_i, y_i,g, r_i,g, p_ref,i,g) ∈ S_i:                 A_i,g = r_i,g - baseline_i                  // 3. 策略優(yōu)化階段         對于 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 ← π_θ          返回優(yōu)化后的模型 π_θ
為什么不只對最佳生成答案進行監(jiān)督微調

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

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

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

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

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

SFT后接RL的優(yōu)勢

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

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

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

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

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

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

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

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

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

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

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


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

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.

相關推薦
熱點推薦
利雅得新月主帥不滿光州將帥賽前言論,7-0后對其做出閉嘴手勢

利雅得新月主帥不滿光州將帥賽前言論,7-0后對其做出閉嘴手勢

雷速體育
2025-04-26 09:30:13
四大壞消息痛擊湖人!賽程針對詹皇,管理層也背鍋,第4場真懸了

四大壞消息痛擊湖人!賽程針對詹皇,管理層也背鍋,第4場真懸了

嘴炮體壇
2025-04-26 14:45:46
快船VS掘金G4時間有變,哈登前隊友們來看球,泰倫盧執(zhí)教水平提升

快船VS掘金G4時間有變,哈登前隊友們來看球,泰倫盧執(zhí)教水平提升

體育大學僧
2025-04-25 20:20:09
夏普:若掘金1-3落后則不可能再逆轉 小卡不會再像園區(qū)那樣拉胯

夏普:若掘金1-3落后則不可能再逆轉 小卡不會再像園區(qū)那樣拉胯

直播吧
2025-04-26 08:05:21
皮爾斯:勇士奪冠窗口已關閉 因為巴特勒復出也不是100%狀態(tài)

皮爾斯:勇士奪冠窗口已關閉 因為巴特勒復出也不是100%狀態(tài)

直播吧
2025-04-26 06:40:10
解放軍為何接連高調亮出大殺器:我們可能已與一場大戰(zhàn)擦肩而過

解放軍為何接連高調亮出大殺器:我們可能已與一場大戰(zhàn)擦肩而過

近史閣
2025-04-24 16:42:47
洋媳婦奇娜遺容曝光!躺冰棺像天使,父親唱歌送別,最后火葬走好

洋媳婦奇娜遺容曝光!躺冰棺像天使,父親唱歌送別,最后火葬走好

夢史
2025-04-26 10:13:59
船媒:西蒙斯這輪的影響力不容忽視 很好完成了防守約基奇的挑戰(zhàn)

船媒:西蒙斯這輪的影響力不容忽視 很好完成了防守約基奇的挑戰(zhàn)

直播吧
2025-04-25 19:06:03
與張?zhí)鞇弁?年孕期出軌?37歲當爹2年離婚,他把一手好牌打稀爛

與張?zhí)鞇弁?年孕期出軌?37歲當爹2年離婚,他把一手好牌打稀爛

喜歡歷史的阿繁
2025-04-25 09:37:51
“楊”帆起航!楊瀚森完成NBA選秀報名獲參選資格 5月3日赴美特訓

“楊”帆起航!楊瀚森完成NBA選秀報名獲參選資格 5月3日赴美特訓

羅說NBA
2025-04-26 07:04:40
宋丹丹和那英李靜逛SKP被偶遇,幫那英拎包,合影被認成小老頭

宋丹丹和那英李靜逛SKP被偶遇,幫那英拎包,合影被認成小老頭

明月聊史
2025-04-25 21:30:14
突發(fā)!遼寧某職校宿舍發(fā)生命案,疑似有人傷亡,官方卻保持沉默

突發(fā)!遼寧某職校宿舍發(fā)生命案,疑似有人傷亡,官方卻保持沉默

平老師666
2025-04-26 11:47:47
湖人104-116森林狼,賽后遭遇1喜3憂,八村壘+內線+失誤成弊端!

湖人104-116森林狼,賽后遭遇1喜3憂,八村壘+內線+失誤成弊端!

籃球資訊達人
2025-04-26 12:59:05
女朋友身材太好是一種怎樣的體驗?答案真實到扎心...

女朋友身材太好是一種怎樣的體驗?答案真實到扎心...

健身S叔
2025-04-24 09:49:45
不吹不黑!4個國貨“中產女裝”品牌,確實不輸LV、愛馬仕等大牌

不吹不黑!4個國貨“中產女裝”品牌,確實不輸LV、愛馬仕等大牌

時尚搭配師Nicole
2025-04-25 16:27:31
一篇關于東北“男男性服務”的研究

一篇關于東北“男男性服務”的研究

學術那些事兒
2025-04-21 13:31:47
美國人的屁股為啥人均一米寬?喂牲畜的飼料,全吃到了百姓的身上

美國人的屁股為啥人均一米寬?喂牲畜的飼料,全吃到了百姓的身上

博覽歷史
2025-04-25 13:45:06
史記?董明珠諜戰(zhàn)王自如

史記?董明珠諜戰(zhàn)王自如

不正確
2025-04-25 17:51:26
澤連斯基徹底跪了!

澤連斯基徹底跪了!

燕梳樓頻道
2025-03-20 19:19:07
教皇葬禮座位安排細節(jié)曝光:特朗普只能坐“第三排”席位,與澤連斯基相隔甚遠

教皇葬禮座位安排細節(jié)曝光:特朗普只能坐“第三排”席位,與澤連斯基相隔甚遠

爆笑大聰明阿衿
2025-04-25 21:09:14
2025-04-26 15:43:00
人工智能研究 incentive-icons
人工智能研究
分享深度學習、CV、NLP
258文章數 125關注度
往期回顧 全部

科技要聞

李斌:對蔚來公司四季度盈利非常有信心

頭條要聞

男子炒股11年賺6000萬:初始本金150萬 曾1天虧1100萬

頭條要聞

男子炒股11年賺6000萬:初始本金150萬 曾1天虧1100萬

體育要聞

去更大的舞臺追夢 專訪中國男籃國手楊瀚森

娛樂要聞

金掃帚獎出爐,包貝爾意外獲“影帝”

財經要聞

韓國的"宇樹科技" 是怎樣被財閥毀掉的?

汽車要聞

充電5分鐘續(xù)航100公里 探訪華為兆瓦超充站

態(tài)度原創(chuàng)

手機
教育
親子
游戲
公開課

手機要聞

CounterPoint 報告 2024 全球手機攝像頭出貨量:索尼領銜

教育要聞

“紅領巾”探秘“航空藍”

親子要聞

尼泊爾年輕媽媽帶孩子吃飯,從小培養(yǎng)孩子獨自吃飯

看著直流口水!小島秀夫曬《死亡擱淺2》精致主題蛋糕

公開課

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

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 股票| 东乌珠穆沁旗| 扶沟县| 临沭县| 河东区| 乌什县| 房山区| 怀集县| 闻喜县| 中山市| 赣榆县| 绥中县| 安泽县| 六安市| 江安县| 准格尔旗| 卓尼县| 辉南县| 射洪县| 于都县| 贡嘎县| 景宁| 阳城县| 介休市| 台南市| 甘南县| 安徽省| 石狮市| 偃师市| 井冈山市| 龙口市| 兰溪市| 余姚市| 邢台市| 巴里| 普安县| 巴中市| 淅川县| 建宁县| 青铜峡市| 沁阳市|