Bitsandbytes 文件

AdamW

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

AdamW

AdamWAdam 最佳化器的一種變體。其根據“權重衰減應用於 SGDAdam 時公式不同”這一觀察,將權重衰減從梯度更新中分離出來。

bitsandbytes 還支援分頁最佳化器,當 GPU 記憶體耗盡時,該最佳化器利用 CUDA 的統一記憶體將記憶體從 GPU 轉移到 CPU。

AdamW

class bitsandbytes.optim.AdamW

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

引數

  • params (torch.tensor) — 待最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值,用於防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否是分頁最佳化器。

基礎 AdamW 最佳化器。

AdamW8bit

class bitsandbytes.optim.AdamW8bit

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

引數

  • params (torch.tensor) — 待最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值,用於防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否是分頁最佳化器。

8 位 AdamW 最佳化器。

AdamW32bit

class bitsandbytes.optim.AdamW32bit

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True is_paged = False )

引數

  • params (torch.tensor) — 待最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值,用於防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否是分頁最佳化器。

32 位 AdamW 最佳化器。

PagedAdamW

class bitsandbytes.optim.PagedAdamW

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

引數

  • params (torch.tensor) — 待最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值,用於防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否為分頁最佳化器。

分頁 AdamW 最佳化器。

PagedAdamW8bit

class bitsandbytes.optim.PagedAdamW8bit

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

引數

  • params (torch.tensor) — 需要最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值可防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否為分頁最佳化器。

分頁 8 位 AdamW 最佳化器。

PagedAdamW32bit

class bitsandbytes.optim.PagedAdamW32bit

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

__init__

< >

( params lr = 0.001 betas = (0.9, 0.999) eps = 1e-08 weight_decay = 0.01 amsgrad = False optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )

引數

  • params (torch.tensor) — 需要最佳化的輸入引數。
  • lr (float, 預設為 1e-3) — 學習率。
  • betas (tuple(float, float), 預設為 (0.9, 0.999)) — Beta 值是最佳化器一階和二階矩的衰減率。
  • eps (float, 預設為 1e-8) — Epsilon 值可防止最佳化器中出現除以零的情況。
  • weight_decay (float, 預設為 1e-2) — 最佳化器的權重衰減值。
  • amsgrad (bool, 預設為 False) — 是否使用 Adam 的 AMSGrad 變體,該變體使用過去平方梯度的最大值。
  • 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) — 最佳化器是否為分頁最佳化器。

分頁 32 位 AdamW 最佳化器。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.