Accelerate 文件

DeepSpeed 實用工具

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

DeepSpeed 實用工具

DeepSpeedPlugin

get_active_deepspeed_plugin

accelerate.utils.get_active_deepspeed_plugin

< >

( state )

引發

ValueError

  • 如果未啟用 DeepSpeed 且呼叫了此函式,則會引發 ValueError

返回當前活動的 DeepSpeedPlugin。

class accelerate.DeepSpeedPlugin

< >

( hf_ds_config: typing.Any = None gradient_accumulation_steps: int = None gradient_clipping: float = None zero_stage: int = None is_train_batch_min: bool = True offload_optimizer_device: str = None offload_param_device: str = None offload_optimizer_nvme_path: str = None offload_param_nvme_path: str = None zero3_init_flag: bool = None zero3_save_16bit_model: bool = None transformer_moe_cls_names: str = None enable_msamp: bool = None msamp_opt_level: typing.Optional[typing.Literal['O1', 'O2']] = None )

引數

  • hf_ds_config (Any, 預設為 None) — DeepSpeed 配置檔案的路徑,或字典,或 accelerate.utils.deepspeed.HfDeepSpeedConfig 類的物件。
  • gradient_accumulation_steps (int, 預設為 None) — 在更新最佳化器狀態之前累積梯度的步數。如果未設定,將直接使用 `Accelerator` 的值。
  • gradient_clipping (float, 預設為 None) — 啟用梯度裁剪並設定其值。
  • zero_stage (int, 預設為 None) — 可能的選項為 0、1、2、3。預設值將從環境變數中獲取。
  • is_train_batch_min (bool, 預設為 True) — 如果同時指定了訓練和評估資料載入器,這將決定 `train_batch_size`。
  • offload_optimizer_device (str, 預設為 None) — 可能的選項為 none|cpu|nvme。僅適用於 ZeRO Stages 2 和 3。
  • offload_param_device (str, 預設為 None) — 可能的選項為 none|cpu|nvme。僅適用於 ZeRO Stage 3。
  • offload_optimizer_nvme_path (str, 預設為 None) — 可能的選項為 /nvme|/local_nvme。僅適用於 ZeRO Stage 3。
  • offload_param_nvme_path (str, 預設為 None) — 可能的選項為 /nvme|/local_nvme。僅適用於 ZeRO Stage 3。
  • zero3_init_flag (bool, 預設為 None) — 指示是否儲存16位模型的標誌。僅適用於 ZeRO Stage-3。
  • zero3_save_16bit_model (bool, 預設為 None) — 指示是否儲存16位模型的標誌。僅適用於 ZeRO Stage-3。
  • transformer_moe_cls_names (str, 預設為 None) — 以逗號分隔的 Transformers MoE 層類名列表(區分大小寫)。例如,`MixtralSparseMoeBlock`、`Qwen2MoeSparseMoeBlock`、`JetMoEAttention`、`JetMoEBlock` 等。
  • enable_msamp (bool, 預設為 None) — 指示是否為 FP8 訓練啟用 MS-AMP 後端的標誌。
  • msasmp_opt_level (Optional[Literal["O1", "O2"]], 預設為 None) — MS-AMP 的最佳化級別(預設為 'O1')。僅當 `enable_msamp` 為 True 時適用。應為 ['O1' 或 'O2'] 之一。

此外掛用於整合 DeepSpeed。

deepspeed_config_process

< >

( prefix = '' mismatches = None config = None must_match = True **kwargs )

使用來自 kwargs 的值處理 DeepSpeed 配置。

選擇

< >

( _from_accelerator_state: bool = False )

設定 HfDeepSpeedWeakref 以使用當前的 deepspeed 外掛配置

class accelerate.utils.DummyScheduler

< >

( optimizer total_num_steps = None warmup_num_steps = 0 lr_scheduler_callable = None **kwargs )

引數

  • optimizer (torch.optim.optimizer.Optimizer) — 要包裝的最佳化器。
  • total_num_steps (int, 可選) — 總步數。
  • warmup_num_steps (int, 可選) — 預熱步數。
  • lr_scheduler_callable (callable, 可選) — 一個可呼叫函式,用於建立學習率排程器。它只接受一個引數 `optimizer`。
  • **kwargs (附加關鍵字引數, 可選) — 其他引數。

虛擬排程器提供了模型引數或引數組,主要用於在 deepspeed 配置檔案中指定排程器配置時遵循常規的訓練迴圈。

DeepSpeedEnginerWrapper

class accelerate.utils.DeepSpeedEngineWrapper

< >

( engine )

引數

  • engine (deepspeed.runtime.engine.DeepSpeedEngine) — 要包裝的 deepspeed 引擎

deepspeed.runtime.engine.DeepSpeedEngine 的內部包裝器。用於遵循常規的訓練迴圈。

get_global_grad_norm

< >

( )

從 DeepSpeed 引擎獲取全域性梯度範數。

DeepSpeedOptimizerWrapper

class accelerate.utils.DeepSpeedOptimizerWrapper

< >

( optimizer )

引數

  • optimizer (torch.optim.optimizer.Optimizer) — 要包裝的最佳化器。

deepspeed 最佳化器的內部包裝器。

DeepSpeedSchedulerWrapper

class accelerate.utils.DeepSpeedSchedulerWrapper

< >

( scheduler optimizers )

引數

  • scheduler (torch.optim.lr_scheduler.LambdaLR) — 要包裝的排程器。
  • optimizers (一個或一個 `torch.optim.Optimizer` 列表) —

deepspeed 排程器的內部包裝器。

DummyOptim

class accelerate.utils.DummyOptim

< >

( params lr = 0.001 weight_decay = 0 **kwargs )

引數

  • lr (float) — 學習率。
  • params (iterable) — 可迭代的待最佳化引數或定義引數組的字典
  • weight_decay (float) — 權重衰減。
  • **kwargs (附加關鍵字引數, 可選) — 其他引數。

虛擬最佳化器提供了模型引數或引數組,主要用於在 deepspeed 配置檔案中指定最佳化器配置時遵循常規的訓練迴圈。

DummyScheduler

< > 在 GitHub 上更新

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