Accelerate documentation

Dòng lệnh

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

Dòng lệnh

Dưới đây là danh sách tất cả các lệnh có sẵn của 🤗 Accelerate cùng với các tham số của chúng

accelerate config

Lệnh:

accelerate config hoặc accelerate-config

Khởi chạy một loạt các lệnh nhắc để tạo và lưu tệp cấu hình default_config.yml cho hệ thống huấn luyện của bạn. Luôn phải chạy lệnh này đầu tiên trên máy của bạn.

Cách sử dụng:

accelerate config [arguments]

Các đối số tùy chọn:

  • --config_file CONFIG_FILE (str) — Đường dẫn để lưu tệp cấu hình. Mặc định sẽ là tệp có tên default_config.yaml trong vị trí cache, tức là nội dung của biến môi trường HF_HOME được thêm hậu tố ‘accelerate’, hoặc nếu bạn không có biến môi trường đó, thì là thư mục cache của bạn (~/.cache hoặc nội dung của XDG_CACHE_HOME) được thêm hậu tố huggingface.
  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát

accelerate config default

Lệnh:

accelerate config default hoặc accelerate-config default

Tạo một tệp cấu hình mặc định cho Accelerate với chỉ một vài cờ được đặt.

Cách sử dụng:

accelerate config default [arguments]

Các đối số tùy chọn:

  • --config_file CONFIG_FILE (str) — Đường dẫn để lưu tệp cấu hình. Mặc định sẽ là tệp có tên default_config.yaml trong vị trí cache, tức là nội dung của biến môi trường HF_HOME được thêm hậu tố ‘accelerate’, hoặc nếu bạn không có biến môi trường đó, thì là thư mục cache của bạn (~/.cache hoặc nội dung của XDG_CACHE_HOME) được thêm hậu tố huggingface.

  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát

  • --mixed_precision {no,fp16,bf16} (str) — Có sử dụng huấn luyện độ chính xác hỗn hợp hay không. Chọn giữa huấn luyện FP16 và BF16 (bfloat16). Huấn luyện BF16 chỉ được hỗ trợ trên GPU Nvidia Ampere và PyTorch 1.10 trở lên.

accelerate config update

Lệnh:

accelerate config update hoặc accelerate-config update

Cập nhật tệp cấu hình hiện có với các giá trị mặc định mới nhất trong khi vẫn giữ nguyên cấu hình cũ.

Cách sử dụng:

accelerate config update [arguments]

Các đối số tùy chọn:

  • --config_file CONFIG_FILE (str) — Đường dẫn đến tệp cấu hình cần cập nhật. Mặc định sẽ là tệp có tên default_config.yaml trong vị trí cache, tức là nội dung của biến môi trường HF_HOME được nối thêm ‘accelerate’, hoặc nếu bạn không có biến môi trường đó, sẽ là thư mục cache của bạn (~/.cache hoặc nội dung của XDG_CACHE_HOME) được nối thêm huggingface.

  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát

accelerate env

Lệnh:

accelerate env hoặc accelerate-env hoặc python -m accelerate.commands.env

Liệt kê nội dung của tệp cấu hình 🤗 Accelerate được truyền vào. Luôn nên sử dụng khi mở một issue trên kho GitHub.

Cách sử dụng:

accelerate env [arguments]

Các đối số tùy chọn:

  • --config_file CONFIG_FILE (str) — Đường dẫn để lưu tệp cấu hình. Mặc định sẽ là tệp có tên default_config.yaml trong vị trí cache, tức là nội dung của biến môi trường HF_HOME được thêm hậu tố ‘accelerate’, hoặc nếu bạn không có biến môi trường đó, thì là thư mục cache của bạn (~/.cache hoặc nội dung của XDG_CACHE_HOME) được thêm hậu tố huggingface.
  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát

accelerate launch

Lệnh:

accelerate launch hoặc accelerate-launch hoặc python -m accelerate.commands.launch

Khởi chạy một script được chỉ định trên hệ thống phân tán với các tham số phù hợp.

Cách sử dụng:

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

Tham số vị trí:

  • {training_script} — Đường dẫn đầy đủ đến script sẽ được khởi chạy song song
  • --{training_script-argument-1} — Các đối số của script huấn luyện

