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 配置文件中指定优化器配置时遵循常规的训练循环。