快捷方式

自适应KL控制器

class torchrl.data.AdaptiveKLController(*, init_kl_coef: float, target: float, horizon: int, model: nn.Module | None = None)[源代码]

如 Ziegler 等人“从人类偏好微调语言模型”中所述的自适应 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 (浮点数序列) – 最新策略与初始策略之间的当前 KL 值。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源