Accelerate documentation

La línea de comandos

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

La línea de comandos

A continuación se muestra una lista de todos los comandos disponibles de 🤗 Accelerate con sus parámetros

accelerate config

Comando:

accelerate config o accelerate-config

Inicia una serie de indicaciones para crear y guardar un archivo de configuración default_config.yml para tu sistema de entrenamiento. Debe ejecutarse siempre primero en tu máquina.

Uso:

accelerate config [arguments]

Argumentos opcionales:

  • --config_file CONFIG_FILE (str) — La ruta que se usará para almacenar el archivo de configuración. Por defecto, se usará un archivo llamado default_config.yaml en la ubicación de la caché, que es el contenido de la variable de entorno HF_HOME con el sufijo ‘accelerate’, o, si no tienes dicha variable de entorno, tu directorio de caché (~/.cache o el contenido de XDG_CACHE_HOME) con el sufijo huggingface.
  • -h, --help (bool) — Muestra un mensaje de ayuda y sale

accelerate config default

Comando:

accelerate config default o accelerate-config default

Cree un archivo de configuración predeterminado para Accelerate con solo algunas banderas establecidas.

Uso:

accelerate config default [arguments]

Argumentos opcionales:

  • --config_file CONFIG_FILE (str) — La ruta que se usará para almacenar el archivo de configuración. Por defecto, se usará un archivo llamado default_config.yaml en la ubicación de la caché, que es el contenido de la variable de entorno HF_HOME con el sufijo ‘accelerate’, o, si no tienes dicha variable de entorno, tu directorio de caché (~/.cache o el contenido de XDG_CACHE_HOME) con el sufijo huggingface.

  • -h, --help (bool) — Muestra un mensaje de ayuda y sale

  • --mixed_precision {no,fp16,bf16} (str) — Si se debe usar o no el entrenamiento con precisión mixta. Elija entre el entrenamiento con FP16 y BF16 (bfloat16). El entrenamiento con BF16 solo se admite en GPUs Nvidia Ampere y PyTorch 1.10 o posterior.

accelerate config update

Comando:

accelerate config update o accelerate-config update

Actualice un archivo de configuración existente con los valores predeterminados más recientes, manteniendo la configuración anterior.

Uso:

accelerate config update [arguments]

Argumentos opcionales:

  • --config_file CONFIG_FILE (str) — La ruta al archivo de configuración que se actualizará. Por defecto, se usará un archivo llamado default_config.yaml en la ubicación de la caché, que es el contenido de la variable de entorno HF_HOME con el sufijo ‘accelerate’, o, si no tienes dicha variable de entorno, tu directorio de caché (~/.cache o el contenido de XDG_CACHE_HOME) con el sufijo huggingface.

  • -h, --help (bool) — Muestra un mensaje de ayuda y sale

accelerate env

Comando:

accelerate env o accelerate-env o python -m accelerate.commands.env

Muestra el contenido del archivo de configuración de 🤗 Accelerate pasado como argumento. Debe usarse siempre al abrir un problema en el repositorio de GitHub.

Uso:

accelerate env [arguments]

Argumentos opcionales:

  • --config_file CONFIG_FILE (str) — La ruta que se usará para almacenar el archivo de configuración. Por defecto, se usará un archivo llamado default_config.yaml en la ubicación de la caché, que es el contenido de la variable de entorno HF_HOME con el sufijo ‘accelerate’, o, si no tienes dicha variable de entorno, tu directorio de caché (~/.cache o el contenido de XDG_CACHE_HOME) con el sufijo huggingface.
  • -h, --help (bool) — Muestra un mensaje de ayuda y sale

accelerate launch

Comando:

accelerate launch o accelerate-launch o python -m accelerate.commands.launch

Inicia un script especificado en un sistema distribuido con los parámetros adecuados.

Uso:

accelerate launch [arguments] {training_script} --{training_script-argument-1} --{training_script-argument-2} ...

