Accelerate documentation

A Linha de Comando

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

A Linha de Comando

Abaixo está a lista de todos os comandos disponíveis do 🤗 Accelerate com seus parâmetros

accelerate config

Comando:

accelerate config ou accelerate-config

Inicia uma série de prompts para criar e salvar um arquivo de configuração default_config.yml para o seu sistema de treinamento. Deve sempre ser executado primeiro na sua máquina.

Uso:

accelerate config [arguments]

Argumentos Opcionais:

  • --config_file CONFIG_FILE (str) — O caminho a ser usado para armazenar o arquivo de configuração. O padrão será um arquivo chamado default_config.yaml no local do cache, que é o conteúdo da variável de ambiente HF_HOME com o sufixo ‘accelerate’, ou, se você não tiver essa variável de ambiente, seu diretório de cache (~/.cache ou o conteúdo de XDG_CACHE_HOME) com o sufixo huggingface.
  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai

accelerate config default

Comando:

accelerate config default ou accelerate-config default

Crie um arquivo de configuração padrão para o Accelerate com apenas algumas flags definidas.

Uso:

accelerate config default [arguments]

Argumentos Opcionais:

  • --config_file CONFIG_FILE (str) — O caminho a ser usado para armazenar o arquivo de configuração. O padrão será um arquivo chamado default_config.yaml no local do cache, que é o conteúdo da variável de ambiente HF_HOME com o sufixo ‘accelerate’, ou, se você não tiver essa variável de ambiente, seu diretório de cache (~/.cache ou o conteúdo de XDG_CACHE_HOME) com o sufixo huggingface.

  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai

  • --mixed_precision {no,fp16,bf16} (str) — Se deve ou não usar treinamento com precisão mista. Escolha entre treinamento com FP16 e BF16 (bfloat16). O treinamento com BF16 é suportado apenas em GPUs Nvidia Ampere e PyTorch 1.10 ou posterior.

accelerate config update

Comando:

accelerate config update ou accelerate-config update

Atualize um arquivo de configuração existente com os padrões mais recentes, mantendo a configuração antiga.

Uso:

accelerate config update [arguments]

Argumentos Opcionais:

  • --config_file CONFIG_FILE (str) — O caminho para o arquivo de configuração a ser atualizado. O padrão será um arquivo chamado default_config.yaml no local do cache, que é o conteúdo da variável de ambiente HF_HOME com o sufixo ‘accelerate’, ou, se você não tiver essa variável de ambiente, seu diretório de cache (~/.cache ou o conteúdo de XDG_CACHE_HOME) com o sufixo huggingface.

  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai

accelerate env

Comando:

accelerate env ou accelerate-env ou python -m accelerate.commands.env

Lista o conteúdo do arquivo de configuração do 🤗 Accelerate passado. Deve ser usado sempre que for abrir uma issue no repositório do GitHub.

Uso:

accelerate env [arguments]

Argumentos Opcionais:

  • --config_file CONFIG_FILE (str) — O caminho a ser usado para armazenar o arquivo de configuração. O padrão será um arquivo chamado default_config.yaml no local do cache, que é o conteúdo da variável de ambiente HF_HOME com o sufixo ‘accelerate’, ou, se você não tiver essa variável de ambiente, seu diretório de cache (~/.cache ou o conteúdo de XDG_CACHE_HOME) com o sufixo huggingface.
  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai

accelerate launch

Comando:

accelerate launch ou accelerate-launch ou python -m accelerate.commands.launch

Inicia um script especificado em um sistema distribuído com os parâmetros corretos.

Uso:

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

Argumentos posicionais:

  • {training_script} — O caminho completo para o script a ser executado em paralelo
  • --{training_script-argument-1} — Argumentos do script de treinamento

Argumentos Opcionais:

  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai
  • --config_file CONFIG_FILE (str)— O arquivo de configuração a ser usado para os valores padrão no script de lançamento.
  • -m, --module (bool) — Altera cada processo para interpretar o script de inicialização como um módulo Python, executando com o mesmo comportamento de ‘python -m’.
  • --no_python (bool) — Pula a adição de ‘python’ antes do script de treinamento - apenas execute-o diretamente. Útil quando o script não é um script Python.
  • --debug (bool) — Se deve imprimir a stack trace do torch.distributed quando algo falha.
  • -q, --quiet (bool) — Silencia erros de subprocessos da pilha de lançamento para exibir apenas os tracebacks relevantes. (Apenas aplicável a configurações de DeepSpeed e de processo único).

O restante desses argumentos é configurado por meio de accelerate config e seus valores são lidos do --config_file especificado (ou da configuração padrão). Eles também podem ser passados manualmente.

