快捷方式

AdaptiveKLController

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

根據 Ziegler 等人所著的《Fine-Tuning Language Models from Human Preferences》中所述的自適應 KL 控制器。

關鍵字引數:
  • 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 (sequence of float) – 最新策略和初始策略之間的當前 KL 值。

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源