Accelerate documentation

Komut Satırı

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

Komut Satırı

Aşağıda, parametreleriyle birlikte 🤗 Accelerate'in tüm kullanılabilir komutlarının listesi yer almaktadır

accelerate config

Komut:

accelerate config veya accelerate-config

Eğitim sisteminiz için bir default_config.yml yapılandırma dosyası oluşturmak ve kaydetmek üzere bir dizi istem başlatır. Makinenizde her zaman ilk olarak çalıştırılmalıdır.

Kullanım:

accelerate config [arguments]

İsteğe Bağlı Argümanlar:

  • --config_file CONFIG_FILE (str) — Yapılandırma dosyasını saklamak için kullanılacak yol. Varsayılan olarak, önbellek konumundaki default_config.yaml adlı bir dosya kullanılır; bu, HF_HOME ortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cache veya XDG_CACHE_HOME içeriği) huggingface ekiyle birleştirilir.
  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar

accelerate config varsayılan

Komut:

accelerate config default veya accelerate-config default

Sadece birkaç bayrak ayarlanmış bir varsayılan yapılandırma dosyası oluşturun.

Kullanım:

accelerate config default [arguments]

İsteğe Bağlı Argümanlar:

  • --config_file CONFIG_FILE (str) — Yapılandırma dosyasını saklamak için kullanılacak yol. Varsayılan olarak, önbellek konumundaki default_config.yaml adlı bir dosya kullanılır; bu, HF_HOME ortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cache veya XDG_CACHE_HOME içeriği) huggingface ekiyle birleştirilir.

  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar

  • --mixed_precision {no,fp16,bf16} (str) — Karma hassasiyetli eğitim kullanılıp kullanılmayacağı. FP16 ve BF16 (bfloat16) eğitimi arasında seçim yapın. BF16 eğitimi yalnızca Nvidia Ampere GPU'larında ve PyTorch 1.10 veya daha yeni sürümlerinde desteklenir.

accelerate config güncelle

Komut:

accelerate config update veya accelerate-config update

Mevcut yapılandırma dosyasını, eski yapılandırmayı koruyarak en son varsayılanlarla güncelleyin.

Kullanım:

accelerate config update [arguments]

İsteğe Bağlı Argümanlar:

  • --config_file CONFIG_FILE (str) — Güncellenecek yapılandırma dosyasının yolu. Varsayılan olarak, önbellek konumundaki HF_HOME ortam değişkeninin içeriğinin sonuna ‘accelerate’ eklenerek oluşturulan veya böyle bir ortam değişkeniniz yoksa önbellek dizininizin (~/.cache veya XDG_CACHE_HOME içeriğinin) sonuna huggingface eklenerek oluşturulan default_config.yaml adlı dosya kullanılır.

  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar

accelerate env

Komut:

accelerate env veya accelerate-env veya python -m accelerate.commands.env

Geçirilen 🤗 Accelerate yapılandırma dosyasının içeriğini listeler. GitHub deposunda bir sorun açarken her zaman kullanılmalıdır.

Kullanım:

accelerate env [arguments]

İsteğe Bağlı Argümanlar:

  • --config_file CONFIG_FILE (str) — Yapılandırma dosyasını saklamak için kullanılacak yol. Varsayılan olarak, önbellek konumundaki default_config.yaml adlı bir dosya kullanılır; bu, HF_HOME ortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cache veya XDG_CACHE_HOME içeriği) huggingface ekiyle birleştirilir.
  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar

accelerate launch

Komut:

accelerate launch veya accelerate-launch veya python -m accelerate.commands.launch

Belirtilen betiği doğru parametrelerle dağıtık bir sistemde başlatır.

Kullanım:

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

Konumsal Argümanlar:

  • {training_script} — Paralel olarak başlatılacak betiğin tam yolu
  • --{training_script-argument-1} — Eğitim betiğinin argümanları