Argumentos posicionales:

  • {training_script} — La ruta completa del script que se lanzará en paralelo
  • --{training_script-argument-1} — Argumentos del script de entrenamiento

Argumentos opcionales:

  • -h, --help (bool) — Muestra un mensaje de ayuda y sale
  • --config_file CONFIG_FILE (str)— El archivo de configuración que se usará para los valores predeterminados en el script de lanzamiento.
  • -m, --module (bool) — Cambia cada proceso para que interprete el script de lanzamiento como un módulo de Python, ejecutándolo con el mismo comportamiento que ‘python -m’.
  • --no_python (bool) — Omite añadir ‘python’ al inicio del script de entrenamiento y lo ejecuta directamente. Útil cuando el script no es un script de Python.
  • --debug (bool) — Si se debe imprimir la traza de la pila de torch.distributed cuando algo falla.
  • -q, --quiet (bool) — Silencia los errores del subproceso de la pila de inicio para mostrar solo los trazados de errores relevantes. (Solo aplicable a configuraciones de DeepSpeed y de un solo proceso).

El resto de estos argumentos se configura a través de accelerate config y se leen desde el --config_file especificado (o la configuración predeterminada) para obtener sus valores. También se pueden pasar manualmente.

Argumentos de selección de hardware:

  • --cpu (bool) — Si se debe forzar el entrenamiento en la CPU.
  • --multi_gpu (bool) — Si se debe iniciar un entrenamiento distribuido en GPU.
  • --tpu (bool) — Indica si se debe iniciar un entrenamiento en TPU.

Argumentos de selección de recursos:

Los siguientes argumentos son útiles para ajustar cómo debe usarse el hardware disponible

  • --mixed_precision {no,fp16,bf16,fp8} (str) — Si se debe usar o no el entrenamiento con precisión mixta. Elija entre el entrenamiento con FP16 y BF16 (bfloat16). El entrenamiento con BF16 solo se admite en GPUs Nvidia Ampere y PyTorch 1.10 o posterior.
  • --num_processes NUM_PROCESSES (int) — El número total de procesos que se lanzarán en paralelo.
  • --num_machines NUM_MACHINES (int) — El número total de máquinas utilizadas en este entrenamiento.
  • --num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS (int) — El número de hilos de CPU por proceso. Se puede ajustar para un rendimiento óptimo.
  • --enable_cpu_affinity (bool) — Si se debe habilitar la afinidad y el equilibrio de CPU. Actualmente solo se admite en hardware de NVIDIA.

Argumentos del paradigma de entrenamiento:

Los siguientes argumentos son útiles para seleccionar qué paradigma de entrenamiento utilizar.

  • --use_deepspeed (bool) — Si se usa DeepSpeed para el entrenamiento.
  • --use_fsdp (bool) — Si se usa FullyShardedDataParallel para el entrenamiento.
  • --use_megatron_lm (bool) — Si se usa Megatron-LM para el entrenamiento.

Argumentos de GPU distribuida:

Los siguientes argumentos solo son útiles cuando se pasa multi_gpu o cuando el entrenamiento multi-GPU se configura a través de accelerate config:

  • --gpu_ids (str) — Qué GPUs (por id) deben usarse para el entrenamiento en esta máquina, como una lista separada por comas
  • --same_network (bool) — Indica si todas las máquinas utilizadas para el entrenamiento multinodo se encuentran en la misma red local.
  • --machine_rank (int) — El rango de la máquina en la que se lanza este script.
  • --main_process_ip (str) — La dirección IP de la máquina de rank 0.
  • --main_process_port (int) — El puerto que se usará para comunicarse con la máquina de rango 0.
  • -t, --tee (str) — Redirige los flujos estándar a un archivo de registro y también a la consola.
  • --log_dir (str) — Directorio base para usar en los archivos de registro al emplear torchrun/torch.distributed.run como lanzador. Úsese con —tee para redirigir la información de los flujos estándar a los archivos de registro.
  • --role (str) — Rol definido por el usuario para los workers.
  • --rdzv_backend (str) — El método de reunión a utilizar, como ‘static’ (el predeterminado) o ‘c10d’
  • --rdzv_conf (str) — Configuración adicional de reunión (<key1>=<value1>,<key2>=<value2>,…).
  • --max_restarts (int) — Número máximo de reinicios del grupo de workers antes de fallar.
  • --monitor_interval (int) — Intervalo, en segundos, para monitorizar el estado de los workers.

