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