Các đối số tùy chọn:

  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát
  • --config_file CONFIG_FILE (str)— Tệp cấu hình được sử dụng cho các giá trị mặc định trong script khởi chạy.
  • -m, --module (bool) — Thay đổi mỗi tiến trình để diễn giải script khởi chạy như một module Python, thực thi với cùng hành vi như ‘python -m’.
  • --no_python (bool) — Bỏ qua việc thêm ‘python’ trước script huấn luyện - chỉ thực thi trực tiếp. Hữu ích khi script không phải là script Python.
  • --debug (bool) — Có in ra stack trace của torch.distributed khi có lỗi xảy ra hay không.
  • -q, --quiet (bool) — Ẩn các lỗi con tiến trình từ stack trace khởi chạy để chỉ hiển thị các traceback liên quan. (Chỉ áp dụng cho cấu hình DeepSpeed và đơn tiến trình).

Các đối số còn lại được cấu hình thông qua accelerate config và được đọc từ --config_file được chỉ định (hoặc cấu hình mặc định) để lấy giá trị. Chúng cũng có thể được truyền vào thủ công.

Các đối số chọn phần cứng:

  • --cpu (bool) — Có hay không ép quá trình huấn luyện chạy trên CPU.
  • --multi_gpu (bool) — Xác định có nên khởi động huấn luyện GPU phân tán hay không.
  • --tpu (bool) — Xác định có khởi động huấn luyện TPU hay không.

Các đối số chọn tài nguyên:

Các đối số sau đây hữu ích để tinh chỉnh cách phần cứng khả dụng nên được sử dụng

  • --mixed_precision {no,fp16,bf16,fp8} (str) — Có sử dụng huấn luyện độ chính xác hỗn hợp hay không. Chọn giữa huấn luyện FP16 và BF16 (bfloat16). Huấn luyện BF16 chỉ được hỗ trợ trên GPU Nvidia Ampere và PyTorch 1.10 trở lên.
  • --num_processes NUM_PROCESSES (int) — Tổng số tiến trình được khởi chạy song song.
  • --num_machines NUM_MACHINES (int) — Tổng số máy được sử dụng trong quá trình huấn luyện này.
  • --num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS (int) — Số luồng CPU cho mỗi tiến trình. Có thể điều chỉnh để đạt hiệu suất tối ưu.
  • --enable_cpu_affinity (bool) — Xác định có bật tính năng gắn kết và cân bằng CPU hay không. Hiện tại chỉ hỗ trợ trên phần cứng NVIDIA.

Đối số của phương pháp huấn luyện:

Các đối số sau đây hữu ích để chọn lựa phương pháp huấn luyện cần sử dụng.

  • --use_deepspeed (bool) — Có sử dụng DeepSpeed cho việc huấn luyện hay không.
  • --use_fsdp (bool) — Có sử dụng FullyShardedDataParallel cho huấn luyện hay không.
  • --use_megatron_lm (bool) — Có sử dụng Megatron-LM cho việc huấn luyện hay không.

Tham số GPU phân tán:

Các đối số sau chỉ hữu ích khi multi_gpu được truyền vào hoặc khi huấn luyện đa GPU được cấu hình thông qua accelerate config:

  • --gpu_ids (str) — Danh sách các GPU (theo id) cần được sử dụng để huấn luyện trên máy này, phân tách bằng dấu phẩy
  • --same_network (bool) — Xác định xem tất cả các máy được sử dụng cho huấn luyện đa nút có nằm trên cùng một mạng cục bộ hay không.
  • --machine_rank (int) — Bậc của máy mà trên đó script này được khởi chạy.
  • --main_process_ip (str) — Địa chỉ IP của máy có rank 0.
  • --main_process_port (int) — Cổng được sử dụng để liên lạc với máy có rank 0.
  • -t, --tee (str) — Tee các luồng std vào tệp nhật ký và đồng thời ra console.
  • --log_dir (str) — Thư mục gốc để sử dụng cho các tệp nhật ký khi dùng torchrun/torch.distributed.run làm trình khởi chạy. Dùng cùng với —tee để chuyển hướng luồng std sang các tệp nhật ký.
  • --role (str) — Vai trò do người dùng định nghĩa cho các worker.
  • --rdzv_backend (str) — Phương pháp rendezvous cần sử dụng, chẳng hạn như ‘static’ (mặc định) hoặc ‘c10d’
  • --rdzv_conf (str) — Cấu hình rendezvous bổ sung (<key1>=<value1>,<key2>=<value2>,…).
  • --max_restarts (int) — Số lần khởi động lại nhóm worker tối đa trước khi thất bại.
  • --monitor_interval (int) — Khoảng thời gian, tính bằng giây, để theo dõi trạng thái của các worker.

