Accelerate documentation

Utilitaires 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

Utilitaires DeepSpeed

DeepSpeedPlugin

get_active_deepspeed_plugin

accelerate.utils.get_active_deepspeed_plugin

< >

( state )

Lève

ValueError

  • ValueError — Si DeepSpeed n'a pas été activé et que cette fonction est appelée.

Retourne le DeepSpeedPlugin actuellement actif.

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

Paramètres

  • hf_ds_config (Any, par défaut None) — Chemin vers le fichier de configuration DeepSpeed, dictionnaire ou objet de la classe accelerate.utils.deepspeed.HfDeepSpeedConfig.
  • gradient_accumulation_steps (int, par défaut None) — Nombre d'étapes pour accumuler les gradients avant de mettre à jour les états de l'optimiseur. Si non défini, utilise directement la valeur de l'Accelerator.
  • gradient_clipping (float, par défaut None) — Active la limitation des gradients avec la valeur indiquée.
  • zero_stage (int, par défaut None) — Les options possibles sont 0, 1, 2, 3. La valeur par défaut est prise de la variable d’environnement.
  • is_train_batch_min (bool, par défaut True) — Si les deux chargeurs de données d'entraînement et d'évaluation sont spécifiés, ce paramètre détermine la train_batch_size.
  • offload_optimizer_device (str, par défaut None) — Les options possibles sont none|cpu|nvme. Applicable uniquement avec les étapes ZeRO 2 et 3.
  • offload_param_device (str, par défaut None) — Les options possibles sont none|cpu|nvme. Applicable uniquement avec ZeRO Stage 3.
  • offload_optimizer_nvme_path (str, par défaut None) — Les options possibles sont /nvme|/local_nvme. Applicable uniquement avec ZeRO Stage 3.
  • offload_param_nvme_path (str, par défaut None) — Les options possibles sont /nvme|/local_nvme. Applicable uniquement avec ZeRO Stage 3.
  • zero3_init_flag (bool, par défaut None) — Indique s'il faut enregistrer le modèle en 16 bits. Applicable uniquement avec ZeRO Stage-3.
  • zero3_save_16bit_model (bool, par défaut None) — Indique s'il faut enregistrer le modèle en 16 bits. Applicable uniquement avec ZeRO Stage-3.
  • transformer_moe_cls_names (str, par défaut None) — Liste de noms de classes de couches MoE de Transformers, séparés par des virgules (sensible à la casse). Par exemple, MixtralSparseMoeBlock, Qwen2MoeSparseMoeBlock, JetMoEAttention, JetMoEBlock, etc.

Ce plugin est utilisé pour intégrer DeepSpeed.

deepspeed_config_process

< >

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

Traitez la configuration DeepSpeed avec les valeurs issues des kwargs.

sélectionner

< >

( _from_accelerator_state: bool = False )

Définit le HfDeepSpeedWeakref pour utiliser la configuration actuelle du plugin deepspeed

classe accelerate.utils.DummyScheduler

< >

( optimizertotal_num_steps = Nonewarmup_num_steps = 0lr_scheduler_callable = None**kwargs )

Paramètres

  • optimizer (torch.optim.optimizer.Optimizer) — L’optimiseur à encapsuler.
  • total_num_steps (int, facultatif) — Nombre total d'étapes.
  • warmup_num_steps (int, facultatif) — Nombre d'étapes pour le warmup.
  • lr_scheduler_callable (callable, facultatif) — Une fonction callable qui crée un LR Scheduler. Elle n'accepte qu'un seul argument, optimizer.
  • **kwargs (arguments de mots-clés supplémentaires, facultatif) — Autres arguments.

Le planificateur factice présente les paramètres du modèle ou les groupes de paramètres. Il est principalement utilisé pour suivre la boucle d'entraînement conventionnelle lorsqu'une configuration de planificateur est spécifiée dans le fichier de configuration DeepSpeed.

DeepSpeedEnginerWrapper

classe accelerate.utils.DeepSpeedEngineWrapper

< >

( engine )

Paramètres

  • engine (deepspeed.runtime.engine.DeepSpeedEngine) — moteur deepspeed à encapsuler

Enveloppe interne pour deepspeed.runtime.engine.DeepSpeedEngine. Elle est utilisée pour suivre la boucle d'entraînement conventionnelle.

get_global_grad_norm

< >

( )

Obtenir la norme globale du gradient depuis le moteur DeepSpeed.

DeepSpeedOptimizerWrapper

classe accelerate.utils.DeepSpeedOptimizerWrapper

< >

( optimizer )

Paramètres

  • optimizer (torch.optim.optimizer.Optimizer) — L’optimiseur à encapsuler.

Enveloppe interne autour d'un optimiseur deepspeed.

DeepSpeedSchedulerWrapper

classe accelerate.utils.DeepSpeedSchedulerWrapper

< >

( scheduleroptimizers )

Paramètres

  • scheduler (torch.optim.lr_scheduler.LambdaLR) — Le planificateur à encapsuler.
  • optimizers (un ou une liste de torch.optim.Optimizer) —

Enveloppe interne autour d'un planificateur deepspeed.

DummyOptim

classe accelerate.utils.DummyOptim

< >

( paramslr = 0.001weight_decay = 0**kwargs )

Paramètres

  • lr (float) — Taux d'apprentissage.
  • params (iterable) — itérable de paramètres à optimiser ou dictionnaires définissant des groupes de paramètres
  • weight_decay (float) — Décroissance du poids.
  • **kwargs (arguments de mots-clés supplémentaires, facultatif) — Autres arguments.

L'optimiseur factice présente les paramètres du modèle ou les groupes de paramètres. Il est principalement utilisé pour suivre la boucle d'entraînement conventionnelle lorsque la configuration de l'optimiseur est spécifiée dans le fichier de configuration DeepSpeed.

DummyScheduler

Update on GitHub