Accelerate documentation

Gestionnaires de kwargs

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

Gestionnaires de kwargs

Les objets suivants peuvent être passés à l'Accelerator principal pour personnaliser la création de certains objets PyTorch liés à l'entraînement distribué ou à la précision mixte.

AutocastKwargs

classe accelerate.AutocastKwargs

< >

( enabled: bool = Truecache_enabled: bool | None = None )

Utilisez cet objet dans votre Accelerator pour personnaliser le comportement de torch.autocast. Veuillez consulter la documentation de ce context manager pour plus d’informations sur chaque argument.

Exemple :

from accelerate import Accelerator
from accelerate.utils import AutocastKwargs

kwargs = AutocastKwargs(cache_enabled=True)
accelerator = Accelerator(kwargs_handlers=[kwargs])

DistributedDataParallelKwargs

classe accelerate.DistributedDataParallelKwargs

< >

( dim: int = 0broadcast_buffers: bool = Truebucket_cap_mb: int = 25find_unused_parameters: bool = Falsecheck_reduction: bool = Falsegradient_as_bucket_view: bool = Falsestatic_graph: bool = Falsecomm_hook: DDPCommunicationHookType = <DDPCommunicationHookType.NO: 'no'>comm_wrapper: typing.Literal[<DDPCommunicationHookType.NO: 'no'>, <DDPCommunicationHookType.FP16: 'fp16'>, <DDPCommunicationHookType.BF16: 'bf16'>] = <DDPCommunicationHookType.NO: 'no'>comm_state_option: dict = <factory> )

Utilisez cet objet dans votre Accelerator pour personnaliser la manière dont votre modèle est encapsulé dans un torch.nn.parallel.DistributedDataParallel. Veuillez consulter la documentation de ce wrapper pour plus d’informations sur chaque argument.

Exemple :

from accelerate import Accelerator
from accelerate.utils import DistributedDataParallelKwargs

kwargs = DistributedDataParallelKwargs(find_unused_parameters=True)
accelerator = Accelerator(kwargs_handlers=[kwargs])

ProfileKwargs

classe accelerate.ProfileKwargs

< >

( activities: list[typing.Literal['cpu', 'xpu', 'mtia', 'cuda', 'hpu']] | None = Noneschedule_option: dict[str, int] | None = Noneon_trace_ready: typing.Callable | None = Nonerecord_shapes: bool = Falseprofile_memory: bool = Falsewith_stack: bool = Falsewith_flops: bool = Falsewith_modules: bool = Falseoutput_trace_dir: str | None = None )

Paramètres

  • activities (List[str], facultatif, par défaut None) — La liste des groupes d’activités à utiliser lors du profilage. Doit être l’un des éléments suivants : "cpu", "xpu", "mtia", “hpu” ou "cuda".
  • schedule_option (Dict[str, int], facultatif, par défaut None) — L’option de planification à utiliser pour le profilage. Les clés disponibles sont wait, warmup, active, repeat et skip_first. Le profilateur ignore les skip_first premières étapes, puis attend pendant wait étapes, puis effectue le réchauffement pendant les warmup étapes suivantes, puis enregistre activement pendant les active étapes suivantes et répète ensuite le cycle en commençant par wait étapes. Le nombre facultatif de cycles est spécifié avec le paramètre repeat ; une valeur nulle signifie que les cycles se poursuivent jusqu’à la fin du profilage.
  • on_trace_ready (Callable, facultatif, par défaut None) — Callable appelé à chaque étape lorsque le plan renvoie ProfilerAction.RECORD_AND_SAVE pendant le profilage.
  • record_shapes (bool, facultatif, par défaut False) — Enregistre les informations relatives aux formes des entrées des opérateurs.
  • profile_memory (bool, facultatif, par défaut False) — Suivre l'allocation/désallocation de la mémoire des tenseurs
  • with_stack (bool, facultatif, par défaut False) — Enregistre les informations d’origine (fichier et numéro de ligne) des opérations.
  • with_flops (bool, facultatif, par défaut False) — Utilise une formule pour estimer les FLOPS des opérateurs spécifiques
  • with_modules (bool, facultatif, par défaut False) — Enregistre la hiérarchie des modules (y compris les noms de fonctions) correspondant à la pile d’appels de l’op.
  • output_trace_dir (str, facultatif, par défaut None) — Exporte la trace collectée au format JSON Chrome. Chrome utilise la vue ‘chrome://tracing’ pour afficher le fichier json. La valeur par défaut est None, ce qui signifie que le profilage n’enregistre pas de fichiers json.

Utilisez cet objet dans votre Accelerator pour personnaliser l’initialisation du profiler. Veuillez consulter la documentation de ce context manager pour plus d’informations sur chaque argument.

Exemple :

from accelerate import Accelerator
from accelerate.utils import ProfileKwargs

kwargs = ProfileKwargs(activities=["cpu", "cuda"])
accelerator = Accelerator(kwargs_handlers=[kwargs])

build

< >

( ) → torch.profiler.profile

Retourne

torch.profiler.profile

L'objet profiler.

Construire un objet de profilage avec la configuration actuelle.

GradScalerKwargs

classe accelerate.GradScalerKwargs

< >

( init_scale: float = 65536.0growth_factor: float = 2.0backoff_factor: float = 0.5growth_interval: int = 2000enabled: bool = True )

Utilisez cet objet dans votre Accelerator pour personnaliser le comportement de la précision mixte, en particulier la manière dont le torch.amp.GradScaler ou le torch.cuda.amp.GradScaler utilisé est créé. Veuillez consulter la documentation de ce scaler pour plus d’informations sur chaque argument.

Exemple :

from accelerate import Accelerator
from accelerate.utils import GradScalerKwargs

kwargs = GradScalerKwargs(backoff_factor=0.25)
accelerator = Accelerator(kwargs_handlers=[kwargs])

InitProcessGroupKwargs

classe accelerate.InitProcessGroupKwargs

< >

( backend: str | None = 'nccl'init_method: str | None = Nonetimeout: datetime.timedelta | None = None )

Utilisez cet objet dans votre Accelerator pour personnaliser l’initialisation des processus distribués. Veuillez consulter la documentation de cette méthode pour plus d’informations sur chaque argument.

Note : Si timeout est défini sur None, la valeur par défaut sera basée sur la configuration de backend.

from datetime import timedelta
from accelerate import Accelerator
from accelerate.utils import InitProcessGroupKwargs

kwargs = InitProcessGroupKwargs(timeout=timedelta(seconds=800))
accelerator = Accelerator(kwargs_handlers=[kwargs])

KwargsHandler

classe accelerate.utils.KwargsHandler

< >

( )

Mixin interne qui implémente une méthode to_kwargs() pour un dataclass.

to_kwargs

< >

( )

Retourne un dictionnaire contenant les attributs dont les valeurs diffèrent des valeurs par défaut de cette classe.

Update on GitHub