Accelerate documentation
Manejadores de Kwargs
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
< source >( 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.
DistributedDataParallelKwargs
clase accelerate.DistributedDataParallelKwargs
< source >( 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.
ProfileKwargs
clase accelerate.ProfileKwargs
< source >( 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 predeterminadoNone) — 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 predeterminadoNone) — La opción de programación a utilizar para el perfilador. Las claves disponibles sonwait,warmup,active,repeatyskip_first. El perfilador omitirá los primerosskip_firstpasos, luego esperaráwaitpasos, luego realizará el calentamiento durante los siguienteswarmuppasos, luego realizará la grabación activa durante los siguientesactivepasos y luego repetirá el ciclo comenzando conwaitpasos. El número opcional de ciclos se especifica con el parámetrorepeat; un valor cero significa que los ciclos continuarán hasta que finalice el perfilado. - on_trace_ready (
Callable, opcional, valor predeterminadoNone) — Callable que se llama en cada paso cuando schedule devuelveProfilerAction.RECORD_AND_SAVEdurante el perfilado. - record_shapes (
bool, opcional, por defectoFalse) — Guarda información sobre las formas de entrada de los operadores. - profile_memory (
bool, opcional, valor predeterminadoFalse) — Rastrea la asignación y desasignación de memoria de tensores - with_stack (
bool, opcional, valor predeterminadoFalse) — Registra la información de origen (archivo y número de línea) de las operaciones. - with_flops (
bool, opcional, valor predeterminadoFalse) — Utiliza una fórmula para estimar los FLOPS de operadores específicos - with_modules (
bool, opcional, valor predeterminadoFalse) — 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 predeterminadoNone) — 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
< source >( ) → 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
< source >( 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.
InitProcessGroupKwargs
clase accelerate.InitProcessGroupKwargs
< source >( 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.
KwargsHandler
Mixin interno que implementa un método to_kwargs() para un dataclass.
Devuelve un diccionario que contiene los atributos con valores diferentes de los valores predeterminados de esta clase.