Accelerate documentation
Utilitaires DeepSpeed
Utilitaires DeepSpeed
DeepSpeedPlugin
get_active_deepspeed_plugin
accelerate.utils.get_active_deepspeed_plugin
< source >( 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
< 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 )
Paramètres
- hf_ds_config (
Any, par défautNone) — Chemin vers le fichier de configuration DeepSpeed, dictionnaire ou objet de la classeaccelerate.utils.deepspeed.HfDeepSpeedConfig. - gradient_accumulation_steps (
int, par défautNone) — 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éfautNone) — Active la limitation des gradients avec la valeur indiquée. - zero_stage (
int, par défautNone) — 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éfautTrue) — Si les deux chargeurs de données d'entraînement et d'évaluation sont spécifiés, ce paramètre détermine latrain_batch_size. - offload_optimizer_device (
str, par défautNone) — Les options possibles sont none|cpu|nvme. Applicable uniquement avec les étapes ZeRO 2 et 3. - offload_param_device (
str, par défautNone) — Les options possibles sont none|cpu|nvme. Applicable uniquement avec ZeRO Stage 3. - offload_optimizer_nvme_path (
str, par défautNone) — Les options possibles sont /nvme|/local_nvme. Applicable uniquement avec ZeRO Stage 3. - offload_param_nvme_path (
str, par défautNone) — Les options possibles sont /nvme|/local_nvme. Applicable uniquement avec ZeRO Stage 3. - zero3_init_flag (
bool, par défautNone) — Indique s'il faut enregistrer le modèle en 16 bits. Applicable uniquement avec ZeRO Stage-3. - zero3_save_16bit_model (
bool, par défautNone) — Indique s'il faut enregistrer le modèle en 16 bits. Applicable uniquement avec ZeRO Stage-3. - transformer_moe_cls_names (
str, par défautNone) — 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
< source >( prefix = ''mismatches = Noneconfig = Nonemust_match = True**kwargs )
Traitez la configuration DeepSpeed avec les valeurs issues des kwargs.
Définit le HfDeepSpeedWeakref pour utiliser la configuration actuelle du plugin deepspeed
classe accelerate.utils.DummyScheduler
< source >( 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
< source >( engine )
Enveloppe interne pour deepspeed.runtime.engine.DeepSpeedEngine. Elle est utilisée pour suivre la boucle d'entraînement conventionnelle.
Obtenir la norme globale du gradient depuis le moteur DeepSpeed.
DeepSpeedOptimizerWrapper
classe accelerate.utils.DeepSpeedOptimizerWrapper
< source >( optimizer )
Enveloppe interne autour d'un optimiseur deepspeed.
DeepSpeedSchedulerWrapper
classe accelerate.utils.DeepSpeedSchedulerWrapper
< source >( scheduleroptimizers )
Enveloppe interne autour d'un planificateur deepspeed.
DummyOptim
classe accelerate.utils.DummyOptim
< source >( paramslr = 0.001weight_decay = 0**kwargs )
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.