Bitsandbytes 文档

AdaGrad

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

AdaGrad

AdaGrad(Adaptive Gradient)是一种自适应学习率优化器。AdaGrad 为每个参数存储过去梯度的平方和,并用它来缩放其学习率。这使得学习率能够根据梯度的大小自动降低或提高,从而无需手动调整学习率。

Adagrad

class bitsandbytes.optim.Adagrad

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

参数

  • params (torch.tensor) — 用于优化的输入参数。
  • lr (float, 默认为 1e-2) — 学习率。
  • lr_decay (int, 默认为 0) — 学习率衰减。
  • weight_decay (float, 默认为 0.0) — 优化器的权重衰减值。
  • initial_accumulator_value (int, 默认为 0) — 初始动量值。
  • eps (float, 默认为 1e-10) — epsilon 值,用于防止优化器中出现除零错误。
  • optim_bits (int, 默认为 32) — 优化器状态的位数。
  • args (object, 默认为 None) — 带有附加参数的对象。
  • min_8bit_size (int, 默认为 4096) — 进行 8 位优化的参数张量的最小元素数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • block_wise (bool, 默认为 True) — 是否独立量化每个张量块以减少离群值效应并提高稳定性。

基础 Adagrad 优化器。

Adagrad8bit

class bitsandbytes.optim.Adagrad8bit

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 8 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 8 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

参数

  • params (torch.tensor) — 用于优化的输入参数。
  • lr (float, 默认为 1e-2) — 学习率。
  • lr_decay (int, 默认为 0) — 学习率衰减。
  • weight_decay (float, 默认为 0.0) — 优化器的权重衰减值。
  • initial_accumulator_value (int, 默认为 0) — 初始动量值。
  • eps (float, 默认为 1e-10) — epsilon 值,用于防止优化器中出现除零错误。
  • optim_bits (int, 默认为 8) — 优化器状态的位数。
  • args (object, 默认为 None) — 带有附加参数的对象。
  • min_8bit_size (int, 默认为 4096) — 进行 8 位优化的参数张量的最小元素数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • block_wise (bool, 默认为 True) — 是否独立量化每个张量块以减少离群值效应并提高稳定性。

8 位 Adagrad 优化器。

Adagrad32bit

class bitsandbytes.optim.Adagrad32bit

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

参数

  • params (torch.tensor) — 用于优化的输入参数。
  • lr (float, 默认为 1e-2) — 学习率。
  • lr_decay (int, 默认为 0) — 学习率衰减。
  • weight_decay (float, 默认为 0.0) — 优化器的权重衰减值。
  • initial_accumulator_value (int, 默认为 0) — 初始动量值。
  • eps (float, 默认为 1e-10) — epsilon 值,用于防止优化器中出现除零错误。
  • optim_bits (int, 默认为 32) — 优化器状态的位数。
  • args (object, 默认为 None) — 带有附加参数的对象。
  • min_8bit_size (int, 默认为 4096) — 进行 8 位优化的参数张量的最小元素数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最近 100 个梯度范数并在某个百分位数处裁剪梯度来自动调整裁剪阈值,以提高稳定性。
  • block_wise (bool, 默认为 True) — 是否独立量化每个张量块以减少离群值效应并提高稳定性。

32 位 Adagrad 优化器。

< > 在 GitHub 上更新