Đối số TPU:

Các đối số sau chỉ hữu ích khi tpu được truyền vào hoặc khi huấn luyện TPU được cấu hình thông qua accelerate config:

  • --tpu_cluster (bool) — Có sử dụng GCP TPU pod để huấn luyện hay không.
  • --tpu_use_sudo (bool) — Có sử dụng sudo khi chạy script huấn luyện TPU trong mỗi pod hay không.
  • --vm (str) — Danh sách tên của các instance Compute VM đơn lẻ. Nếu không được cung cấp, chúng tôi giả định việc sử dụng các nhóm instance. Dành cho các pod TPU.
  • --env (str) — Danh sách các biến môi trường cần thiết lập trên các instance Compute VM. Dành cho TPU pods.
  • --main_training_function (str) — Tên của hàm chính sẽ được thực thi trong script của bạn (chỉ dành cho huấn luyện TPU).
  • --downcast_bf16 (bool) — Khi sử dụng độ chính xác bf16 trên TPU, xác định xem cả tensor float và double có được chuyển sang bfloat16 hay tensor double vẫn giữ nguyên dạng float32.

Tham số DeepSpeed:

Các đối số sau chỉ hữu ích khi use_deepspeed được truyền vào hoặc deepspeed được cấu hình thông qua accelerate config:

  • --deepspeed_config_file (str) — Tệp cấu hình DeepSpeed.
  • --zero_stage (int) — Giai đoạn tối ưu hóa ZeRO của DeepSpeed.
  • --offload_optimizer_device (str) — Xác định vị trí (none|cpu|nvme) để offload trạng thái optimizer.
  • --offload_param_device (str) — Xác định vị trí (none|cpu|nvme) để offload các tham số.
  • --offload_optimizer_nvme_path (str) — Xác định đường dẫn Nvme để offload trạng thái optimizer.
  • --gradient_accumulation_steps (int) — Số lượng gradient_accumulation_steps được sử dụng trong script huấn luyện của bạn.
  • --gradient_clipping (float) — Giá trị cắt gradient được sử dụng trong script huấn luyện của bạn.
  • --zero3_init_flag (str) — Xác định (true|false) việc bật deepspeed.zero.Init để xây dựng các mô hình có quy mô lớn. Chỉ áp dụng với DeepSpeed ZeRO Stage-3.
  • --zero3_save_16bit_model (str) — Quyết định (true|false) việc lưu trọng số mô hình 16-bit khi sử dụng ZeRO Stage-3. Chỉ áp dụng với DeepSpeed ZeRO Stage-3.
  • --deepspeed_hostfile (str) — DeepSpeed hostfile để cấu hình tài nguyên tính toán đa nút.
  • --deepspeed_exclusion_filter (str) — Chuỗi bộ lọc loại trừ của DeepSpeed khi sử dụng cấu hình đa nút.
  • --deepspeed_inclusion_filter (str) — Chuỗi bộ lọc bao gồm của DeepSpeed khi sử dụng cấu hình đa nút.
  • --deepspeed_multinode_launcher (str) — Bộ khởi chạy đa nút của DeepSpeed cần sử dụng.
  • --deepspeed_moe_layer_cls_names (str) — danh sách các tên lớp của lớp transformer MoE (phân biệt hoa thường) được phân tách bằng dấu phẩy để bọc, ví dụ: MixtralSparseMoeBlock Qwen2MoeSparseMoeBlock, JetMoEAttention,JetMoEBlock

Các đối số của Fully Sharded Data Parallelism:

