Accelerate documentation
Utilidades de DeepSpeed
Utilidades de DeepSpeed
DeepSpeedPlugin
get_active_deepspeed_plugin
accelerate.utils.get_active_deepspeed_plugin
< source >( state )
Lanza
ValueError
ValueError— Si DeepSpeed no estaba habilitado y se llama a esta función.
Devuelve el DeepSpeedPlugin actualmente activo.
clase 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 )
Parámetros
- hf_ds_config (
Any, por defectoNone) — Ruta al archivo de configuración de DeepSpeed o un diccionario o un objeto de la claseaccelerate.utils.deepspeed.HfDeepSpeedConfig. - gradient_accumulation_steps (
int, por defectoNone) — Número de pasos para acumular gradientes antes de actualizar los estados del optimizador. Si no se establece, se usará el valor deAcceleratordirectamente. - gradient_clipping (
float, por defectoNone) — Activa el recorte de gradientes con el valor indicado. - zero_stage (
int, por defectoNone) — Las opciones posibles son 0, 1, 2, 3. El valor por defecto se tomará de la variable de entorno. - is_train_batch_min (
bool, por defectoTrue) — Si se especifican tanto los dataloaders de entrenamiento como de evaluación, este parámetro determinará eltrain_batch_size. - offload_optimizer_device (
str, por defectoNone) — Las opciones posibles son none|cpu|nvme. Solo es aplicable con ZeRO Stages 2 y 3. - offload_param_device (
str, por defectoNone) — Las opciones posibles son none|cpu|nvme. Solo es aplicable con ZeRO Stage 3. - offload_optimizer_nvme_path (
str, por defectoNone) — Las opciones posibles son /nvme|/local_nvme. Solo es aplicable con ZeRO Stage 3. - offload_param_nvme_path (
str, por defectoNone) — Las opciones posibles son /nvme|/local_nvme. Solo es aplicable con ZeRO Stage 3. - zero3_init_flag (
bool, por defectoNone) — Indica si se debe guardar el modelo de 16 bits. Solo es aplicable con ZeRO Stage-3. - zero3_save_16bit_model (
bool, por defectoNone) — Indica si se debe guardar el modelo de 16 bits. Solo es aplicable con ZeRO Stage-3. - transformer_moe_cls_names (
str, por defectoNone) — Lista separada por comas de nombres de clases de capas MoE de Transformers (distingue entre mayúsculas y minúsculas). Por ejemplo,MixtralSparseMoeBlock,Qwen2MoeSparseMoeBlock,JetMoEAttention,JetMoEBlock, etc.
Este plugin se utiliza para integrar DeepSpeed.
deepspeed_config_process
< source >( prefix = ''mismatches = Noneconfig = Nonemust_match = True**kwargs )
Procesa la configuración de DeepSpeed con los valores de kwargs.
Establece el HfDeepSpeedWeakref para que utilice la configuración actual del plugin de deepspeed
clase accelerate.utils.DummyScheduler
< source >( optimizertotal_num_steps = Nonewarmup_num_steps = 0lr_scheduler_callable = None**kwargs )
Parámetros
- optimizer (
torch.optim.optimizer.Optimizer) — El optimizador que se va a envolver. - total_num_steps (int, opcional) — Número total de pasos.
- warmup_num_steps (int, opcional) — Número de pasos para el calentamiento.
- lr_scheduler_callable (callable, opcional) —
Una función callable que crea un LR Scheduler. Solo acepta un argumento,
optimizer. - **kwargs (argumentos de palabra clave adicionales, opcional) — Otros argumentos.
El programador de datos ficticios presenta los parámetros del modelo o los grupos de parámetros; se utiliza principalmente para seguir el bucle de entrenamiento convencional cuando la configuración del programador se especifica en el archivo de configuración de DeepSpeed.
DeepSpeedEnginerWrapper
clase accelerate.utils.DeepSpeedEngineWrapper
< source >( engine )
Envoltorio interno para deepspeed.runtime.engine.DeepSpeedEngine. Se utiliza para seguir el bucle de entrenamiento convencional.
Obtenga la norma global del gradiente desde el motor de DeepSpeed.
DeepSpeedOptimizerWrapper
clase accelerate.utils.DeepSpeedOptimizerWrapper
< source >( optimizer )
Envoltorio interno de un optimizador de deepspeed.
DeepSpeedSchedulerWrapper
clase accelerate.utils.DeepSpeedSchedulerWrapper
< source >( scheduleroptimizers )
Envoltorio interno de un programador de deepspeed.
DummyOptim
clase accelerate.utils.DummyOptim
< source >( paramslr = 0.001weight_decay = 0**kwargs )
El optimizador ficticio presenta los parámetros del modelo o los grupos de parámetros; se utiliza principalmente para seguir el bucle de entrenamiento convencional cuando la configuración del optimizador se especifica en el archivo de configuración de DeepSpeed.