Argumentos de TPU:

Los siguientes argumentos solo son útiles cuando se pasa tpu o cuando el entrenamiento en TPU se configura a través de accelerate config:

  • --tpu_cluster (bool) — Si se debe usar un pod de TPU de GCP para el entrenamiento.
  • --tpu_use_sudo (bool) — Si se debe usar sudo al ejecutar el script de entrenamiento de TPU en cada pod.
  • --vm (str) — Lista de nombres de instancias individuales de Compute VM. Si no se proporciona, se asume el uso de grupos de instancias. Para pods de TPU.
  • --env (str) — Lista de variables de entorno para configurar en las instancias de Compute VM. Para pods de TPU.
  • --main_training_function (str) — El nombre de la función principal que se ejecutará en su script (solo para entrenamiento en TPU).
  • --downcast_bf16 (bool) — Si se usa precisión bf16 en TPU, si tanto los tensores float como double se convierten a bfloat16 o si los tensores double se mantienen como float32.

Argumentos de DeepSpeed:

Los siguientes argumentos solo son útiles cuando se pasa use_deepspeed o deepspeed está configurado a través de accelerate config:

  • --deepspeed_config_file (str) — Archivo de configuración de DeepSpeed.
  • --zero_stage (int) — Etapa de optimización ZeRO de DeepSpeed.
  • --offload_optimizer_device (str) — Decide dónde (none|cpu|nvme) descargar los estados del optimizador.
  • --offload_param_device (str) — Decide dónde (none|cpu|nvme) descargar los parámetros.
  • --offload_optimizer_nvme_path (str) — Determina la ruta Nvme para descargar los estados del optimizador.
  • --gradient_accumulation_steps (int) — Número de gradient_accumulation_steps utilizado en su script de entrenamiento.
  • --gradient_clipping (float) — Valor de recorte de gradientes utilizado en su script de entrenamiento.
  • --zero3_init_flag (str) — Decide si (true|false) se habilita deepspeed.zero.Init para construir modelos masivos. Solo aplicable con DeepSpeed ZeRO Stage-3.
  • --zero3_save_16bit_model (str) — Decide si (true|false) se deben guardar los pesos del modelo de 16 bits al usar ZeRO Stage-3. Solo aplicable con DeepSpeed ZeRO Stage-3.
  • --deepspeed_hostfile (str) — Hostfile de DeepSpeed para configurar recursos de cómputo multinodo.
  • --deepspeed_exclusion_filter (str) — Cadena del filtro de exclusión de DeepSpeed al usar una configuración multinodo.
  • --deepspeed_inclusion_filter (str) — Cadena de filtro de inclusión de DeepSpeed al usar una configuración multinodo.
  • --deepspeed_multinode_launcher (str) — Lanzador multinodo de DeepSpeed a utilizar.
  • --deepspeed_moe_layer_cls_names (str) — lista separada por comas de nombres de clases de capas MoE de transformer (distingue entre mayúsculas y minúsculas) para envolver, por ejemplo, MixtralSparseMoeBlock Qwen2MoeSparseMoeBlock, JetMoEAttention,JetMoEBlock

Argumentos de Fully Sharded Data Parallelism:

