Accelerate documentation
Baris Perintah
Baris Perintah
Berikut adalah daftar semua perintah π€ Accelerate yang tersedia beserta parameternya
accelerate config
Perintah:
accelerate config atau accelerate-config
Meluncurkan serangkaian prompt untuk membuat dan menyimpan file konfigurasi default_config.yml untuk sistem pelatihan Anda. Sebaiknya selalu dijalankan terlebih dahulu di mesin Anda.
Penggunaan:
accelerate config [arguments]
Argumen Opsional:
--config_file CONFIG_FILE(str) β Path yang digunakan untuk menyimpan file konfigurasi. Secara default, akan menggunakan file bernama default_config.yaml di lokasi cache, yaitu isi dari environmentHF_HOMEyang diberi akhiran βaccelerateβ, atau jika Anda tidak memiliki variabel environment tersebut, direktori cache Anda (~/.cacheatau isi dariXDG_CACHE_HOME) yang diberi akhiranhuggingface.-h,--help(bool) β Tampilkan pesan bantuan dan keluar
accelerate config default
Perintah:
accelerate config default atau accelerate-config default
Buat file konfigurasi default untuk Accelerate dengan hanya beberapa flag yang diatur.
Penggunaan:
accelerate config default [arguments]
Argumen Opsional:
--config_file CONFIG_FILE(str) β Path yang digunakan untuk menyimpan file konfigurasi. Secara default, akan menggunakan file bernama default_config.yaml di lokasi cache, yaitu isi dari environmentHF_HOMEyang diberi akhiran βaccelerateβ, atau jika Anda tidak memiliki variabel environment tersebut, direktori cache Anda (~/.cacheatau isi dariXDG_CACHE_HOME) yang diberi akhiranhuggingface.-h,--help(bool) β Tampilkan pesan bantuan dan keluar--mixed_precision {no,fp16,bf16}(str) β Apakah akan menggunakan pelatihan presisi campuran atau tidak. Pilih antara pelatihan FP16 dan BF16 (bfloat16). Pelatihan BF16 hanya didukung pada GPU Nvidia Ampere dan PyTorch 1.10 atau lebih baru.
accelerate config update
Perintah:
accelerate config update atau accelerate-config update
Perbarui file konfigurasi yang sudah ada dengan nilai default terbaru sambil mempertahankan konfigurasi lama.
Penggunaan:
accelerate config update [arguments]
Argumen Opsional:
--config_file CONFIG_FILE(str) β Path ke file config yang akan diperbarui. Secara default, akan menggunakan file bernama default_config.yaml di lokasi cache, yaitu isi dari environmentHF_HOMEyang diberi akhiran βaccelerateβ, atau jika Anda tidak memiliki variabel environment tersebut, direktori cache Anda (~/.cacheatau isi dariXDG_CACHE_HOME) yang diberi akhiranhuggingface.-h,--help(bool) β Tampilkan pesan bantuan dan keluar
accelerate env
Perintah:
accelerate env atau accelerate-env atau python -m accelerate.commands.env
Menampilkan isi file konfigurasi π€ Accelerate yang diberikan. Selalu gunakan ini saat membuka masalah di repositori GitHub.
Penggunaan:
accelerate env [arguments]Argumen Opsional:
--config_file CONFIG_FILE(str) β Path yang digunakan untuk menyimpan file konfigurasi. Secara default, akan menggunakan file bernama default_config.yaml di lokasi cache, yaitu isi dari environmentHF_HOMEyang diberi akhiran βaccelerateβ, atau jika Anda tidak memiliki variabel environment tersebut, direktori cache Anda (~/.cacheatau isi dariXDG_CACHE_HOME) yang diberi akhiranhuggingface.-h,--help(bool) β Tampilkan pesan bantuan dan keluar
accelerate launch
Perintah:
accelerate launch atau accelerate-launch atau python -m accelerate.commands.launch
Menjalankan skrip yang ditentukan pada sistem terdistribusi dengan parameter yang tepat.
Penggunaan:
accelerate launch [arguments] {training_script} --{training_script-argument-1} --{training_script-argument-2} ...Argumen Posisi:
{training_script}β Path lengkap ke skrip yang akan dijalankan secara paralel--{training_script-argument-1}β Argumen dari skrip pelatihan
Argumen Opsional:
-h,--help(bool) β Tampilkan pesan bantuan dan keluar--config_file CONFIG_FILE(str)β File konfigurasi yang digunakan untuk nilai default dalam skrip peluncuran.-m,--module(bool) β Ubah setiap proses untuk menafsirkan skrip peluncuran sebagai modul Python, dieksekusi dengan perilaku yang sama seperti βpython -mβ.--no_python(bool) β Lewati penambahan βpythonβ di awal skrip pelatihan - jalankan langsung. Berguna ketika skripnya bukan skrip Python.--debug(bool) β Apakah akan mencetak stack trace torch.distributed ketika terjadi kegagalan.-q,--quiet(bool) β Menonaktifkan error subprocess dari stack trace peluncuran agar hanya menampilkan traceback yang relevan. (Hanya berlaku untuk konfigurasi DeepSpeed dan single-process).
Sisanya dari argumen ini dikonfigurasi melalui accelerate config dan dibaca dari --config_file yang ditentukan (atau konfigurasi default) untuk nilainya. Mereka juga dapat dilewatkan secara manual.
Argumen Pemilihan Perangkat Keras:
--cpu(bool) β Apakah akan memaksa pelatihan dilakukan di CPU.--multi_gpu(bool) β Apakah ini harus meluncurkan pelatihan GPU terdistribusi.--tpu(bool) β Apakah ini harus meluncurkan pelatihan TPU.
Argumen Pemilihan Sumber Daya:
Argumen berikut berguna untuk penyesuaian cara penggunaan perangkat keras yang tersedia
--mixed_precision {no,fp16,bf16,fp8}(str) β Apakah akan menggunakan pelatihan presisi campuran atau tidak. Pilih antara pelatihan FP16 dan BF16 (bfloat16). Pelatihan BF16 hanya didukung pada GPU Nvidia Ampere dan PyTorch 1.10 atau lebih baru.--num_processes NUM_PROCESSES(int) β Total jumlah proses yang akan dijalankan secara paralel.--num_machines NUM_MACHINES(int) β Jumlah total mesin yang digunakan dalam pelatihan ini.--num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS(int) β Jumlah thread CPU per proses. Dapat disetel untuk kinerja optimal.--enable_cpu_affinity(bool) β Apakah afinitas dan penyeimbangan CPU harus diaktifkan. Saat ini hanya didukung pada perangkat keras NVIDIA.
Argumen Paradigma Pelatihan:
Argumen berikut berguna untuk memilih paradigma pelatihan yang akan digunakan.
--use_deepspeed(bool) β Apakah akan menggunakan DeepSpeed untuk pelatihan.--use_fsdp(bool) β Apakah akan menggunakan FullyShardedDataParallel untuk pelatihan.--use_megatron_lm(bool) β Apakah akan menggunakan Megatron-LM untuk pelatihan.
Argumen GPU Terdistribusi:
Argumen berikut hanya berguna ketika multi_gpu diteruskan atau pelatihan multi-GPU dikonfigurasi melalui accelerate config:
--gpu_ids(str) β GPU mana (berdasarkan id) yang harus digunakan untuk pelatihan di mesin ini sebagai daftar yang dipisahkan koma--same_network(bool) β Apakah semua mesin yang digunakan untuk pelatihan multinode berada di jaringan lokal yang sama.--machine_rank(int) β Rank mesin tempat skrip ini dijalankan.--main_process_ip(str) β Alamat IP dari mesin dengan rank 0.--main_process_port(int) β Port yang digunakan untuk berkomunikasi dengan mesin rank 0.-t,--tee(str) β Salin aliran std ke file log dan juga ke konsol.--log_dir(str) β Direktori dasar untuk digunakan pada file log saat menggunakan torchrun/torch.distributed.run sebagai launcher. Gunakan dengan βtee untuk mengalihkan stream std ke file log.--role(str) β Peran yang didefinisikan pengguna untuk para worker.--rdzv_backend(str) β Metode rendezvous yang akan digunakan, seperti βstaticβ (default) atau βc10dβ--rdzv_conf(str) β Konfigurasi rendezvous tambahan (<key1>=<value1>,<key2>=<value2>,β¦).--max_restarts(int) β Jumlah maksimum restart grup worker sebelum gagal.--monitor_interval(int) β Interval, dalam detik, untuk memantau status worker.
Argumen TPU:
Argumen berikut hanya berguna ketika tpu diteruskan atau pelatihan TPU dikonfigurasi melalui accelerate config:
--tpu_cluster(bool) β Apakah akan menggunakan pod TPU GCP untuk pelatihan.--tpu_use_sudo(bool) β Apakah akan menggunakansudosaat menjalankan skrip pelatihan TPU di setiap pod.--vm(str) β Daftar nama instance Compute VM tunggal. Jika tidak disediakan, kami mengasumsikan penggunaan instance groups. Untuk TPU pods.--env(str) β Daftar variabel lingkungan yang akan disetel pada instance Compute VM. Untuk pod TPU.--main_training_function(str) β Nama fungsi utama yang akan dieksekusi dalam skrip Anda (hanya untuk pelatihan TPU).--downcast_bf16(bool) β Apakah saat menggunakan presisi bf16 pada TPU, tensor float dan double sama-sama di-cast menjadi bfloat16, atau tensor double tetap sebagai float32.
Argumen DeepSpeed:
Argumen berikut hanya berguna ketika use_deepspeed diteruskan atau deepspeed dikonfigurasi melalui accelerate config:
--deepspeed_config_file(str) β File konfigurasi DeepSpeed.--zero_stage(int) β Tahap optimasi ZeRO dari DeepSpeed.--offload_optimizer_device(str) β Menentukan di mana (none|cpu|nvme) untuk meng-offload state optimizer.--offload_param_device(str) β Menentukan di mana (none|cpu|nvme) parameter akan di-offload.--offload_optimizer_nvme_path(str) β Menentukan Nvme Path untuk offload optimizer states.--gradient_accumulation_steps(int) β Jumlah gradient_accumulation_steps yang digunakan dalam skrip pelatihan Anda.--gradient_clipping(float) β Nilai gradient clipping yang digunakan dalam skrip pelatihan Anda.--zero3_init_flag(str) β Menentukan apakah (true|false) akan mengaktifkandeepspeed.zero.Inituntuk membangun model berukuran besar. Hanya berlaku dengan DeepSpeed ZeRO Stage-3.--zero3_save_16bit_model(str) β Menentukan apakah (true|false) bobot model 16-bit akan disimpan saat menggunakan ZeRO Stage-3. Hanya berlaku dengan DeepSpeed ZeRO Stage-3.--deepspeed_hostfile(str) β DeepSpeed hostfile untuk mengatur sumber daya komputasi multi-node.--deepspeed_exclusion_filter(str) β String filter pengecualian DeepSpeed saat menggunakan setup multi-node.--deepspeed_inclusion_filter(str) β String filter inklusi DeepSpeed saat menggunakan setup multi-node.--deepspeed_multinode_launcher(str) β DeepSpeed multi-node launcher yang akan digunakan.--deepspeed_moe_layer_cls_names(str) β daftar nama kelas layer MoE transformer yang dipisahkan koma (peka huruf besar/kecil) untuk dibungkus, misalnyaMixtralSparseMoeBlockQwen2MoeSparseMoeBlock,JetMoEAttention,JetMoEBlock
Argumen Fully Sharded Data Parallelism:
Argumen berikut hanya berguna ketika use_fsdp diteruskan atau Fully Sharded Data Parallelism dikonfigurasi melalui accelerate config:
--fsdp_offload_params(str) β Menentukan apakah (true|false) parameter dan gradien akan di-offload ke CPU.--fsdp_min_num_params(int) β Jumlah parameter minimum FSDP untuk Default Auto Wrapping.--fsdp_sharding_strategy(int) β Strategi Sharding FSDP.--fsdp_auto_wrap_policy(str) β kebijakan auto wrap FSDP.--fsdp_transformer_layer_cls_to_wrap(str) β Nama kelas layer Transformer (case-sensitive) yang akan dibungkus, misalnyaBertLayer,GPTJBlock,T5Blockβ¦--fsdp_backward_prefetch_policy(str) β kebijakan prefetch backward FSDP.--fsdp_state_dict_type(str) β tipe state dict FSDP.--fsdp_forward_prefetch(str) β FSDP forward prefetch.--fsdp_use_orig_params(str) β Jika True, memungkinkanrequires_gradyang tidak seragam dicampur dalam unit FSDP.--fsdp_cpu_ram_efficient_loading(str) β Jika true, hanya proses pertama yang memuat checkpoint model pretrained, sementara semua proses lainnya memiliki bobot kosong. Saat menggunakan ini,--fsdp_sync_module_statesharus True.--fsdp_sync_module_states(str) β Jika true, setiap unit FSDP yang dibungkus secara individual akan menyiarkan parameter modul dari rank 0.--fsdp_activation_checkpointing(bool) β Menentukan apakah aktivasi antara dibebaskan selama forward pass, dan checkpoint ditinggalkan sebagai placeholder
Argumen Megatron-LM:
Argumen berikut hanya berguna ketika use_megatron_lm diteruskan atau Megatron-LM dikonfigurasi melalui accelerate config:
--megatron_lm_tp_degree(β) β Derajat Tensor Parallelism (TP) Megatron-LM.--megatron_lm_pp_degree(β) β Derajat Pipeline Parallelism (PP) Megatron-LM.--megatron_lm_num_micro_batches(β) β Jumlah micro batch Megatron-LM ketika derajat PP > 1.--megatron_lm_sequence_parallelism(β) β Menentukan apakah (true|false) Sequence Parallelism diaktifkan ketika derajat TP > 1.--megatron_lm_recompute_activations(β) β Menentukan apakah (true|false) mengaktifkan Selective Activation Recomputation.--megatron_lm_use_distributed_optimizer(β) β Menentukan (true|false) apakah akan menggunakan distributed optimizer yang membagi (sharding) state optimizer dan gradien di antara rank Data Parallel (DP).--megatron_lm_gradient_clipping(β) β Nilai gradient clipping Megatron-LM berdasarkan global L2 Norm (0 untuk menonaktifkan).
Argumen FP8:
--fp8_backend(str) β Pilih backend untuk melatih dengan FP8 (aoataute)--fp8_use_autocast_during_eval(bool) β Apakah akan menggunakan FP8 autocast selama mode eval (berguna hanya ketika--fp8_backend=tediberikan). Umumnya, metrik yang lebih baik ditemukan ketika opsi ini tidak diberikan.--fp8_margin(int) β Margin yang digunakan untuk penskalaan gradien (hanya berguna ketika--fp8_backend=tediberikan).--fp8_interval(int) β Interval yang digunakan untuk seberapa sering scaling factor dihitung ulang (berguna hanya ketika--fp8_backend=tediberikan).--fp8_format(str) β Format yang digunakan untuk resep FP8 (hanya berguna ketika--fp8_backend=tediberikan).--fp8_amax_history_len(int) β Panjang riwayat yang digunakan untuk perhitungan faktor penskalaan (hanya berguna ketika--fp8_backend=tediberikan).--fp8_amax_compute_algo(str) β Algoritma yang digunakan untuk perhitungan faktor penskalaan. (berguna hanya ketika--fp8_backend=tediteruskan).--fp8_override_linear_precision(Tuple[bool, bool, bool]) β Apakah akan mengeksekusi GEMMfprop,dgrad, danwgraddalam presisi yang lebih tinggi.
Argumen AWS SageMaker:
Argumen berikut hanya berguna saat melatih di SageMaker
--aws_access_key_id AWS_ACCESS_KEY_ID(str) β AWS_ACCESS_KEY_ID yang digunakan untuk meluncurkan Amazon SageMaker training job--aws_secret_access_key AWS_SECRET_ACCESS_KEY(str) β AWS_SECRET_ACCESS_KEY yang digunakan untuk meluncurkan Amazon SageMaker training job
accelerate estimate-memory
Perintah:
accelerate estimate-memory atau accelerate-estimate-memory atau python -m accelerate.commands.estimate
Mengestimasi total vRAM yang dibutuhkan untuk memuat model tertentu yang di-host di Hub, dengan estimasi untuk pelatihan. Memerlukan huggingface_hub terinstal.
Saat melakukan inferensi, biasanya tambahkan β€20% ke hasil sebagai alokasi keseluruhan seperti yang dirujuk di sini. Kami akan memiliki estimasi yang lebih luas di masa depan yang secara otomatis akan disertakan dalam perhitungan.
Penggunaan:
accelerate estimate-memory {MODEL_NAME} --library_name {LIBRARY_NAME} --dtypes {dtype_1} {dtype_2} ...Argumen Wajib:
MODEL_NAME(str)β Nama model di Hugging Face Hub
Argumen Opsional:
--library_name {timm,transformers}(str) β Perpustakaan yang memiliki integrasi dengan model, sepertitransformers, hanya diperlukan jika informasi ini tidak disimpan di Hub--dtypes {float32,float16,int8,int4}([{float32,float16,int8,int4} ...]) β dtype yang akan digunakan untuk model, harus salah satu (atau beberapa) darifloat32,float16,int8, danint4--trust_remote_code(bool) β Apakah model kustom yang didefinisikan di Hub dalam file modeling mereka sendiri diizinkan atau tidak. Opsi ini hanya harus diteruskan untuk repositori yang Anda percaya dan yang kodenya telah Anda baca, karena opsi ini akan mengeksekusi kode yang ada di Hub pada mesin lokal Anda.
accelerate tpu-config
accelerate tpu-config
Penggunaan:
accelerate tpu-config [arguments]
Argumen Opsional:
-h,--help(bool) β Tampilkan pesan bantuan dan keluar
Argumen Konfigurasi:
Argumen yang dapat dikonfigurasi melalui accelerate config.
--config_file(str) β Path ke file konfigurasi yang akan digunakan untuk accelerate.--tpu_name(str) β Nama TPU yang akan digunakan. Jika tidak ditentukan, akan menggunakan TPU yang ditentukan dalam file konfigurasi.--tpu_zone(str) β Zona TPU yang akan digunakan. Jika tidak ditentukan, zona yang ditentukan dalam file konfigurasi akan digunakan.
Argumen TPU:
Argumen untuk opsi yang dijalankan di dalam TPU.
--command_file(str) β Path ke file yang berisi perintah untuk dijalankan pada pod saat startup.--command(str) β Perintah untuk dijalankan pada pod. Dapat diberikan beberapa kali.--install_accelerate(bool) β Apakah akan menginstal accelerate pada pod. Defaultnya False.--accelerate_version(str) β Versi accelerate yang akan diinstal pada pod. Jika tidak ditentukan, versi pypi terbaru akan digunakan. Tentukan βdevβ untuk menginstal dari GitHub.--debug(bool) β Jika diset, akan mencetak perintah yang akan dijalankan alih-alih menjalankannya.
accelerate test
accelerate test atau accelerate-test
Menjalankan accelerate/test_utils/test_script.py untuk memverifikasi bahwa π€ Accelerate telah dikonfigurasi dengan benar di sistem Anda dan dapat berjalan.
Penggunaan:
accelerate test [arguments]Argumen Opsional:
--config_file CONFIG_FILE(str) β Path yang digunakan untuk menyimpan file konfigurasi. Secara default, akan menggunakan file bernama default_config.yaml di lokasi cache, yaitu isi dari environmentHF_HOMEyang diberi akhiran βaccelerateβ, atau jika Anda tidak memiliki variabel environment tersebut, direktori cache Anda (~/.cacheatau isi dariXDG_CACHE_HOME) yang diberi akhiranhuggingface.-h,--help(bool) β Tampilkan pesan bantuan dan keluar