Accelerate documentation

Lanzadores

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

Lanzadores

Funciones para iniciar el entrenamiento en procesos distribuidos.

notebook_launcher

accelerate.notebook_launcher

< >

( functionargs = ()num_processes = Nonemixed_precision = 'no'use_port = '29500'master_addr = '127.0.0.1'node_rank = 0num_nodes = 1rdzv_backend = 'static'rdzv_endpoint = ''rdzv_conf = Nonerdzv_id = 'none'max_restarts = 0monitor_interval = 0.1log_line_prefix_template = None )

Parámetros

  • function (Callable) — La función de entrenamiento que se debe ejecutar. Si acepta argumentos, el primer argumento debe ser el índice del proceso en ejecución.
  • args (Tuple) — Tupla de argumentos para pasar a la función (recibirá *args).
  • num_processes (int, opcional) — El número de procesos a utilizar para el entrenamiento. En Colab/Kaggle, el valor predeterminado será 8 si hay un TPU disponible, o el número de dispositivos disponibles en caso contrario.
  • mixed_precision (str, opcional, valor predeterminado "no") — Si es fp16 o bf16, se usará entrenamiento con precisión mixta en varios dispositivos.
  • use_port (str, opcional, valor predeterminado "29500") — El puerto que se utilizará para comunicarse entre procesos al iniciar un entrenamiento multi-dispositivo.
  • master_addr (str, opcional, valor predeterminado "127.0.0.1") — La dirección que se utilizará para la comunicación entre procesos.
  • node_rank (int, opcional, valor predeterminado 0) — El rango del nodo actual.
  • num_nodes (int, opcional, valor predeterminado 1) — El número de nodos que se usarán para el entrenamiento.
  • rdzv_backend (str, opcional, valor predeterminado "static") — El método de reunión (rendezvous) a utilizar, como ‘static’ (el predeterminado) o ‘c10d’
  • rdzv_endpoint (str, opcional, valor predeterminado "") — El punto de acceso del almacenamiento de sincronización de rdzv.
  • rdzv_conf (Dict, opcional, valor predeterminado None) — Configuración adicional de reunión.
  • rdzv_id (str, opcional, valor predeterminado "none") — El identificador de ejecución único del trabajo.
  • max_restarts (int, opcional, valor predeterminado 0) — La cantidad máxima de reinicios que el agente elástico realizará en los workers antes de un fallo.
  • monitor_interval (float, opcional, valor predeterminado 0.1) — El intervalo en segundos que utiliza elastic_agent como período de monitoreo de los workers.
  • log_line_prefix_template (str, opcional, valor predeterminado None) — La plantilla de prefijo para el registro de elastic launch. Disponible a partir de PyTorch 2.2.0.

Inicia una función de entrenamiento, utilizando varios procesos o múltiples nodos si es posible en el entorno actual (por ejemplo, un TPU con múltiples núcleos).

Para usar esta función, no se deben realizar absolutamente ninguna llamada a un dispositivo en la sesión del cuaderno antes de llamarla. Si se han realizado, deberá reiniciar el cuaderno y asegurarse de que ninguna celda utilice ninguna capacidad de dispositivo.

Establecer ACCELERATE_DEBUG_MODE="1" en su entorno ejecutará una prueba antes de iniciar realmente para asegurarse de que no se hayan realizado ninguna de esas llamadas.

Ejemplo:

# Assume this is defined in a Jupyter Notebook on an instance with two devices
from accelerate import notebook_launcher


def train(*args):
    # Your training function here
    ...


notebook_launcher(train, args=(arg1, arg2), num_processes=2, mixed_precision="fp16")

debug_launcher

accelerate.debug_launcher

< >

( functionargs = ()num_processes = 2 )

Parámetros

  • function (Callable) — La función de entrenamiento que se debe ejecutar.
  • args (Tuple) — Tupla de argumentos para pasar a la función (recibirá *args).
  • num_processes (int, opcional, valor predeterminado 2) — El número de procesos a utilizar para el entrenamiento.

Inicia una función de entrenamiento usando varios procesos en CPU con fines de depuración.

Esta función se proporciona para pruebas y depuración internas, pero no está destinada a entrenamientos reales. Solo utilizará la CPU.

Update on GitHub