Los siguientes argumentos solo son útiles cuando se pasa use_fsdp o cuando se configura Fully Sharded Data Parallelism a través de accelerate config:

  • --fsdp_offload_params (str) — Decide si (true|false) se descargan los parámetros y los gradientes a la CPU.
  • --fsdp_min_num_params (int) — Número mínimo de parámetros de FSDP para el Auto Wrapping predeterminado.
  • --fsdp_sharding_strategy (int) — Estrategia de particionamiento de FSDP.
  • --fsdp_auto_wrap_policy (str) — Política de auto wrap de FSDP.
  • --fsdp_transformer_layer_cls_to_wrap (str) — Nombre de la clase de capa de Transformer (distingue entre mayúsculas y minúsculas) que se debe envolver, por ejemplo, BertLayer, GPTJBlock, T5Block …
  • --fsdp_backward_prefetch_policy (str) — Política de prefetch en la retropropagación de FSDP.
  • --fsdp_state_dict_type (str) — Tipo de state dict de FSDP.
  • --fsdp_forward_prefetch (str) — Prefetch de FSDP en la fase de forward.
  • --fsdp_use_orig_params (str) — Si es True, permite requires_grad no uniformes mezclados en una unidad de FSDP.
  • --fsdp_cpu_ram_efficient_loading (str) — Si es true, solo el primer proceso carga el checkpoint del modelo preentrenado, mientras que todos los demás procesos tienen pesos vacíos. Al usar esto, --fsdp_sync_module_states debe ser True.
  • --fsdp_sync_module_states (str) — Si es true, cada unidad FSDP envuelta individualmente difundirá los parámetros del módulo desde el rank 0.
  • --fsdp_activation_checkpointing (bool) — Decide si las activaciones intermedias se liberan durante la pasada hacia adelante y se deja un punto de control como marcador de posición

Argumentos de Megatron-LM:

Los siguientes argumentos solo son útiles cuando se pasa use_megatron_lm o cuando Megatron-LM se configura a través de accelerate config:

  • --megatron_lm_tp_degree (“) — Grado de paralelismo de tensores (TP) de Megatron-LM.
  • --megatron_lm_pp_degree (“) — Grado de paralelismo de pipeline (PP) de Megatron-LM.
  • --megatron_lm_num_micro_batches (“) — Número de micro lotes de Megatron-LM cuando el grado de PP > 1.
  • --megatron_lm_sequence_parallelism (“) — Decide si (true|false) se habilita Sequence Parallelism cuando el grado de TP > 1.
  • --megatron_lm_recompute_activations (“) — Decide si (true|false) se habilita la recomputación selectiva de activaciones.
  • --megatron_lm_use_distributed_optimizer (“) — Decide si (true|false) se debe usar un optimizador distribuido que fragmenta el estado del optimizador y los gradientes entre los rangos de paralelismo de datos (DP).
  • --megatron_lm_gradient_clipping (“) — Valor de recorte de gradientes de Megatron-LM basado en la norma L2 global (0 para desactivar).

Argumentos de FP8:

  • --fp8_backend (str) — Elija un backend para entrenar con FP8 (ao o te)
  • --fp8_use_autocast_during_eval (bool) — Si se debe usar FP8 autocast durante el modo de evaluación (útil solo cuando se pasa --fp8_backend=te). Generalmente se obtienen mejores métricas cuando no se pasa este argumento.
  • --fp8_margin (int) — El margen a utilizar para la escalado de gradientes (útil solo cuando se pasa --fp8_backend=te).
  • --fp8_interval (int) — El intervalo a utilizar para la frecuencia con la que se recalcula el factor de escala (útil solo cuando se pasa --fp8_backend=te).
  • --fp8_format (str) — El formato a usar para la receta FP8 (útil solo cuando se pasa --fp8_backend=te).
  • --fp8_amax_history_len (int) — La longitud del historial que se utilizará para el cálculo del factor de escalado (útil solo cuando se pasa --fp8_backend=te).
  • --fp8_amax_compute_algo (str) — El algoritmo a utilizar para el cálculo del factor de escalado. (útil solo cuando se pasa --fp8_backend=te).
  • --fp8_override_linear_precision (Tuple[bool, bool, bool]) — Si se deben ejecutar o no los GEMM de fprop, dgrad y wgrad en mayor precisión.

Argumentos de AWS SageMaker:

