Bitsandbytes 文档

LARS

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

LARS

LARS (Layer-wise Adaptive Rate Scaling) 是一种优化器,专为使用大批量大小进行训练以加速训练而设计。 LARS 为每个而不是每个参数使用单独的学习率。 学习率是根据层中权重和梯度范数之间的信任比率计算得出的。 这有助于校准稳定的更新大小。

LARS

class bitsandbytes.optim.LARS

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

__init__

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float) — 学习率。
  • momentum (float, defaults to 0) — 动量值通过采取更大的步骤来加速优化器。
  • dampening (float, defaults to 0) — 阻尼值会降低优化器的动量。
  • weight_decay (float, defaults to 1e-2) — 优化器的权重衰减值。
  • nesterov (bool, defaults to False) — 是否使用 Nesterov 动量。
  • optim_bits (int, defaults to 32) — 优化器状态的位数。
  • args (object, defaults to None) — 具有附加参数的对象。
  • min_8bit_size (int, defaults to 4096) — 用于 8 位优化的参数张量的最小元素数。
  • percentile_clipping (int, defaults to 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • max_unorm (float, defaults to 0.02) — 最大梯度范数。

基础 LARS 优化器。

LARS8bit

class bitsandbytes.optim.LARS8bit

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

__init__

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float) — 学习率。
  • momentum (float, 默认为 0) — 动量值通过采取更大的步长来加速优化器。
  • dampening (float, 默认为 0) — 阻尼值会降低优化器的动量。
  • weight_decay (float, 默认为 1e-2) — 优化器的权重衰减值。
  • nesterov (bool, 默认为 False) — 是否使用 Nesterov 动量。
  • args (object, 默认为 None) — 包含其他参数的对象。
  • min_8bit_size (int, 默认为 4096) — 用于 8 位优化的参数张量的最小元素数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • max_unorm (float, 默认为 0.02) — 最大梯度范数。

8 位 LARS 优化器。

LARS32bit

bitsandbytes.optim.LARS32bit

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

__init__

< >

( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float) — 学习率。
  • momentum (float, 默认为 0) — 动量值通过采取更大的步长来加速优化器。
  • dampening (float, 默认为 0) — 阻尼值会降低优化器的动量。
  • weight_decay (float, 默认为 1e-2) — 优化器的权重衰减值。
  • nesterov (bool, 默认为 False) — 是否使用 Nesterov 动量。
  • args (object, 默认为 None) — 包含其他参数的对象。
  • min_8bit_size (int, 默认为 4096) — 用于 8 位优化的参数张量的最小元素数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • max_unorm (float, 默认为 0.02) — 最大梯度范数。

32 位 LARS 优化器。

< > 在 GitHub 上更新