Accelerate 文件
DeepSpeed 實用工具
並獲得增強的文件體驗
開始使用
DeepSpeed 實用工具
DeepSpeedPlugin
get_active_deepspeed_plugin
accelerate.utils.get_active_deepspeed_plugin
< source >( state )
引發
ValueError
- 如果未啟用 DeepSpeed 且呼叫了此函式,則會引發
ValueError
。
返回當前活動的 DeepSpeedPlugin。
class accelerate.DeepSpeedPlugin
< source >( 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
< source >( prefix = '' mismatches = None config = None must_match = True **kwargs )
使用來自 kwargs 的值處理 DeepSpeed 配置。
設定 HfDeepSpeedWeakref 以使用當前的 deepspeed 外掛配置
class accelerate.utils.DummyScheduler
< source >( optimizer total_num_steps = None warmup_num_steps = 0 lr_scheduler_callable = None **kwargs )
虛擬排程器提供了模型引數或引數組,主要用於在 deepspeed 配置檔案中指定排程器配置時遵循常規的訓練迴圈。
DeepSpeedEnginerWrapper
class accelerate.utils.DeepSpeedEngineWrapper
< source >( engine )
deepspeed.runtime.engine.DeepSpeedEngine 的內部包裝器。用於遵循常規的訓練迴圈。
從 DeepSpeed 引擎獲取全域性梯度範數。
DeepSpeedOptimizerWrapper
class accelerate.utils.DeepSpeedOptimizerWrapper
< source >( optimizer )
deepspeed 最佳化器的內部包裝器。
DeepSpeedSchedulerWrapper
class accelerate.utils.DeepSpeedSchedulerWrapper
< source >( scheduler optimizers )
deepspeed 排程器的內部包裝器。
DummyOptim
class accelerate.utils.DummyOptim
< source >( params lr = 0.001 weight_decay = 0 **kwargs )
虛擬最佳化器提供了模型引數或引數組,主要用於在 deepspeed 配置檔案中指定最佳化器配置時遵循常規的訓練迴圈。