İsteğe Bağlı Argümanlar:

  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar
  • --config_file CONFIG_FILE (str)— Başlatma betiğindeki varsayılan değerler için kullanılacak yapılandırma dosyası.
  • -m, --module (bool) — Her sürecin, başlatma betiğini ‘python -m’ ile aynı davranışa sahip olacak şekilde bir Python modülü olarak yorumlamasını sağlar.
  • --no_python (bool) — Eğitim betiğinin başına ‘python’ eklemeyi atlayın - betiği doğrudan çalıştırın. Betik bir Python betiği olmadığında faydalıdır.
  • --debug (bool) — Bir şey başarısız olduğunda torch.distributed yığın izini yazdırıp yazdırmayacağı.
  • -q, --quiet (bool) — Başlatma yığın izinden alt süreç hatalarını sessize alarak yalnızca ilgili yığın izlerini gösterir. (Yalnızca DeepSpeed ve tek süreç yapılandırmaları için geçerlidir).

Bu argümanların geri kalanı accelerate config ile yapılandırılır ve değerleri belirtilen --config_file'den (veya varsayılan yapılandırmadan) okunur. Bunlar ayrıca manuel olarak da geçirilebilir.

Donanım Seçimi Argümanları:

  • --cpu (bool) — Eğitimin CPU üzerinde zorlanıp zorlanmayacağı.
  • --multi_gpu (bool) — Dağıtık GPU eğitimini başlatıp başlatmayacağı.
  • --tpu (bool) — TPU eğitimi başlatılacak mı?

Kaynak Seçim Argümanları:

Aşağıdaki argümanlar, kullanılabilir donanımın nasıl kullanılacağına ilişkin ince ayar yapmak için faydalıdır

  • --mixed_precision {no,fp16,bf16,fp8} (str) — Karma hassasiyetli eğitim kullanılıp kullanılmayacağı. FP16 ve BF16 (bfloat16) eğitimi arasında seçim yapın. BF16 eğitimi yalnızca Nvidia Ampere GPU'larında ve PyTorch 1.10 veya daha yeni sürümlerinde desteklenir.
  • --num_processes NUM_PROCESSES (int) — Paralel olarak başlatılacak toplam süreç sayısı.
  • --num_machines NUM_MACHINES (int) — Bu eğitimde kullanılan toplam makine sayısı.
  • --num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS (int) — İşlem başına CPU iş parçacığı sayısı. Optimal performans için ayarlanabilir.
  • --enable_cpu_affinity (bool) — CPU affinity ve dengelemenin etkinleştirilip etkinleştirilmeyeceğini belirtir. Şu anda yalnızca NVIDIA donanımlarında desteklenir.

Eğitim Paradigması Argümanları:

Aşağıdaki argümanlar, kullanılacak eğitim paradigmasını seçmek için faydalıdır.

  • --use_deepspeed (bool) — Eğitim için DeepSpeed kullanılıp kullanılmayacağı.
  • --use_fsdp (bool) — Eğitim için FullyShardedDataParallel kullanılacak mı?
  • --use_megatron_lm (bool) — Eğitim için Megatron-LM kullanılacak mı?

Dağıtık GPU Argümanları:

Aşağıdaki argümanlar yalnızca multi_gpu geçirildiğinde veya çoklu GPU eğitimi accelerate config üzerinden yapılandırıldığında işe yarar:

  • --gpu_ids (str) — Bu makinede eğitim için hangi GPU'ların (kimliklerine göre) kullanılacağını virgülle ayrılmış bir liste olarak belirtir
  • --same_network (bool) — Çoklu düğüm eğitiminde kullanılan tüm makinelerin aynı yerel ağda bulunup bulunmadığı.
  • --machine_rank (int) — Bu betiğin başlatıldığı makinenin rütbesi.
  • --main_process_ip (str) — 0. sıralı makinenin IP adresi.
  • --main_process_port (int) — 0. sıralı makineyle iletişim için kullanılacak port.
  • -t, --tee (str) — std akışlarını bir günlük dosyasına ve aynı zamanda konsola yönlendirir.
  • --log_dir (str) — torchrun/torch.distributed.run başlatıcısı kullanıldığında günlük dosyaları için kullanılacak temel dizin. —tee ile birlikte kullanılarak standart akış bilgileri günlük dosyalarına yönlendirilebilir.
  • --role (str) — İşçiler için kullanıcı tanımlı rol.
  • --rdzv_backend (str) — Kullanılacak buluşma yöntemi, örneğin ‘static’ (varsayılan) veya ‘c10d’
  • --rdzv_conf (str) — Ek buluşma yapılandırması (<key1>=<value1>,<key2>=<value2>,…).
  • --max_restarts (int) — Başarısız olmadan önce işçi grubunun yeniden başlatılma sayısı üst sınırı.
  • --monitor_interval (int) — İşçilerin durumunu izlemek için saniye cinsinden aralık.

