Bitsandbytes文档

狮子

Hugging Face's logo
加入Hugging Face社区

并获取增强文档体验

开始吧

Lion

Lion (进化的符号动量)是一个独特的优化器,它使用梯度的符号来确定动量的更新方向。这使得Lion比追踪和存储一阶和二阶矩的AdamW内存效率更高且运行更快。

Lion

bitsandbytes.optim.Lion

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

&lf; &rt;

( 参数 学习率 = 0.0001 beta = (0.9, 0.99) 权重衰减 = 0 优化位宽 = 32 参数 = None 最小8位大小 = 4096 百分位数剪裁 = 100 按块方式 = True 分页 = False )

参数

  • params (torch.tensor) — 优化所需输入参数。
  • lr (float, 默认为 1e-4) — 学习率。
  • betas (tuple(float, float), 默认为 (0.9, 0.999)) — 优化器的一阶和二阶矩的衰减率。
  • weight_decay (float, 默认为 0) — 优化器的权重衰减值。
  • optim_bits (int, 默认为 32) — 优化器状态的数量位。
  • args (object, 默认为 None) — 包含额外参数的对象。
  • min_8bit_size (int, 默认为 4096) — 对于 8 位优化的参数张量元素的最小数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最后100个梯度范数来自动调整裁剪阈值,并在一定百分位数处裁剪梯度以改善稳定性。
  • block_wise (bool, 默认为 True) — 是否独立量化每个张量块以减少异常值影响并提高稳定性。
  • is_paged (bool, 默认为 False) — 是否优化器是分页优化器。

基本的 Lion 优化器。

Lion8bit

bitsandbytes.optim.Lion8bit

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

参数

  • params (torch.tensor) — 优化输入的参数。
  • lr (float, 默认为1e-4) — 学习率。
  • betas (tuple(float, float), 默认为(0.9, 0.999)) — 优化器一阶和二阶矩的衰减速率。
  • weight_decay (float, 默认为0) — 优化器的权重衰减值。
  • args (object, 默认为None) — 包含额外参数的对象。
  • min_8bit_size (int, 默认为4096) — 8位优化参数张量元素的最小数量。
  • percentile_clipping (int, 默认为100) — 通过跟踪最后100个梯度范数来自动调整剪裁阈值,并在一定的百分位数处剪裁梯度以改善稳定性。
  • block_wise (bool, 默认为True) — 是否独立量化每个张量块以减少异常值的影响并提高稳定性。
  • is_paged (bool, 默认为 False) — 是否是分页优化器。

8位Lion优化器。

Lion32bit

bitsandbytes.optim.Lion32bit

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float, 默认值 1e-4) — 学习率。
  • betas (tuple(float, float), 默认值 (0.9, 0.999)) — 优化器的一阶和二阶动量的衰减率。
  • weight_decay (float, 默认为 0) — 优化器的权重衰减值。
  • args (object, 默认为 None) — 包含附加参数的对象。
  • min_8bit_size (int, 默认为 4096) — 8位优化中参数张量的元素的最小数量。
  • percentile_clipping (int, 默认为 100) — 通过跟踪最后 100 个梯度范数自适应剪辑阈值,并在一定的百分位处剪辑梯度以改进稳定性。
  • block_wisebool,默认值True)—— 是否独立量化每个张量块以减少异常值影响并提高稳定性。
  • is_pagedbool,默认值False)—— 优化器是否为分页优化器。

32位Lion优化器。

PagedLion

bitsandbytes.optim.PagedLion

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.0001 betas = (0.9, 0.99) weight_decay = 0 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float, 默认为 1e-4) — 学习率。
  • betas (tuple(float, float), 默认为 (0.9, 0.999)) — 优化器的第一和第二阶矩的衰减率。
  • weight_decayfloat,默认为 0) — 优化器的权重衰减值。
  • optim_bitsint,默认为 32) — 优化器状态的数量位。
  • argsobject,默认为 None) — 带有附加参数的对象。
  • min_8bit_sizeint,默认为 4096) — 8 位优化的参数张量元素的最低数量。
  • percentile_clipping (int,默认值为100) — 通过跟踪最后100个梯度范数的百分比并裁剪梯度,以一定百分比值自动调整裁剪阈值来提高稳定性。
  • block_wise (bool,默认值为True) — 是否独立量化张量的每个块,以减少异常值影响并提高稳定性。

分页狮子优化器。

PagedLion8bit

bitsandbytes.optim.PagedLion8bit

< >

( params lr=0.0001 betas=(0.9, 0.99) weight_decay=0 args=None min_8bit_size=4096 percentile_clipping=100 block_wise=True )

__init__

< >

( params lr=0.0001 betas=(0.9, 0.99) weight_decay=0 args=None min_8bit_size=4096 percentile_clipping=100 block_wise=True )

参数

  • params (torch.tensor) — 待优化的输入参数。
  • lr (float, 默认为 1e-4) — 学习率。
  • betas (tuple(float, float), 默认为 (0.9, 0.999)) — 优化器一阶和二阶矩的衰减率。
  • weight_decay (float, 默认为 0) — 优化器的权重衰减值。
  • optim_bits (int, 默认为 32) — 优化器状态的位数。
  • args (对象,默认为 None) — 一个包含额外参数的对象。
  • min_8bit_size (整数,默认为 4096) — 8 位优化参数张量元素的最小数量。
  • percentile_clipping (整数,默认为 100) — 通过跟踪最后 100 个梯度范数来自动调整剪裁阈值,并在某个百分位数处剪裁梯度以提高稳定性。
  • block_wise (布尔值,默认为 True) — 是否独立量化和每个张量块以减少异常效应并提高稳定性。

分页 8 位狮优化器。

分页狮子32位

bitsandbytes.optim.PagedLion32bit

< >

( params lr=0.0001 betas=(0.9, 0.99) weight_decay=0 args=None min_8bit_size=4096 percentile_clipping=100 block_wise=True )

__init__

< >

( params lr=0.0001 betas=(0.9, 0.99) weight_decay=0 args=None min_8bit_size=4096 percentile_clipping=100 block_wise=True )

参数

  • params (torch.tensor) — 要优化的输入参数。
  • lr (float, 默认为 1e-4) — 学习率。
  • betas (tuple(float, float), 默认为 (0.9, 0.999)) — 优化器的一阶和二阶矩的衰减率。
  • weight_decay (float, 默认为 0) — 优化器的权重衰减值。
  • optim_bits (int, 默认为 32) — 优化器状态的字节数。

分页32位Lion优化器。

< > 在GitHub上更新