DeepSpeed 工具
DeepSpeedPlugin
get_active_deepspeed_plugin
accelerate.utils.get_active_deepspeed_plugin
< source >( state )
引发
ValueError
ValueError
— 如果未启用 DeepSpeed 且调用此函数。
返回当前活动的 DeepSpeedPlugin。
class accelerate.DeepSpeedPlugin
< source >( hf_ds_config: 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: Optional = 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 Stage 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
) — 变形金刚 MoE 层类名称的逗号分隔列表(区分大小写)。例如,MixtralSparseMoeBlock
、Qwen2MoeSparseMoeBlock
、JetMoEAttention
、JetMoEBlock
等。 - enable_msamp (
bool
, 默认为None
) — 指示是否为 FP8 训练启用 MS-AMP 后端的标志。 - msasmp_opt_level (
Optional[Literal["O1", "O2"]]
, defaults toNone
) — 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 )
Dummy 调度器呈现模型参数或参数组,这主要用于在 deepspeed 配置文件中指定调度器配置时遵循传统的训练循环。
DeepSpeedEnginerWrapper
class accelerate.utils.DeepSpeedEngineWrapper
< source >( engine )
deepspeed.runtime.engine.DeepSpeedEngine 的内部包装器。这用于遵循传统的训练循环。
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 )
Dummy 优化器呈现模型参数或参数组,这主要用于在 deepspeed 配置文件中指定优化器配置时遵循传统的训练循环。