Argumentos de seleção de hardware:

  • --cpu (bool) — Se deve forçar o treinamento na CPU.
  • --multi_gpu (bool) — Se deve ou não iniciar um treinamento distribuído em GPU.
  • --tpu (bool) — Se deve ou não iniciar um treinamento em TPU.

Argumentos de seleção de recursos:

Os seguintes argumentos são úteis para ajustar como o hardware disponível deve ser utilizado

  • --mixed_precision {no,fp16,bf16,fp8} (str) — Se deve ou não usar treinamento com precisão mista. Escolha entre treinamento com FP16 e BF16 (bfloat16). O treinamento com BF16 é suportado apenas em GPUs Nvidia Ampere e PyTorch 1.10 ou posterior.
  • --num_processes NUM_PROCESSES (int) — O número total de processos a serem lançados em paralelo.
  • --num_machines NUM_MACHINES (int) — O número total de máquinas usadas neste treinamento.
  • --num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS (int) — O número de threads de CPU por processo. Pode ser ajustado para desempenho ideal.
  • --enable_cpu_affinity (bool) — Se a afinidade e o balanceamento de CPU devem ser habilitados. Atualmente, suportado apenas em hardware NVIDIA.

Argumentos do paradigma de treinamento:

Os seguintes argumentos são úteis para selecionar qual paradigma de treinamento usar.

  • --use_deepspeed (bool) — Se deve ou não usar DeepSpeed para o treinamento.
  • --use_fsdp (bool) — Se deve ou não usar FullyShardedDataParallel para o treinamento.
  • --use_megatron_lm (bool) — Se deve ou não usar o Megatron-LM para o treinamento.

Argumentos de GPU distribuída:

Os seguintes argumentos são úteis apenas quando multi_gpu é passado ou o treinamento multi-GPU é configurado por meio de accelerate config:

  • --gpu_ids (str) — Quais GPUs (por id) devem ser usadas para o treinamento nesta máquina, como uma lista separada por vírgulas
  • --same_network (bool) — Se todas as máquinas usadas para treinamento multinó estão na mesma rede local.
  • --machine_rank (int) — O rank da máquina na qual este script é iniciado.
  • --main_process_ip (str) — O endereço IP da máquina do rank 0.
  • --main_process_port (int) — A porta a ser usada para se comunicar com a máquina de rank 0.
  • -t, --tee (str) — Redireciona os fluxos padrão para um arquivo de log e também para o console.
  • --log_dir (str) — Diretório base a ser usado para arquivos de log ao utilizar torchrun/torch.distributed.run como lançador. Use com —tee para redirecionar as informações dos fluxos padrão para os arquivos de log.
  • --role (str) — Papel definido pelo usuário para os workers.
  • --rdzv_backend (str) — O método de rendezvous a ser usado, como ‘static’ (o padrão) ou ‘c10d’
  • --rdzv_conf (str) — Configuração adicional de rendezvous (<key1>=<value1>,<key2>=<value2>,…).
  • --max_restarts (int) — Número máximo de reinícios do grupo de workers antes de falhar.
  • --monitor_interval (int) — Intervalo, em segundos, para monitorar o estado dos workers.

Argumentos de TPU:

Os seguintes argumentos são úteis apenas quando tpu é passado ou o treinamento em TPU é configurado por meio de accelerate config:

  • --tpu_cluster (bool) — Se deve usar um pod TPU do GCP para treinamento.
  • --tpu_use_sudo (bool) — Se deve usar sudo ao executar o script de treinamento do TPU em cada pod.
  • --vm (str) — Lista de nomes de instâncias únicas de Compute VM. Se não for fornecida, assumimos o uso de grupos de instâncias. Para pods de TPU.
  • --env (str) — Lista de variáveis de ambiente a serem definidas nas instâncias da Compute VM. Para pods de TPU.
  • --main_training_function (str) — O nome da função principal a ser executada no seu script (apenas para treinamento em TPU).
  • --downcast_bf16 (bool) — Se, ao usar precisão bf16 em TPUs, tanto os tensores float quanto double são convertidos para bfloat16 ou se os tensores double permanecem como float32.

Argumentos do DeepSpeed:

