Bitsandbytes 文档
AdaGrad
并获得增强的文档体验
开始使用
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 优化器。