Bitsandbytes 文档
LAMB
并获得增强的文档体验
开始使用
LAMB
LAMB (Layerwise adaptive large batch optimization) 是一种自适应优化器,专为使用大批量大小进行训练而设计,以加速训练,结合了 LARS
和 Adam
的思想,可自动缩放每层的学习率
- 计算层中权重和梯度范数之间的信任比率,并裁剪该比率以防止更新过大或过小
- 使用一阶矩和二阶矩更新权重
LAMB
class bitsandbytes.optim.LAMB
< source >( 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__
< source >( 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)) — beta 值是优化器一阶矩和二阶矩的衰减率。 - eps (
float
, 默认为 1e-8) — epsilon 值可防止优化器中被零除。 - weight_decay (
float
, 默认为 1e-2) — 优化器的权重衰减值。 - amsgrad (
bool
, 默认为False
) — 是否使用 Adam 的 AMSGrad 变体,该变体使用过去平方梯度的最大值。 - adam_w_mode (
bool
, 默认为True
) — 是否使用 AdamW 变体。 - optim_bits (
int
, 默认为 32) — 优化器状态的位数。 - args (
object
, 默认为None
) — 具有附加参数的对象。 - min_8bit_size (
int
, 默认为 4096) — 参数张量的最小元素数量,用于 8 位优化。 - percentile_clipping (
int
, 默认为 100) — 通过跟踪最近 100 个梯度范数并将梯度裁剪在特定百分位数以提高稳定性,自动调整裁剪阈值。 - block_wise (
bool
, 默认为True
) — 是否独立量化张量的每个块,以减少异常值影响并提高稳定性。 - max_unorm (
float
, 默认为 1.0) — 最大梯度范数。
基础 LAMB 优化器。
LAMB8bit
class bitsandbytes.optim.LAMB8bit
< source >( 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__
< source >( 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
, defaults to 1e-3) — 学习率,默认为 1e-3。 - bias_correction (
bool
, defaults toTrue
) — 是否对一阶矩和二阶矩应用偏差校正,默认为True
。 - betas (
tuple(float, float)
, defaults to (0.9, 0.999)) — beta 值是优化器一阶矩和二阶矩的衰减率,默认为 (0.9, 0.999)。 - eps (
float
, defaults to 1e-8) — epsilon 值,用于防止优化器中除以零,默认为 1e-8。 - weight_decay (
float
, defaults to 1e-2) — 优化器的权重衰减值,默认为 1e-2。 - amsgrad (
bool
, defaults toFalse
) — 是否使用 AMSGrad 版 Adam 变体,该变体使用过去平方梯度的最大值,默认为False
。 - adam_w_mode (
bool
, defaults toTrue
) — 是否使用 AdamW 变体,默认为True
。 - args (
object
, defaults toNone
) — 带有附加参数的对象,默认为None
。 - min_8bit_size (
int
, defaults to 4096) — 参数张量进行 8 位优化的最小元素数量,默认为 4096。 - percentile_clipping (
int
, defaults to 100) — 通过跟踪最近 100 个梯度范数并按一定百分位数裁剪梯度来自动调整裁剪阈值,以提高稳定性,默认为 100。 - block_wise (
bool
, defaults toTrue
) — 是否独立量化张量的每个块,以减少异常值影响并提高稳定性,默认为True
。 - max_unorm (
float
, defaults to 1.0) — 最大梯度范数,默认为 1.0。
8 位 LAMB 优化器。
LAMB32bit
class bitsandbytes.optim.LAMB32bit
< source >( 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__
< source >( 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
, defaults to 1e-3) — 学习率,默认为 1e-3。 - bias_correction (
bool
, defaults toTrue
) — 是否对一阶矩和二阶矩应用偏差校正,默认为True
。 - betas (
tuple(float, float)
, defaults to (0.9, 0.999)) — beta 值是优化器一阶矩和二阶矩的衰减率,默认为 (0.9, 0.999)。 - eps (
float
, defaults to 1e-8) — epsilon 值,用于防止优化器中除以零,默认为 1e-8。 - weight_decay (
float
, defaults to 1e-2) — 优化器的权重衰减值,默认为 1e-2。 - amsgrad (
bool
, defaults toFalse
) — 是否使用 AMSGrad 版 Adam 变体,该变体使用过去平方梯度的最大值,默认为False
。 - adam_w_mode (
bool
, defaults toTrue
) — 是否使用 AdamW 变体,默认为True
。 - args (
object
, defaults toNone
) — 带有附加参数的对象,默认为None
。 - min_8bit_size (
int
, defaults to 4096) — 参数张量进行 8 位优化的最小元素数量,默认为 4096。 - percentile_clipping (
int
, 默认值为 100) — 通过跟踪最近 100 个梯度范数并按某个百分位数裁剪梯度来自动调整裁剪阈值,以提高稳定性。 - block_wise (
bool
, 默认值为True
) — 是否独立量化张量的每个块,以减少异常值影响并提高稳定性。 - max_unorm (
float
, 默认值为 1.0) — 最大梯度范数。
32 位 LAMB 优化器。