Os seguintes argumentos são úteis apenas quando use_deepspeed é passado ou deepspeed é configurado por meio de accelerate config:

  • --deepspeed_config_file (str) — Arquivo de configuração do DeepSpeed.
  • --zero_stage (int) — Etapa de otimização ZeRO do DeepSpeed.
  • --offload_optimizer_device (str) — Define onde (none|cpu|nvme) descarregar os estados do otimizador.
  • --offload_param_device (str) — Define onde (none|cpu|nvme) os parâmetros serão descarregados.
  • --offload_optimizer_nvme_path (str) — Define o caminho Nvme para descarregar os estados do otimizador.
  • --gradient_accumulation_steps (int) — Número de gradient_accumulation_steps usado no seu script de treinamento.
  • --gradient_clipping (float) — Valor de recorte de gradiente usado no seu script de treinamento.
  • --zero3_init_flag (str) — Decide se (true|false) deve ser habilitado o deepspeed.zero.Init para a construção de modelos massivos. Aplicável apenas com DeepSpeed ZeRO Stage-3.
  • --zero3_save_16bit_model (str) — Decide se (true|false) salvar os pesos do modelo de 16 bits ao usar ZeRO Stage-3. Aplicável apenas com DeepSpeed ZeRO Stage-3.
  • --deepspeed_hostfile (str) — hostfile do DeepSpeed para configurar recursos de computação em múltiplos nós.
  • --deepspeed_exclusion_filter (str) — String do filtro de exclusão do DeepSpeed ao usar configuração multi-nó.
  • --deepspeed_inclusion_filter (str) — String do filtro de inclusão do DeepSpeed ao usar configuração multi-nó.
  • --deepspeed_multinode_launcher (str) — Launcher de múltiplos nós do DeepSpeed a ser utilizado.
  • --deepspeed_moe_layer_cls_names (str) — lista separada por vírgulas dos nomes das classes de camadas MoE do transformer (sensível a maiúsculas e minúsculas) a serem encapsuladas, por exemplo, MixtralSparseMoeBlock Qwen2MoeSparseMoeBlock, JetMoEAttention,JetMoEBlock

Argumentos de Parallelismo de Dados Totalmente Fragmentados:

Os seguintes argumentos são úteis apenas quando use_fsdp é passado ou quando o Fully Sharded Data Parallelism é configurado por meio de accelerate config:

  • --fsdp_offload_params (str) — Decide se (true|false) os parâmetros e gradientes devem ser transferidos para a CPU.
  • --fsdp_min_num_params (int) — Número mínimo de parâmetros do FSDP para o Auto Wrapping padrão.
  • --fsdp_sharding_strategy (int) — Estratégia de Sharding do FSDP.
  • --fsdp_auto_wrap_policy (str) — Política de auto wrap do FSDP.
  • --fsdp_transformer_layer_cls_to_wrap (str) — Nome da classe da camada Transformer (sensível a maiúsculas e minúsculas) a ser envolvida, por exemplo, BertLayer, GPTJBlock, T5Block …
  • --fsdp_backward_prefetch_policy (str) — Política de pré-busca reversa do FSDP.
  • --fsdp_state_dict_type (str) — Tipo de state dict do FSDP.
  • --fsdp_forward_prefetch (str) — Pré-busca de encaminhamento do FSDP.
  • --fsdp_use_orig_params (str) — Se True, permite requires_grad não uniforme misturado em uma unidade FSDP.
  • --fsdp_cpu_ram_efficient_loading (str) — Se true, apenas o primeiro processo carrega o checkpoint do modelo pré-treinado, enquanto todos os outros processos têm pesos vazios. Ao usar isso, --fsdp_sync_module_states precisa ser True.
  • --fsdp_sync_module_states (str) — Se true, cada unidade FSDP individualmente envolvida fará o broadcast dos parâmetros do módulo a partir do rank 0.
  • --fsdp_activation_checkpointing (bool) — Decide se as ativações intermediárias são liberadas durante a passagem de frente e se um checkpoint é deixado como marcador

Argumentos do Megatron-LM:

Os seguintes argumentos são úteis apenas quando use_megatron_lm é passado ou quando o Megatron-LM é configurado por meio de accelerate config:

  • --megatron_lm_tp_degree (“) — Grau de Tensor Parallelism (TP) do Megatron-LM.
  • --megatron_lm_pp_degree (“) — Grau de Pipeline Parallelism (PP) do Megatron-LM.
  • --megatron_lm_num_micro_batches (“) — número de micro lotes do Megatron-LM quando o grau de PP > 1.
  • --megatron_lm_sequence_parallelism (“) — Decide se (true|false) o Sequence Parallelism deve ser habilitado quando o grau de TP > 1.
  • --megatron_lm_recompute_activations (“) — Decide se (true|false) deve ativar a Recomputação Seletiva de Ativações.
  • --megatron_lm_use_distributed_optimizer (“) — Decide se (true|false) deve ser usado um otimizador distribuído, que divide o estado do otimizador e os gradientes entre os ranks de Data Parallel (DP).
  • --megatron_lm_gradient_clipping (“) — Valor de clipping de gradiente do Megatron-LM com base na norma L2 global (0 para desativar).

