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