TPU Argümanları:

Aşağıdaki argümanlar yalnızca tpu geçirildiğinde veya TPU eğitimi accelerate config üzerinden yapılandırıldığında işe yarar:

  • --tpu_cluster (bool) — Eğitim için GCP TPU pod'u kullanılıp kullanılmayacağı.
  • --tpu_use_sudo (bool) — Her pod'da TPU eğitim betiği çalıştırılırken sudo kullanılıp kullanılmayacağı.
  • --vm (str) — Tekil Compute VM örnek adlarının listesi. Sağlanmazsa örnek gruplarının kullanıldığı varsayılır. TPU podları için.
  • --env (str) — Compute VM örneklerinde ayarlanacak ortam değişkenlerinin listesi. TPU podları için.
  • --main_training_function (str) — Betiğinizde çalıştırılacak ana fonksiyonun adı (yalnızca TPU eğitimi için).
  • --downcast_bf16 (bool) — TPU'larda bf16 hassasiyeti kullanılırken hem float hem de double tensörlerin bfloat16'ya mı yoksa double tensörlerin float32 olarak mı kalacağına dair bir belirleme.

DeepSpeed Argümanları:

Aşağıdaki argümanlar yalnızca use_deepspeed geçirildiğinde veya deepspeed accelerate config üzerinden yapılandırıldığında işe yarar:

  • --deepspeed_config_file (str) — DeepSpeed yapılandırma dosyası.
  • --zero_stage (int) — DeepSpeed'in ZeRO optimizasyon aşaması.
  • --offload_optimizer_device (str) — Optimizer durumlarının nerede (none|cpu|nvme) dışa aktarılacağını belirler.
  • --offload_param_device (str) — Parametrelerin nerede (none|cpu|nvme) boşaltılacağını belirler.
  • --offload_optimizer_nvme_path (str) — Optimizer durumlarını offload etmek için Nvme Path'ini belirler.
  • --gradient_accumulation_steps (int) — Eğitim betiğinizde kullanılan gradient_accumulation_steps sayısı.
  • --gradient_clipping (float) — Eğitim betiğinizde kullanılan gradyan kırpma değeri.
  • --zero3_init_flag (str) — deepspeed.zero.Init ile devasa modellerin oluşturulması için etkinleştirilip etkinleştirilmeyeceğini (true|false) belirler. Yalnızca DeepSpeed ZeRO Stage-3 ile kullanılabilir.
  • --zero3_save_16bit_model (str) — ZeRO Stage-3 kullanılırken 16-bit model ağırlıklarının kaydedilip kaydedilmeyeceğini (true|false) belirler. Yalnızca DeepSpeed ZeRO Stage-3 ile geçerlidir.
  • --deepspeed_hostfile (str) — Çoklu düğüm hesaplama kaynaklarını yapılandırmak için DeepSpeed hostfile.
  • --deepspeed_exclusion_filter (str) — Çoklu düğüm kurulumu kullanıldığında DeepSpeed hariç tutma filtresi dizesi.
  • --deepspeed_inclusion_filter (str) — Çoklu düğüm kurulumu kullanılırken DeepSpeed kapsama filtresi dizesi.
  • --deepspeed_multinode_launcher (str) — Kullanılacak DeepSpeed çoklu düğüm başlatıcısı.
  • --deepspeed_moe_layer_cls_names (str) — sarılacak transformer MoE katman sınıf adalarının virgülle ayrılmış listesi (büyük/küçük harfe duyarlı), örn. MixtralSparseMoeBlock Qwen2MoeSparseMoeBlock, JetMoEAttention,JetMoEBlock

Tamamen Parçalı Veri Paralelliği Argümanları:

