Bitsandbytes 文件
Lion
並獲得增強的文件體驗
開始使用
Lion
Lion(Evolved Sign Momentum) 是一款獨特的最佳化器,它使用梯度的符號來確定動量的更新方向。這使得 Lion 比跟蹤和儲存一階和二階矩的 `AdamW` 記憶體效率更高、速度更快。
Lion
class 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__
< 原始碼 >( 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 )
引數
- params (
torch.tensor
) — 用於最佳化的輸入引數。 - lr (
float
,預設為 1e-4) — 學習率。 - betas (
tuple(float, float)
,預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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
class 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)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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
class 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)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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`) — 最佳化器是否是分頁最佳化器。
32位 Lion 最佳化器。
PagedLion
class 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)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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
) — 是否獨立量化每個張量塊,以減少異常值效應並提高穩定性。
Paged Lion 最佳化器。
PagedLion8bit
class bitsandbytes.optim.PagedLion8bit
< source >( 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__
< source >( 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)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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
) — 是否獨立量化每個張量塊,以減少異常值效應並提高穩定性。
Paged 8-bit Lion 最佳化器。
PagedLion32bit
class bitsandbytes.optim.PagedLion32bit
< source >( 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__
< source >( 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)) — Beta 值是最佳化器一階和二階矩的衰減率。 - 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
) — 是否獨立量化每個張量塊,以減少異常值效應並提高穩定性。
Paged 32-bit Lion 最佳化器。