Bitsandbytes 文档

AdaGrad

Hugging Face's logo
加入Hugging Face社区

并获取增强文档体验

开始使用

AdaGrad

AdaGrad (自适应梯度)是一种自适应学习率优化器。AdaGrad存储每个参数过去梯度的平方和,并用它来缩放学习率。这使得学习率可以根据梯度的幅度自动调整高低,从而消除了手动调整学习率的需要。

Adagrad

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) — 初始动量值。
  • epsfloat,默认值 1e-10)—— 防止优化器中除以零的 epsilon 值。
  • optim_bitsint,默认值 32)—— 优化器状态的字节数。
  • argsobject,默认值 None)—— 包含额外参数的对象。
  • min_8bit_sizeint,默认值 4096)—— 8 位优化所需的参数张量元素的最小数量。
  • percentile_clipping (int, 默认值 100) — 通过跟踪最后 100 个梯度范数来自动调整剪裁阈值,并在一定百分位数处剪裁梯度,以改善稳定性。
  • block_wise (bool, 默认值 True) — 是否独立量化每个张量块以减少异常值效应并提高稳定性。

基础 Adagrad 优化器。

Adagrad8bit

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_decayint,默认为0)— 学习率衰减。
  • weight_decayfloat,默认为0.0)— 优化器的权重衰减值。
  • initial_accumulator_valueint,默认为0)— 初始动量值。
  • epsfloat,默认为1e-10)— epsilon值用于防止优化器中除以零。
  • optim_bits (int, 默认为8) — 优化器状态的位数。
  • args (object, 默认为 None) — 包含额外参数的对象。
  • min_8bit_size (int, 默认为4096) — 8位优化的参数张量元素的最小数量。
  • percentile_clipping (int, 默认为100) — 通过跟踪最后100个梯度范数来自动调整裁剪阈值,通过对梯度在某个百分位数进行裁剪来提高稳定性。
  • block_wise (布尔值,默认为True)—— 是否独立量化每个张量块以减少异常值影响并提高稳定性。

32位Adagrad优化器。

Adagrad32bit

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 (浮点数, 默认为 1e-2) — 学习率。
  • lr_decay (整数, 默认为 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 (布尔型,默认为 True) — 是否独立量化张量的每个块以减少异常值影响并提高稳定性。

32位 Adagrad 优化器。

< > 在 GitHub 上更新