Accelerate documentation

Manejadores 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

Manejadores de Kwargs

Los siguientes objetos se pueden pasar al Accelerator principal para personalizar cómo se crean algunos objetos de PyTorch relacionados con el entrenamiento distribuido o la precisión mixta.

AutocastKwargs

clase accelerate.AutocastKwargs

< >

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

Use este objeto en su Accelerator para personalizar el comportamiento de torch.autocast. Consulte la documentación de este context manager para obtener más información sobre cada argumento.

Ejemplo:

from accelerate import Accelerator
from accelerate.utils import AutocastKwargs

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

DistributedDataParallelKwargs

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

Use este objeto en su Accelerator para personalizar cómo se envuelve su modelo en un torch.nn.parallel.DistributedDataParallel. Consulte la documentación de este wrapper para obtener más información sobre cada argumento.

Ejemplo:

from accelerate import Accelerator
from accelerate.utils import DistributedDataParallelKwargs

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

ProfileKwargs

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

Parámetros

  • activities (List[str], opcional, valor predeterminado None) — La lista de grupos de actividades a utilizar en el perfilado. Debe ser uno de "cpu", "xpu", "mtia", “hpu” o "cuda".
  • schedule_option (Dict[str, int], opcional, valor predeterminado None) — La opción de programación a utilizar para el perfilador. Las claves disponibles son wait, warmup, active, repeat y skip_first. El perfilador omitirá los primeros skip_first pasos, luego esperará wait pasos, luego realizará el calentamiento durante los siguientes warmup pasos, luego realizará la grabación activa durante los siguientes active pasos y luego repetirá el ciclo comenzando con wait pasos. El número opcional de ciclos se especifica con el parámetro repeat; un valor cero significa que los ciclos continuarán hasta que finalice el perfilado.
  • on_trace_ready (Callable, opcional, valor predeterminado None) — Callable que se llama en cada paso cuando schedule devuelve ProfilerAction.RECORD_AND_SAVE durante el perfilado.
  • record_shapes (bool, opcional, por defecto False) — Guarda información sobre las formas de entrada de los operadores.
  • profile_memory (bool, opcional, valor predeterminado False) — Rastrea la asignación y desasignación de memoria de tensores
  • with_stack (bool, opcional, valor predeterminado False) — Registra la información de origen (archivo y número de línea) de las operaciones.
  • with_flops (bool, opcional, valor predeterminado False) — Utiliza una fórmula para estimar los FLOPS de operadores específicos
  • with_modules (bool, opcional, valor predeterminado False) — Registra la jerarquía de módulos (incluidos los nombres de funciones) correspondiente a la pila de llamadas del op.
  • output_trace_dir (str, opcional, valor predeterminado None) — Exporta la traza recopilada en formato JSON de Chrome. Chrome utiliza la vista ‘chrome://tracing’ para ver archivos json. El valor predeterminado es None, lo que significa que el perfilado no almacena archivos json.

Use este objeto en su Accelerator para personalizar la inicialización del perfilador. Consulte la documentación de este context manager para obtener más información sobre cada argumento.

Ejemplo:

from accelerate import Accelerator
from accelerate.utils import ProfileKwargs

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

build

< >

( ) → torch.profiler.profile

Devuelve

torch.profiler.profile

El objeto del perfilador.

Cree un objeto de perfilador con la configuración actual.

GradScalerKwargs

clase accelerate.GradScalerKwargs

< >

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

Use este objeto en su Accelerator para personalizar el comportamiento de la precisión mixta, específicamente cómo se crea el torch.amp.GradScaler o torch.cuda.amp.GradScaler que se utiliza. Consulte la documentación de este scaler para obtener más información sobre cada argumento.

Ejemplo:

from accelerate import Accelerator
from accelerate.utils import GradScalerKwargs

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

InitProcessGroupKwargs

clase accelerate.InitProcessGroupKwargs

< >

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

Use este objeto en su Accelerator para personalizar la inicialización de los procesos distribuidos. Consulte la documentación de este método para obtener más información sobre cada argumento.

Nota: Si timeout se establece en None, el valor predeterminado se basará en cómo se configure 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

clase accelerate.utils.KwargsHandler

< >

( )

Mixin interno que implementa un método to_kwargs() para un dataclass.

to_kwargs

< >

( )

Devuelve un diccionario que contiene los atributos con valores diferentes de los valores predeterminados de esta clase.

Update on GitHub