JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

用 PPO 加 KL 牽繩最佳化策略

現在你有了獎勵模型。用強化學習去最佳化它——但繫上牽繩,讓策略改善答案,而不會漫遊到一些獎勵模型剛好很愛的胡言亂語裡。

終於到了強化學習這一步

有了獎勵模型代替人類判斷,第三個動作就是單純的強化學習:改善策略以賺取更多獎勵。這裡的主力是用於偏好最佳化的 PPO(PPO for preference optimization)——使用近端策略最佳化(Proximal Policy Optimization, PPO),只是獎勵不來自環境,而來自你剛訓練好的獎勵模型。這個組合就是經典的 PPO-for-RLHF 迴圈。

终于来到强化学习这一步——策略行动,奖励模型返回奖励来驱动每次更新。

智能体—环境强化学习循环示意图:智能体执行动作,环境返回奖励和新状态。

為什麼用 PPO 而不是更簡單的方法?因為獎勵很脆弱。PPO 透過它的裁剪替代目標(clipped surrogate objective),以小而保守的步伐改善策略,拒絕在任何單次更新上走太遠。當你的獎勵是個不完美的學習模型時,小步伐是一項優點,而非限制。

為什麼牽繩不容妥協

這裡有個關鍵轉折,把 RLHF 和教科書上的強化學習區分開來。如果你單純去最大化獎勵模型,策略最終會發現某些輸入:獎勵模型給出荒謬的高分,人類卻深惡痛絕——一些剛好踩中它盲點的亂碼。獎勵模型是個代理,而推得夠用力,每個代理都會崩壞。

解法是一條對參考策略的 KL 懲罰(KL penalty to a reference policy)。我們保留一份強化學習之前的模型凍結副本——也就是參考策略——每當策略偏離它太遠時就加以懲罰,偏離程度用 KL 散度(KL divergence)量測。我們告訴最佳化器:去賺更多獎勵,但別為此變成另一個模型。這和更廣義的對齊中的 KL 懲罰是同一個想法。

R(x,y)=r_\phi(x,y)-\beta\,\mathrm{KL}\!\left(\pi_\theta(\cdot\mid x)\,\|\,\pi_{\text{ref}}(\cdot\mid x)\right)

把缰绳写成公式:有效奖励等于奖励模型的打分,减去 β 乘以相对冻结参考策略的 KL 偏移。

把整個迴圈擺在一處

把三個動作組合起來,下面是一遍又一遍執行的完整 RLHF 訓練步驟:

  1. 抽出一批提示,讓目前的策略產生回應。
  2. 用獎勵模型為每個回應打分,得到一個獎勵。
  3. 減去一個 KL 項:獎勵減去 β 乘上與參考策略的散度。
  4. 用 PPO 的裁剪目標,針對這個帶懲罰的獎勵更新策略。
  5. 重複——並定期刷新比較資料,讓獎勵模型保持領先策略。
L^{\mathrm{CLIP}}(\theta)=\mathbb{E}_t\!\left[\min\!\left(\rho_t(\theta)\,\hat{A}_t,\;\mathrm{clip}\!\left(\rho_t(\theta),\,1-\epsilon,\,1+\epsilon\right)\hat{A}_t\right)\right],\quad \rho_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\theta_{\mathrm{old}}}(a_t\mid s_t)}

PPO 的裁剪替代目标:把概率比限制在一个小区间内,使每次策略更新都保持保守。

# one RLHF reward, per response
r_rm   = reward_model(prompt, response)         # learned human-preference score
kl     = logp_policy(response) - logp_ref(response)  # drift from reference
reward = r_rm - beta * kl                        # reward on a leash
# ...then a normal PPO update using `reward`
有效獎勵 = 學到的分數,減去一條繫向參考策略的 KL 牽繩。

真正重要的旋鈕

實務上有三個設定佔主導。β(KL 權重)控制牽繩,是最重要的單一旋鈕。一個小小的熵獎勵(entropy bonus)能避免策略太早塌縮到單一句式,保住探索性。而每批資料的 PPO 步數則在穩定與速度間取捨——步數越多越能重複利用資料,但有越過 PPO 刻意要守住的保守區間的風險。