快捷方式

AdaptiveKLController

torchrl.data.AdaptiveKLController(*, init_kl_coef: float, target: float, horizon: int, model: nn.Module | None = None)[原始碼]

Adaptive KL Controller,如 Ziegler 等人在“Fine-Tuning Language Models from Human Preferences”中所述。

關鍵詞引數:
  • init_kl_coef (float) – 係數的起始值。

  • target (float) – 目標 KL 值。當觀測到的 KL 值較小時,係數減小,從而減輕訓練目標中的 KL 懲罰,並允許模型進一步偏離參考模型。當觀測到的 KL 值大於目標值時,KL 係數增加,從而將模型拉回參考模型。

  • horizon (int) – 控制係數更新力度的縮放因子。

  • model (nn.Module, optional) – 需要被控制的封裝模型。必須具有屬性 "kl_coef"。如果提供,"kl_coef" 將會原地更新。

參考: 第 2.2 節 https://arxiv.org/pdf/1909.08593.pdf#page=2 來源: https://github.com/openai/lm-human-preferences/blob/master/lm_human_preferences/train_policy.py

update(kl_values: List[float])[原始碼]

自適應地更新 self.coef

引數:

kl_values (float 序列) – 最新策略與初始策略之間的當前 KL 值。

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並解答您的疑問

檢視資源