Accelerate documentation
Komut Satırı
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_HOMEortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cacheveyaXDG_CACHE_HOMEiçeriği)huggingfaceekiyle 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_HOMEortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cacheveyaXDG_CACHE_HOMEiçeriği)huggingfaceekiyle 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 konumundakiHF_HOMEortam değişkeninin içeriğinin sonuna ‘accelerate’ eklenerek oluşturulan veya böyle bir ortam değişkeniniz yoksa önbellek dizininizin (~/.cacheveyaXDG_CACHE_HOMEiçeriğinin) sonunahuggingfaceeklenerek 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_HOMEortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cacheveyaXDG_CACHE_HOMEiçeriği)huggingfaceekiyle 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ırkensudokullanı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.Initile 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.MixtralSparseMoeBlockQwen2MoeSparseMoeBlock,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üzensizrequires_graddeğ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_statesTrue 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 (aoveyate)--fp8_use_autocast_during_eval(bool) — Eval modunda FP8 autocast kullanılacak mı (yalnızca--fp8_backend=tegeç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=tegeç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=tegeçirildiğinde kullanışlıdır).--fp8_format(str) — FP8 tarifi için kullanılacak biçim (yalnızca--fp8_backend=tegeç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=tegeç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=tegeçirildiğinde kullanışlıdır).--fp8_override_linear_precision(Tuple[bool, bool, bool]) —fprop,dgradvewgradGEMM'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ğintransformers; bu bilgi Hub'da saklanmıyorsa gereklidir--dtypes {float32,float16,int8,int4}([{float32,float16,int8,int4} ...]) — Model için kullanılacak dtypes,float32,float16,int8veint4değ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_HOMEortam değişkeninin içeriğinin ‘accelerate’ ekiyle birleştirilmesiyle oluşur. Böyle bir ortam değişkeniniz yoksa, önbellek dizininiz (~/.cacheveyaXDG_CACHE_HOMEiçeriği)huggingfaceekiyle birleştirilir.-h,--help(bool) — Yardım mesajı gösterir ve çıkar