Bitsandbytes 文件
LARS
並獲得增強的文件體驗
開始使用
LARS
LARS (Layer-wise Adaptive Rate Scaling) 是一種專為大批次訓練設計的最佳化器,旨在加速訓練過程。LARS 為每個*層*而不是每個引數使用單獨的學習率。該學習率是透過層中權重和梯度範數之間的*信任比*來計算的。這有助於校準一個穩定的更新幅度。
LARS
class bitsandbytes.optim.LARS
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
__init__
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
引數
- params (
torch.tensor
) — 待最佳化的輸入引數。 - lr (
float
) — 學習率。 - momentum (
float
, 預設為 0) — 動量值透過採取更大的步長來加速最佳化器。 - dampening (
float
, 預設為 0) — 阻尼值減小最佳化器的動量。 - weight_decay (
float
, 預設為 1e-2) — 最佳化器的權重衰減值。 - nesterov (
bool
, 預設為 `False`) — 是否使用 Nesterov 動量。 - optim_bits (
int
, 預設為 32) — 最佳化器狀態的位數。 - args (
object
, 預設為 `None`) — 包含附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 8位最佳化中引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數,並在特定百分位數處對梯度進行裁剪來自動調整裁剪閾值,以提高穩定性。 - max_unorm (
float
, 預設為 0.02) — 最大梯度範數。
基礎 LARS 最佳化器。
LARS8bit
class bitsandbytes.optim.LARS8bit
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
__init__
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
引數
- params (
torch.tensor
) — 待最佳化的輸入引數。 - lr (
float
) — 學習率。 - momentum (
float
, 預設為 0) — 動量值透過採取更大的步長來加速最佳化器。 - dampening (
float
, 預設為 0) — 阻尼值減小最佳化器的動量。 - weight_decay (
float
, 預設為 1e-2) — 最佳化器的權重衰減值。 - nesterov (
bool
, 預設為 `False`) — 是否使用 Nesterov 動量。 - args (
object
, 預設為 `None`) — 包含附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 8位最佳化中引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數,並在特定百分位數處對梯度進行裁剪來自動調整裁剪閾值,以提高穩定性。 - max_unorm (
float
, 預設為 0.02) — 最大梯度範數。
8位 LARS 最佳化器。
LARS32bit
class bitsandbytes.optim.LARS32bit
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
__init__
< 原始碼 >( params lr momentum = 0 dampening = 0 weight_decay = 0 nesterov = False args = None min_8bit_size = 4096 percentile_clipping = 100 max_unorm = 0.02 )
引數
- params (
torch.tensor
) — 待最佳化的輸入引數。 - lr (
float
) — 學習率。 - momentum (
float
, 預設為 0) — 動量值透過採取更大的步長來加速最佳化器。 - dampening (
float
, 預設為 0) — 阻尼值減小最佳化器的動量。 - weight_decay (
float
, 預設為 1e-2) — 最佳化器的權重衰減值。 - nesterov (
bool
, 預設為 `False`) — 是否使用 Nesterov 動量。 - args (
object
, 預設為 `None`) — 包含附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 8位最佳化中引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數,並在特定百分位數處對梯度進行裁剪來自動調整裁剪閾值,以提高穩定性。 - max_unorm (
float
, 預設為 0.02) — 最大梯度範數。
32位 LARS 最佳化器。