Accelerate documentation

Lanceurs

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

Lanceurs

Fonctions pour lancer l'entraînement sur des processus distribués.

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 )

Paramètres

  • function (Callable) — La fonction d’entraînement à exécuter. Si elle accepte des arguments, le premier argument doit être l’indice du processus exécuté.
  • args (Tuple) — Tuple d'arguments à passer à la fonction (elle recevra *args).
  • num_processes (int, facultatif) — Le nombre de processus à utiliser pour l’entraînement. Par défaut, il est fixé à 8 dans Colab/Kaggle si un TPU est disponible, sinon au nombre de dispositifs disponibles.
  • mixed_precision (str, facultatif, par défaut "no") — Si fp16 ou bf16, utilise l’entraînement en précision mixte sur plusieurs appareils.
  • use_port (str, facultatif, par défaut "29500") — Le port à utiliser pour communiquer entre les processus lors du lancement d'une formation multi-appareils.
  • master_addr (str, facultatif, par défaut "127.0.0.1") — L'adresse à utiliser pour la communication entre les processus.
  • node_rank (int, facultatif, valeur par défaut 0) — Le rang du nœud actuel.
  • num_nodes (int, facultatif, valeur par défaut 1) — Le nombre de nœuds à utiliser pour l’entraînement.
  • rdzv_backend (str, facultatif, par défaut "static") — Méthode de rendez-vous à utiliser, telle que ‘static’ (par défaut) ou ‘c10d’
  • rdzv_endpoint (str, facultatif, par défaut "") — Le point de terminaison du stockage de synchronisation rdzv.
  • rdzv_conf (Dict, facultatif, par défaut None) — Configuration supplémentaire du rendez-vous.
  • rdzv_id (str, facultatif, par défaut "none") — L'identifiant d'exécution unique du travail.
  • max_restarts (int, facultatif, valeur par défaut 0) — Le nombre maximal de redémarrages que l’agent élastique effectuera sur les workers avant d’échouer.
  • monitor_interval (float, facultatif, valeur par défaut 0.1) — L'intervalle en secondes utilisé par l'elastic_agent comme période de surveillance des workers.
  • log_line_prefix_template (str, facultatif, par défaut None) — Le modèle de préfixe pour les journaux de lancement élastique. Disponible à partir de PyTorch 2.2.0.

Lance une fonction d’entraînement, en utilisant plusieurs processus ou plusieurs nœuds si c’est possible dans l’environnement actuel (par exemple un TPU avec plusieurs cœurs).

Pour utiliser cette fonction, aucun appel à un périphérique ne doit avoir été effectué dans la session du notebook avant l'appel. Si des appels ont déjà été effectués, vous devrez redémarrer le notebook et vous assurer qu'aucune cellule n'utilise de capacité de périphérique.

Définir ACCELERATE_DEBUG_MODE="1" dans votre environnement exécutera un test avant le véritable lancement afin de s’assurer qu’aucun de ces appels n’a été effectué.

Exemple :

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

Paramètres

  • function (Callable) — Fonction d'entraînement à exécuter.
  • args (Tuple) — Tuple d'arguments à passer à la fonction (elle recevra *args).
  • num_processes (int, facultatif, valeur par défaut 2) — Le nombre de processus à utiliser pour l’entraînement.

Lance une fonction d'entraînement utilisant plusieurs processus sur CPU à des fins de débogage.

Cette fonction est fournie pour les tests et le débogage internes, mais elle n’est pas destinée aux entraînements réels. Elle n’utilisera que le CPU.

Update on GitHub