Bitsandbytes 文档

LAMB

Hugging Face's logo
加入Hugging Face社区

并获取增强文档体验

开始使用

LAMB

LAMB (层自适应大型批量优化)是一个旨在用于大批量训练的适应力优化器,以加速训练,结合了LARSAdam的思想,以自动调整每层的学习率

  • 计算一层中权重和梯度范数之间的信任比,并将该比率剪裁以防止更新过大或过小
  • 使用一阶和二阶矩更新权重

LAMB

bitsandbytes.optim.LAMB

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

__init__

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float, 默认为 1e-3) — 学习率。
  • bias_correction (bool, 默认为 True) — 是否对一阶和二阶矩应用偏差校正。
  • betas (tuple(float, float), 默认为 (0.9, 0.999)) — 优化器一阶和二阶矩的衰减率。
  • eps (float, 默认为 1e-8) — 在优化器中防止除以零的 epsilon 值。
  • weight_decay (float, 默认为 1e-2) — 优化器的权重衰减值。
  • amsgrad (bool, 默认为 False) — 是否使用使用过去平方梯度的最大值的 Adam 的 AMSGrad 变体。AMSGrad
  • adam_w_mode (bool, 默认为 True) — 是否使用 AdamW 变体。
  • optim_bits (int, 默认为 32) — 优化器状态的位数。
  • argsobject,默认为None) — 一个包含额外参数的对象。
  • min_8bit_sizeint,默认为4096) — 8位优化的参数张量元素的最小数量。
  • percentile_clippingint,默认为100) — 通过跟踪最近100个梯度范数来自动调整剪辑阈值,并在某个百分位数处剪辑梯度以改善稳定性。
  • block_wisebool,默认为True) — 是否独立量化每个张量块以减少异常值的影响并提高稳定性。
  • max_unormfloat,默认为1.0) — 最大梯度范数。

基础的LAMB优化器。

LAMB8bit

bitsandbytes.optim.LAMB8bit

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

__init__

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float, 默认为 1e-3) — 学习率。
  • bias_correction (布尔值,默认为 True) — 是否应用偏差校正到一阶和二阶矩。
  • betas (浮点数元组,默认为 (0.9, 0.999)) — 优化器一阶和二阶矩的衰减率。
  • eps (浮点数,默认为 1e-8) — 在优化器中用来防止除以零的 epsilon 值。
  • weight_decayfloat,默认为 1e-2)——优化器的权重衰减值。
  • amsgradbool,默认为 False)——是否使用 Adam 算法的 AMSGrad 变体,该变体使用过去平方梯度的最大值。
  • adam_w_modebool,默认为 True)——是否使用 AdamW 变体。
  • argsobject,默认为 None)——包含附加参数的对象。
  • min_8bit_size (int, 默认为 4096) — 8 位优化参数张量元素的最小数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最后 100 个梯度范数来自适应地调整剪裁阈值,通过在一定的百分位数处剪裁梯度来提高稳定性和结果。
  • block_wise (bool, 默认为 True) — 是否独立量化每个张量块以减少异常值的影响并提高稳定性。
  • max_unorm (float, 默认为 1.0) — 最大梯度范数。

8 位 LAMB 优化器。

LAMB32bit

bitsandbytes.optim.LAMB32bit

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

__init__

< >

( params lr = 0.001 bias_correction = True betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0 amsgrad = False adam_w_mode = True args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = False max_unorm = 1.0 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (浮点数,默认值为 1e-3) — 学习率。
  • bias_correction (布尔值,默认为 True) — 是否对第一和二阶矩进行偏差校正。
  • betas (浮点数元组,默认为 (0.9, 0.999)) — 优化器第一和二阶矩的衰减率。
  • eps (浮点数,默认值为 1e-8) — epsilon值用于防止优化器中除以零。
  • weight_decayfloat,默认为 1e-2)——优化器中的权重衰减值。
  • amsgradbool,默认为 False)——是否使用 Adam 的 AMSGrad 变体,该变体使用过去平方梯度的最大值。
  • adam_w_modebool,默认为 True)——是否使用 AdamW 变体。
  • argsobject,默认为 None)——带有额外参数的对象。
  • min_8bit_size(《int》类型,默认为4096)——8位优化参数张量元素的最小数量。
  • percentile_clipping(《int》类型,默认为100)——自动调整剪裁阈值,通过跟踪最后的100个梯度规范,并在某个百分位处剪裁梯度以提高稳定性。
  • block_wise(《bool》类型,默认为True)——是否独立量化每个张量块以减少异常值的影响并提高稳定性。
  • max_unorm(《float》类型,默认为1.0)——最大梯度规范。

32位LAMB优化器。

< > 更新于GitHub