Argumentos de FP8:

  • --fp8_backend (str) — Escolha um backend para treinar com FP8 (ao ou te)
  • --fp8_use_autocast_during_eval (bool) — Se deve usar FP8 autocast durante o modo de avaliação (útil apenas quando --fp8_backend=te é passado). Geralmente, métricas melhores são obtidas quando este argumento não é passado.
  • --fp8_margin (int) — A margem a ser usada para o escalonamento do gradiente (útil apenas quando --fp8_backend=te é passado).
  • --fp8_interval (int) — O intervalo a ser usado para a frequência de recálculo do fator de escala (útil apenas quando --fp8_backend=te é passado).
  • --fp8_format (str) — O formato a ser usado para a receita FP8 (útil apenas quando --fp8_backend=te é passado).
  • --fp8_amax_history_len (int) — O comprimento do histórico a ser usado para o cálculo do fator de escala (útil apenas quando --fp8_backend=te é passado).
  • --fp8_amax_compute_algo (str) — O algoritmo a ser usado para o cálculo do fator de escala. (útil apenas quando --fp8_backend=te é passado).
  • --fp8_override_linear_precision (Tuple[bool, bool, bool]) — Se os GEMMs de fprop, dgrad e wgrad devem ser executados em maior precisão.

Argumentos do AWS SageMaker:

Os seguintes argumentos são úteis apenas ao treinar no SageMaker

  • --aws_access_key_id AWS_ACCESS_KEY_ID (str) — O AWS_ACCESS_KEY_ID usado para iniciar o job de treinamento do Amazon SageMaker
  • --aws_secret_access_key AWS_SECRET_ACCESS_KEY (str) — O AWS_SECRET_ACCESS_KEY usado para iniciar o job de treinamento do Amazon SageMaker

accelerate estimate-memory

Comando:

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

Estima a quantidade total de vRAM necessária para carregar um modelo específico hospedado no Hub, incluindo uma estimativa para treinamento. Exige que huggingface_hub esteja instalado.

Ao realizar inferência, normalmente adicione ≤20% ao resultado como alocação geral conforme referenciado aqui. Teremos estimativas mais extensas no futuro que serão incluídas automaticamente no cálculo.

Uso:

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

Argumentos obrigatórios:

  • MODEL_NAME (str)— O nome do modelo no Hugging Face Hub

Argumentos Opcionais:

  • --library_name {timm,transformers} (str) — A biblioteca com a qual o modelo possui uma integração, como transformers, necessária apenas se essa informação não estiver armazenada no Hub
  • --dtypes {float32,float16,int8,int4} ([{float32,float16,int8,int4} ...]) — Os dtypes a serem usados para o modelo, devem ser um (ou vários) de float32, float16, int8 e int4
  • --trust_remote_code (bool) — Se permite ou não o uso de modelos personalizados definidos no Hub em seus próprios arquivos de modelagem. Essa opção deve ser passada apenas para repositórios nos quais você confia e cujo código você leu, pois ela executará o código presente no Hub na sua máquina local.

accelerate tpu-config

accelerate tpu-config

Uso:

accelerate tpu-config [arguments]

Argumentos Opcionais:

  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai

Argumentos de Configuração:

Argumentos que podem ser configurados por meio de accelerate config.

  • --config_file (str) — Caminho para o arquivo de configuração a ser usado pelo accelerate.
  • --tpu_name (str) — O nome do TPU a ser usado. Se não for especificado, será utilizado o TPU definido no arquivo de configuração.
  • --tpu_zone (str) — A zona do TPU a ser usada. Se não for especificada, será usada a zona especificada no arquivo de configuração.

Argumentos de TPU:

Argumentos para as opções executadas dentro do TPU.

  • --command_file (str) — O caminho para o arquivo contendo os comandos a serem executados no pod na inicialização.
  • --command (str) — Um comando para executar no pod. Pode ser passado várias vezes.
  • --install_accelerate (bool) — Se deve instalar o accelerate no pod. O valor padrão é False.
  • --accelerate_version (str) — A versão do accelerate a ser instalada no pod. Se não for especificada, será usada a versão mais recente do pypi. Especifique ‘dev’ para instalar a partir do GitHub.
  • --debug (bool) — Se definido, exibirá o comando que seria executado em vez de executá-lo.

accelerate test

accelerate test ou accelerate-test

Executa accelerate/test_utils/test_script.py para verificar se o 🤗 Accelerate foi configurado corretamente no seu sistema e está funcionando.

Uso:

accelerate test [arguments]

Argumentos Opcionais:

  • --config_file CONFIG_FILE (str) — O caminho a ser usado para armazenar o arquivo de configuração. O padrão será um arquivo chamado default_config.yaml no local do cache, que é o conteúdo da variável de ambiente HF_HOME com o sufixo ‘accelerate’, ou, se você não tiver essa variável de ambiente, seu diretório de cache (~/.cache ou o conteúdo de XDG_CACHE_HOME) com o sufixo huggingface.
  • -h, --help (bool) — Exibe uma mensagem de ajuda e sai
Update on GitHub