Accelerate documentation
DeepSpeed 实用工具
DeepSpeed 实用工具
DeepSpeedPlugin
get_active_deepspeed_plugin
accelerate.utils.get_active_deepspeed_plugin
< source >( state )
引发
ValueError
ValueError— 如果未启用 DeepSpeed 且调用了此函数。
返回当前激活的 DeepSpeedPlugin。
类 accelerate.DeepSpeedPlugin
< source >( 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
< source >( prefix = ''mismatches = Noneconfig = Nonemust_match = True**kwargs )
使用 kwargs 中的值处理 DeepSpeed 配置。
设置 HfDeepSpeedWeakref 以使用当前的 deepspeed 插件配置
类 accelerate.utils.DummyScheduler
< source >( optimizertotal_num_steps = Nonewarmup_num_steps = 0lr_scheduler_callable = None**kwargs )
Dummy scheduler 会呈现模型参数或参数组,这主要用于在 deepspeed 配置文件中指定了调度器配置时,遵循常规的训练循环。
DeepSpeedEnginerWrapper
类 accelerate.utils.DeepSpeedEngineWrapper
< source >( engine )
deepspeed.runtime.engine.DeepSpeedEngine 的内部封装器。用于遵循常规的训练循环。
从 DeepSpeed 引擎中获取全局梯度范数。
DeepSpeedOptimizerWrapper
类 accelerate.utils.DeepSpeedOptimizerWrapper
< source >( optimizer )
DeepSpeed 优化器的内部封装。
DeepSpeedSchedulerWrapper
类 accelerate.utils.DeepSpeedSchedulerWrapper
< source >( scheduleroptimizers )
DeepSpeed 调度器的内部封装。
DummyOptim
类 accelerate.utils.DummyOptim
< source >( paramslr = 0.001weight_decay = 0**kwargs )
Dummy optimizer 提供模型参数或参数组,这主要用于在 deepspeed 配置文件中指定优化器配置时,遵循常规的训练循环。