Los siguientes argumentos solo son útiles al entrenar en SageMaker

  • --aws_access_key_id AWS_ACCESS_KEY_ID (str) — El AWS_ACCESS_KEY_ID utilizado para iniciar el trabajo de entrenamiento de Amazon SageMaker
  • --aws_secret_access_key AWS_SECRET_ACCESS_KEY (str) — La AWS_SECRET_ACCESS_KEY utilizada para iniciar el trabajo de entrenamiento de Amazon SageMaker

accelerate estimate-memory

Comando:

accelerate estimate-memory o accelerate-estimate-memory o python -m accelerate.commands.estimate

Estima la vRAM total que necesita un modelo específico alojado en el Hub para ser cargado, con una estimación para el entrenamiento. Requiere que huggingface_hub esté instalado.

Al realizar la inferencia, normalmente se debe añadir ≤20% al resultado como asignación total según se referencia aquí. En el futuro contaremos con estimaciones más extensas que se incluirán automáticamente en el cálculo.

Uso:

accelerate estimate-memory {MODEL_NAME} --library_name {LIBRARY_NAME} --dtypes {dtype_1} {dtype_2} ...

Argumentos obligatorios:

  • MODEL_NAME (str)— El nombre del modelo en el Hugging Face Hub

Argumentos opcionales:

  • --library_name {timm,transformers} (str) — La biblioteca con la que el modelo tiene una integración, como transformers, necesaria solo si esta información no está almacenada en el Hub
  • --dtypes {float32,float16,int8,int4} ([{float32,float16,int8,int4} ...]) — Los dtypes a utilizar para el modelo, deben ser uno (o varios) de float32, float16, int8 y int4
  • --trust_remote_code (bool) — Si se permiten o no modelos personalizados definidos en el Hub en sus propios archivos de modelado. Esta opción solo debe pasarse para repositorios de confianza y en los que se haya leído el código, ya que ejecutará el código presente en el Hub en su máquina local.

accelerate tpu-config

accelerate tpu-config

Uso:

accelerate tpu-config [arguments]

Argumentos opcionales:

  • -h, --help (bool) — Muestra un mensaje de ayuda y sale

Argumentos de configuración:

Argumentos que se pueden configurar a través de accelerate config.

  • --config_file (str) — Ruta al archivo de configuración que se usará para accelerate.
  • --tpu_name (str) — El nombre del TPU que se va a usar. Si no se especifica, se usará el TPU indicado en el archivo de configuración.
  • --tpu_zone (str) — La zona del TPU a utilizar. Si no se especifica, se usará la zona indicada en el archivo de configuración.

Argumentos de TPU:

Los argumentos para las opciones se ejecutaron dentro de la TPU.

  • --command_file (str) — La ruta al archivo que contiene los comandos para ejecutar en el pod al iniciar.
  • --command (str) — Un comando para ejecutar en el pod. Se puede pasar varias veces.
  • --install_accelerate (bool) — Si se instala accelerate en el pod. El valor predeterminado es False.
  • --accelerate_version (str) — La versión de accelerate que se instalará en el pod. Si no se especifica, se utilizará la última versión de pypi. Especifique ‘dev’ para instalar desde GitHub.
  • --debug (bool) — Si se establece, se imprimirá el comando que se ejecutaría en lugar de ejecutarlo.

accelerate test

accelerate test o accelerate-test

Ejecuta accelerate/test_utils/test_script.py para verificar que 🤗 Accelerate se ha configurado correctamente en tu sistema y que se ejecuta.

Uso:

accelerate test [arguments]

Argumentos opcionales:

  • --config_file CONFIG_FILE (str) — La ruta que se usará para almacenar el archivo de configuración. Por defecto, se usará un archivo llamado default_config.yaml en la ubicación de la caché, que es el contenido de la variable de entorno HF_HOME con el sufijo ‘accelerate’, o, si no tienes dicha variable de entorno, tu directorio de caché (~/.cache o el contenido de XDG_CACHE_HOME) con el sufijo huggingface.
  • -h, --help (bool) — Muestra un mensaje de ayuda y sale
Update on GitHub