Aşağıdaki argümanlar yalnızca use_fsdp geçirildiğinde veya Fully Sharded Data Parallelism accelerate config üzerinden yapılandırıldığında işe yarar:

  • --fsdp_offload_params (str) — Parametrelerin ve gradyanların CPU'ya aktarılmasının (true|false) belirlenmesi.
  • --fsdp_min_num_params (int) — FSDP'nin Default Auto Wrapping için minimum parametre sayısı.
  • --fsdp_sharding_strategy (int) — FSDP'nin Sharding Stratejisi.
  • --fsdp_auto_wrap_policy (str) — FSDP’nin otomatik sarma politikası.
  • --fsdp_transformer_layer_cls_to_wrap (str) — Sarılacak Transformer katman sınıfı adı (büyük/küçük harfe duyarlı), örn. BertLayer, GPTJBlock, T5Block …
  • --fsdp_backward_prefetch_policy (str) — FSDP’nin geriye dönük ön yükleme politikası.
  • --fsdp_state_dict_type (str) — FSDP'nin state dict türü.
  • --fsdp_forward_prefetch (str) — FSDP ileri yönde ön yükleme.
  • --fsdp_use_orig_params (str) — True ise, bir FSDP biriminde karışık olarak yer alan düzensiz requires_grad değerlerine izin verir.
  • --fsdp_cpu_ram_efficient_loading (str) — True ise, önceden eğitilmiş model checkpoint'ini yalnızca ilk süreç yüklerken diğer tüm süreçlerin ağırlıkları boş kalır. Bunu kullanırken --fsdp_sync_module_states True olmalıdır.
  • --fsdp_sync_module_states (str) — true ise, her bir ayrı sarmalanmış FSDP birimi, modül parametrelerini rank 0'dan yayınlayacaktır.
  • --fsdp_activation_checkpointing (bool) — İleri geçiş sırasında ara aktivasyonların serbest bırakılıp bırakılmayacağına ve bir kontrol noktasının yer tutucu olarak bırakılıp bırakılmayacağına karar verir

Megatron-LM Argümanları:

Aşağıdaki argümanlar yalnızca use_megatron_lm geçirildiğinde veya Megatron-LM accelerate config üzerinden yapılandırıldığında işe yarar:

  • --megatron_lm_tp_degree (“) — Megatron-LM Tensor Parallelism (TP) derecesi.
  • --megatron_lm_pp_degree (“) — Megatron-LM'in Pipeline Parallelism (PP) derecesi.
  • --megatron_lm_num_micro_batches (“) — PP derecesi > 1 olduğunda Megatron-LM’nin mikro batch sayısı.
  • --megatron_lm_sequence_parallelism (“) — TP derecesi > 1 olduğunda Sequence Parallelism'in etkinleştirilip etkinleştirilmeyeceğini (true|false) belirler.
  • --megatron_lm_recompute_activations (“) — Selective Activation Recomputation'ın etkinleştirilip etkinleştirilmeyeceğini (true|false) belirler.
  • --megatron_lm_use_distributed_optimizer (“) — Optimizer durumunu ve gradyanları Data Parallel (DP) rank'leri arasında parçalayan dağıtık optimizasyonun (true|false) kullanılıp kullanılmayacağını belirler.
  • --megatron_lm_gradient_clipping (“) — Megatron-LM’nin global L2 Norm tabanlı gradyan kırpma değeri (devre dışı bırakmak için 0).

FP8 Argümanları:

  • --fp8_backend (str) — FP8 ile eğitim için bir backend seçin (ao veya te)
  • --fp8_use_autocast_during_eval (bool) — Eval modunda FP8 autocast kullanılacak mı (yalnızca --fp8_backend=te geçirildiğinde faydalıdır). Bu parametre geçirilmediğinde genellikle daha iyi metrikler elde edilir.
  • --fp8_margin (int) — Gradyan ölçeklendirmesi için kullanılacak pay (yalnızca --fp8_backend=te geçirildiğinde kullanışlıdır).
  • --fp8_interval (int) — Ölçekleme faktörünün ne sıklıkla yeniden hesaplanacağı için kullanılacak aralık (yalnızca --fp8_backend=te geçirildiğinde kullanışlıdır).
  • --fp8_format (str) — FP8 tarifi için kullanılacak biçim (yalnızca --fp8_backend=te geçirildiğinde kullanışlıdır).
  • --fp8_amax_history_len (int) — Ölçekleme faktörü hesabında kullanılacak geçmişin uzunluğu (yalnızca --fp8_backend=te geçirildiğinde kullanışlıdır).
  • --fp8_amax_compute_algo (str) — Ölçekleme faktörü hesabı için kullanılacak algoritma. (yalnızca --fp8_backend=te geçirildiğinde kullanışlıdır).
  • --fp8_override_linear_precision (Tuple[bool, bool, bool]) — fprop, dgrad ve wgrad GEMM'lerinin daha yüksek hassasiyetle çalıştırılıp çalıştırılmayacağı.

