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