快捷方式

AdaptiveKLController

class torchrl.data.AdaptiveKLController(*, init_kl_coef: float, target: float, horizon: int, model: Optional[Module] = None)[source]

自适应 KL 控制器,如 Ziegler 等人在“从人类偏好微调语言模型”中所述。

关键词参数:
  • init_kl_coef (float) – 系数的起始值。

  • target (float) – 目标 KL 值。当观察到的 KL 值较小时,系数会减小,从而放松训练目标中的 KL 惩罚,并允许模型偏离参考模型更远。当观察到的 KL 值大于目标值时,KL 系数会增加,从而将模型拉回参考模型。

  • horizon (int) – 缩放因子,用于控制我们更新系数的激进程度。

  • model (nn.Module, 可选) – 需要控制的包装模型。必须具有属性 "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])[source]

自适应地更新 self.coef

参数:

kl_values (float 序列) – 最新策略和初始策略之间的当前 KL 值。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

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

查看资源