AWS SageMaker Argümanları:

Aşağıdaki argümanlar yalnızca SageMaker'da eğitim sırasında kullanışlıdır

  • --aws_access_key_id AWS_ACCESS_KEY_ID (str) — Amazon SageMaker eğitim işini başlatmak için kullanılan AWS_ACCESS_KEY_ID
  • --aws_secret_access_key AWS_SECRET_ACCESS_KEY (str) — Amazon SageMaker eğitim işini başlatmak için kullanılan AWS_SECRET_ACCESS_KEY

accelerate estimate-memory

Komut:

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

Hub üzerinde barındırılan belirli bir modelin yüklenmesi için gereken toplam vRAM'i, eğitim için bir tahminle birlikte tahmin eder. huggingface_hub'ün yüklü olması gerekir.

Çıkarım (inference) sırasında, genellikle burada belirtildiği gibi genel tahsisat olarak sonuca ≤%20 eklenir. Gelecekte, hesaplama otomatik olarak dahil edilecek daha kapsamlı tahminler sunacağız.

Kullanım:

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

Zorunlu Argümanlar:

  • MODEL_NAME (str)— Hugging Face Hub'daki model adı

İsteğe Bağlı Argümanlar:

  • --library_name {timm,transformers} (str) — Modelin entegrasyonunun olduğu kütüphane, örneğin transformers; bu bilgi Hub'da saklanmıyorsa gereklidir
  • --dtypes {float32,float16,int8,int4} ([{float32,float16,int8,int4} ...]) — Model için kullanılacak dtypes, float32, float16, int8 ve int4 değerlerinden biri (veya birkaçı) olmalıdır
  • --trust_remote_code (bool) — Hub'da kendi modelleme dosyalarında tanımlanan özel modellere izin verilip verilmeyeceğini belirtir. Bu seçenek, yalnızca güvendiğiniz ve kodunu incelediğiniz depolar için geçirilmelidir; çünkü Hub'da bulunan kodu yerel makinenizde çalıştırır.

accelerate tpu-config

accelerate tpu-config

Kullanım:

accelerate tpu-config [arguments]

İsteğe Bağlı Argümanlar:

  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar

Yapılandırma Argümanları:

accelerate config ile yapılandırılabilen argümanlar.

  • --config_file (str) — accelerate için kullanılacak yapılandırma dosyasının yolu.
  • --tpu_name (str) — Kullanılacak TPU'nun adı. Belirtilmezse, yapılandırma dosyasında belirtilen TPU kullanılır.
  • --tpu_zone (str) — Kullanılacak TPU'nun bölgesi. Belirtilmezse, yapılandırma dosyasında belirtilen bölge kullanılır.

TPU Argümanları:

TPU içinde çalıştırılan seçenekler için argümanlar.

  • --command_file (str) — Pod başlatılırken çalıştırılacak komutları içeren dosyanın yolu.
  • --command (str) — Pod üzerinde çalıştırılacak bir komut. Birden fazla kez geçirilebilir.
  • --install_accelerate (bool) — Pod üzerinde accelerate kurulup kurulmayacağı. Varsayılan olarak False.
  • --accelerate_version (str) — Pod'a kurulacak accelerate sürümü. Belirtilmezse, en son pypi sürümü kullanılır. GitHub'dan kurulum için ‘dev’ belirtin.
  • --debug (bool) — Ayarlanırsa, çalıştırılmak yerine çalıştırılacak komutu yazdırır.

accelerate test

accelerate test veya accelerate-test

Sisteminizde 🤗 Accelerate'in doğru yapılandırıldığını ve çalıştığını doğrulamak için accelerate/test_utils/test_script.py çalıştırılır.

Kullanım:

accelerate test [arguments]

İsteğe Bağlı Argümanlar:

  • --config_file CONFIG_FILE (str) — Yapılandırma dosyasını saklamak için kullanılacak yol. Varsayılan olarak, önbellek konumundaki default_config.yaml adlı bir dosya kullanılır; bu, HF_HOME ortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cache veya XDG_CACHE_HOME içeriği) huggingface ekiyle birleştirilir.
  • -h, --help (bool) — Yardım mesajı gösterir ve çıkar
Update on GitHub