捷徑

AdaptiveKLController

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

自適應 KL 控制器,如 Ziegler 等人在“根據人類偏好微調語言模型”中所述。

關鍵字引數:
  • 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 (float 序列) – 最新策略與初始策略之間的目前 KL 值。

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得針對初學者和進階開發者的深度教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源