Các đối số sau chỉ hữu ích khi use_fsdp được truyền vào hoặc Fully Sharded Data Parallelism được cấu hình thông qua accelerate config:

  • --fsdp_offload_params (str) — Quyết định (true|false) việc offload tham số và gradient sang CPU.
  • --fsdp_min_num_params (int) — Số lượng tham số tối thiểu của FSDP cho Default Auto Wrapping.
  • --fsdp_sharding_strategy (int) — Chiến lược Sharding của FSDP.
  • --fsdp_auto_wrap_policy (str) — Chính sách tự động bọc (auto wrap) của FSDP.
  • --fsdp_transformer_layer_cls_to_wrap (str) — Tên lớp (case-sensitive) của layer Transformer cần bọc, ví dụ: BertLayer, GPTJBlock, T5Block …
  • --fsdp_backward_prefetch_policy (str) — Chính sách prefetch ngược của FSDP.
  • --fsdp_state_dict_type (str) — Kiểu state dict của FSDP.
  • --fsdp_forward_prefetch (str) — FSDP forward prefetch.
  • --fsdp_use_orig_params (str) — Nếu là True, cho phép requires_grad không đồng nhất được trộn lẫn trong một đơn vị FSDP.
  • --fsdp_cpu_ram_efficient_loading (str) — Nếu true, chỉ tiến trình đầu tiên tải checkpoint mô hình được huấn luyện trước trong khi tất cả các tiến trình khác có trọng số rỗng. Khi sử dụng tùy chọn này, --fsdp_sync_module_states cần được đặt thành True.
  • --fsdp_sync_module_states (str) — Nếu là true, mỗi đơn vị FSDP được bọc riêng lẻ sẽ phát trực tiếp (broadcast) các tham số module từ rank 0.
  • --fsdp_activation_checkpointing (bool) — Quyết định xem các activation trung gian có được giải phóng trong quá trình forward không, và một checkpoint có được giữ lại như một placeholder không

Tham số Megatron-LM:

Các đối số sau chỉ hữu ích khi use_megatron_lm được truyền vào hoặc Megatron-LM được cấu hình thông qua accelerate config:

  • --megatron_lm_tp_degree (“) — Độ Tensor Parallelism (TP) của Megatron-LM.
  • --megatron_lm_pp_degree (“) — Độ Pipeline Parallelism (PP) của Megatron-LM.
  • --megatron_lm_num_micro_batches (“) — Số lượng micro batches của Megatron-LM khi độ PP > 1.
  • --megatron_lm_sequence_parallelism (“) — Xác định (true|false) việc bật Sequence Parallelism khi độ TP > 1.
  • --megatron_lm_recompute_activations (“) — Xác định (true|false) việc bật Selective Activation Recomputation.
  • --megatron_lm_use_distributed_optimizer (“) — Quyết định (true|false) có sử dụng distributed optimizer, vốn chia nhỏ trạng thái optimizer và gradients trên các rank Data Parallel (DP) hay không.
  • --megatron_lm_gradient_clipping (“) — Giá trị cắt gradient của Megatron-LM dựa trên chuẩn L2 toàn cục (0 để tắt).

Tham số FP8:

  • --fp8_backend (str) — Chọn một backend để huấn luyện với FP8 (ao hoặc te)
  • --fp8_use_autocast_during_eval (bool) — Có sử dụng FP8 autocast trong chế độ eval hay không (chỉ hữu ích khi --fp8_backend=te được truyền vào). Thông thường, các chỉ số tốt hơn được tìm thấy khi không truyền tham số này.
  • --fp8_margin (int) — Biên độ sử dụng cho việc chuẩn hóa gradient (chỉ hữu ích khi --fp8_backend=te được truyền vào).
  • --fp8_interval (int) — Khoảng thời gian để tính lại hệ số tỷ lệ (chỉ hữu ích khi truyền --fp8_backend=te).
  • --fp8_format (str) — Định dạng cần dùng cho công thức FP8 (chỉ hữu ích khi --fp8_backend=te được truyền vào).
  • --fp8_amax_history_len (int) — Độ dài của lịch sử được sử dụng để tính hệ số tỷ lệ (chỉ hữu ích khi truyền --fp8_backend=te).
  • --fp8_amax_compute_algo (str) — Thuật toán được sử dụng để tính hệ số tỷ lệ (chỉ hữu ích khi --fp8_backend=te được truyền vào).
  • --fp8_override_linear_precision (Tuple[bool, bool, bool]) — Xác định có thực hiện các GEMM fprop, dgrad và wgrad ở độ chính xác cao hơn hay không.

Tham số AWS SageMaker:

