Accelerate documentation

Utilidades de 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

Utilidades de DeepSpeed

DeepSpeedPlugin

get_active_deepspeed_plugin

accelerate.utils.get_active_deepspeed_plugin

< >

( state )

Lanza

ValueError

  • ValueError — Si DeepSpeed no estaba habilitado y se llama a esta función.

Devuelve el DeepSpeedPlugin actualmente activo.

clase 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 )

Parámetros

  • hf_ds_config (Any, por defecto None) — Ruta al archivo de configuración de DeepSpeed o un diccionario o un objeto de la clase accelerate.utils.deepspeed.HfDeepSpeedConfig.
  • gradient_accumulation_steps (int, por defecto None) — Número de pasos para acumular gradientes antes de actualizar los estados del optimizador. Si no se establece, se usará el valor de Accelerator directamente.
  • gradient_clipping (float, por defecto None) — Activa el recorte de gradientes con el valor indicado.
  • zero_stage (int, por defecto None) — 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 defecto True) — Si se especifican tanto los dataloaders de entrenamiento como de evaluación, este parámetro determinará el train_batch_size.
  • offload_optimizer_device (str, por defecto None) — Las opciones posibles son none|cpu|nvme. Solo es aplicable con ZeRO Stages 2 y 3.
  • offload_param_device (str, por defecto None) — Las opciones posibles son none|cpu|nvme. Solo es aplicable con ZeRO Stage 3.
  • offload_optimizer_nvme_path (str, por defecto None) — Las opciones posibles son /nvme|/local_nvme. Solo es aplicable con ZeRO Stage 3.
  • offload_param_nvme_path (str, por defecto None) — Las opciones posibles son /nvme|/local_nvme. Solo es aplicable con ZeRO Stage 3.
  • zero3_init_flag (bool, por defecto None) — Indica si se debe guardar el modelo de 16 bits. Solo es aplicable con ZeRO Stage-3.
  • zero3_save_16bit_model (bool, por defecto None) — Indica si se debe guardar el modelo de 16 bits. Solo es aplicable con ZeRO Stage-3.
  • transformer_moe_cls_names (str, por defecto None) — 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

< >

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

Procesa la configuración de DeepSpeed con los valores de kwargs.

select

< >

( _from_accelerator_state: bool = False )

Establece el HfDeepSpeedWeakref para que utilice la configuración actual del plugin de deepspeed

clase accelerate.utils.DummyScheduler

< >

( 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

< >

( engine )

Parámetros

  • engine (deepspeed.runtime.engine.DeepSpeedEngine) — motor de deepspeed para envolver

Envoltorio interno para deepspeed.runtime.engine.DeepSpeedEngine. Se utiliza para seguir el bucle de entrenamiento convencional.

get_global_grad_norm

< >

( )

Obtenga la norma global del gradiente desde el motor de DeepSpeed.

DeepSpeedOptimizerWrapper

clase accelerate.utils.DeepSpeedOptimizerWrapper

< >

( optimizer )

Parámetros

  • optimizer (torch.optim.optimizer.Optimizer) — El optimizador que se va a envolver.

Envoltorio interno de un optimizador de deepspeed.

DeepSpeedSchedulerWrapper

clase accelerate.utils.DeepSpeedSchedulerWrapper

< >

( scheduleroptimizers )

Parámetros

  • scheduler (torch.optim.lr_scheduler.LambdaLR) — El programador que se va a envolver.
  • optimizers (uno o una lista de torch.optim.Optimizer) —

Envoltorio interno de un programador de deepspeed.

DummyOptim

clase accelerate.utils.DummyOptim

< >

( paramslr = 0.001weight_decay = 0**kwargs )

Parámetros

  • lr (float) — Tasa de aprendizaje.
  • params (iterable) — iterable de parámetros para optimizar o diccionarios que definen grupos de parámetros
  • weight_decay (float) — Decaimiento de peso.
  • **kwargs (argumentos de palabra clave adicionales, opcional) — Otros argumentos.

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.

DummyScheduler

Update on GitHub