Accelerate documentation

DeepSpeed 实用工具

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DeepSpeed 实用工具

DeepSpeedPlugin

get_active_deepspeed_plugin

accelerate.utils.get_active_deepspeed_plugin

< >

( state )

引发

ValueError

  • ValueError — 如果未启用 DeepSpeed 且调用了此函数。

返回当前激活的 DeepSpeedPlugin。

类 accelerate.DeepSpeedPlugin

< >

( hf_ds_config: Any = Nonegradient_accumulation_steps: int = Nonegradient_clipping: float = Nonezero_stage: int = Noneis_train_batch_min: bool = Trueoffload_optimizer_device: str = Noneoffload_param_device: str = Noneoffload_optimizer_nvme_path: str = Noneoffload_param_nvme_path: str = Nonezero3_init_flag: bool = Nonezero3_save_16bit_model: bool = Nonetransformer_moe_cls_names: str = 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 等。

此插件用于集成 DeepSpeed。

deepspeed_config_process

< >

( prefix = ''mismatches = Noneconfig = Nonemust_match = True**kwargs )

使用 kwargs 中的值处理 DeepSpeed 配置。

选择

< >

( _from_accelerator_state: bool = False )

设置 HfDeepSpeedWeakref 以使用当前的 deepspeed 插件配置

类 accelerate.utils.DummyScheduler

< >

( optimizertotal_num_steps = Nonewarmup_num_steps = 0lr_scheduler_callable = None**kwargs )

参数

  • optimizer (torch.optim.optimizer.Optimizer) — 要包装的优化器。
  • total_num_steps (int, 可选) — 总步数。
  • warmup_num_steps (int, 可选) — 预热步数。
  • lr_scheduler_callable (callable, 可选) — 用于创建学习率调度器的可调用函数。它仅接受一个参数 optimizer。
  • **kwargs(其他关键字参数,可选) — 其他参数。

Dummy scheduler 会呈现模型参数或参数组,这主要用于在 deepspeed 配置文件中指定了调度器配置时,遵循常规的训练循环。

DeepSpeedEnginerWrapper

类 accelerate.utils.DeepSpeedEngineWrapper

< >

( engine )

参数

  • engine (deepspeed.runtime.engine.DeepSpeedEngine) — 要封装的 DeepSpeed 引擎

deepspeed.runtime.engine.DeepSpeedEngine 的内部封装器。用于遵循常规的训练循环。

get_global_grad_norm

< >

( )

从 DeepSpeed 引擎中获取全局梯度范数。

DeepSpeedOptimizerWrapper

类 accelerate.utils.DeepSpeedOptimizerWrapper

< >

( optimizer )

参数

  • optimizer (torch.optim.optimizer.Optimizer) — 要包装的优化器。

DeepSpeed 优化器的内部封装。

DeepSpeedSchedulerWrapper

类 accelerate.utils.DeepSpeedSchedulerWrapper

< >

( scheduleroptimizers )

参数

  • scheduler (torch.optim.lr_scheduler.LambdaLR) — 要包装的调度器。
  • optimizers(一个或一个torch.optim.Optimizer列表)—

DeepSpeed 调度器的内部封装。

DummyOptim

类 accelerate.utils.DummyOptim

< >

( paramslr = 0.001weight_decay = 0**kwargs )

参数

  • lr (float) — 学习率。
  • params(可迭代对象)— 要优化的参数的可迭代对象,或定义参数组的字典
  • weight_decay (float) — 权重衰减。
  • **kwargs(其他关键字参数,可选) — 其他参数。

Dummy optimizer 提供模型参数或参数组,这主要用于在 deepspeed 配置文件中指定优化器配置时,遵循常规的训练循环。

DummyScheduler

Update on GitHub