Các đối số sau chỉ hữu ích khi huấn luyện trên SageMaker

  • --aws_access_key_id AWS_ACCESS_KEY_ID (str) — AWS_ACCESS_KEY_ID được sử dụng để khởi chạy tác vụ huấn luyện Amazon SageMaker
  • --aws_secret_access_key AWS_SECRET_ACCESS_KEY (str) — AWS_SECRET_ACCESS_KEY được sử dụng để khởi chạy tác vụ huấn luyện Amazon SageMaker

accelerate estimate-memory

Lệnh:

accelerate estimate-memory hoặc accelerate-estimate-memory hoặc python -m accelerate.commands.estimate

Ước tính tổng dung lượng vRAM cần thiết để nạp một mô hình cụ thể được lưu trữ trên Hub, kèm theo ước tính cho quá trình huấn luyện. Yêu cầu phải cài đặt huggingface_hub.

Khi thực hiện suy luận, thường cộng thêm ≤20% vào kết quả như tổng phân bổ như được tham chiếu tại đây. Trong tương lai, chúng tôi sẽ có các ước tính chi tiết hơn và chúng sẽ được tự động đưa vào phép tính.

Cách sử dụng:

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

Các đối số bắt buộc:

  • MODEL_NAME (str)— Tên mô hình trên Hugging Face Hub

Các đối số tùy chọn:

  • --library_name {timm,transformers} (str) — Thư viện mà mô hình có tích hợp, chẳng hạn như transformers, chỉ cần thiết nếu thông tin này không được lưu trên Hub
  • --dtypes {float32,float16,int8,int4} ([{float32,float16,int8,int4} ...]) — Các dtype cần sử dụng cho mô hình, phải là một (hoặc nhiều) trong số float32, float16, int8 và int4
  • --trust_remote_code (bool) — Cho phép hay không cho phép các model tùy chỉnh được định nghĩa trên Hub trong các file modeling riêng của chúng. Chỉ nên truyền tùy chọn này cho các repository mà bạn tin tưởng và đã đọc qua mã nguồn, vì nó sẽ thực thi mã có sẵn trên Hub trên máy cục bộ của bạn.

accelerate tpu-config

accelerate tpu-config

Cách sử dụng:

accelerate tpu-config [arguments]

Các đối số tùy chọn:

  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát

Tham số cấu hình:

Các đối số có thể được cấu hình thông qua accelerate config.

  • --config_file (str) — Đường dẫn đến tệp cấu hình để sử dụng cho accelerate.
  • --tpu_name (str) — Tên của TPU cần sử dụng. Nếu không được chỉ định, sẽ sử dụng TPU được chỉ định trong tệp cấu hình.
  • --tpu_zone (str) — Zone của TPU cần sử dụng. Nếu không được chỉ định, sẽ sử dụng zone được chỉ định trong tệp cấu hình.

Đối số TPU:

Các đối số cho các tùy chọn được chạy bên trong TPU.

  • --command_file (str) — Đường dẫn đến tệp chứa các lệnh cần chạy trên pod khi khởi động.
  • --command (str) — Lệnh để chạy trên pod. Có thể truyền nhiều lần.
  • --install_accelerate (bool) — Xác định có cài đặt accelerate trên pod hay không. Mặc định là False.
  • --accelerate_version (str) — Phiên bản của accelerate cần cài đặt trên pod. Nếu không được chỉ định, sẽ sử dụng phiên bản pypi mới nhất. Chỉ định ‘dev’ để cài đặt từ GitHub.
  • --debug (bool) — Nếu được đặt, sẽ in ra lệnh sẽ được thực thi thay vì thực thi nó.

accelerate test

accelerate test hoặc accelerate-test

Chạy accelerate/test_utils/test_script.py để xác minh rằng 🤗 Accelerate đã được cấu hình đúng trên hệ thống của bạn và có thể chạy được.

Cách sử dụng:

accelerate test [arguments]

Các đối số tùy chọn:

  • --config_file CONFIG_FILE (str) — Đường dẫn để lưu tệp cấu hình. Mặc định sẽ là tệp có tên default_config.yaml trong vị trí cache, tức là nội dung của biến môi trường HF_HOME được thêm hậu tố ‘accelerate’, hoặc nếu bạn không có biến môi trường đó, thì là thư mục cache của bạn (~/.cache hoặc nội dung của XDG_CACHE_HOME) được thêm hậu tố huggingface.
  • -h, --help (bool) — Hiển thị thông tin trợ giúp và thoát
Update on GitHub