Skip to content

命令行

以下是所有可用的 🤗 Accelerate 命令及其参数列表

accelerate config

命令:

accelerate configaccelerate-config

启动一系列提示,以创建并保存一个 default_config.yml 配置文件,用于你的训练系统。应在你的机器上首次运行此命令。

用法:

bash
accelerate config [arguments]

可选参数:

  • --config_file CONFIG_FILE (str) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为 default_config.yaml 的文件,该位置是环境变量 HF_HOME 的内容后缀为 accelerate,或者如果你没有这样的环境变量,则为缓存目录(~/.cacheXDG_CACHE_HOME 的内容)后缀为 huggingface
  • -h, --help (bool) -- 显示帮助信息并退出

accelerate config default

命令:

accelerate config defaultaccelerate-config default

创建一个默认的配置文件,其中只设置了一些标志。

用法:

bash
accelerate config default [arguments]

可选参数:

  • --config_file CONFIG_FILE (str) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为 default_config.yaml 的文件,该位置是环境变量 HF_HOME 的内容后缀为 accelerate,或者如果你没有这样的环境变量,则为缓存目录(~/.cacheXDG_CACHE_HOME 的内容)后缀为 huggingface

  • -h, --help (bool) -- 显示帮助信息并退出

  • --mixed_precision {no,fp16,bf16} (str) -- 是否使用混合精度训练。选择 FP16 或 BF16(bfloat16)训练。BF16 训练仅支持 Nvidia Ampere GPU 和 PyTorch 1.10 或更高版本。

accelerate config update

命令:

accelerate config updateaccelerate-config update

使用最新的默认值更新现有的配置文件,同时保留旧的配置。

用法:

bash
accelerate config update [arguments]

可选参数:

  • --config_file CONFIG_FILE (str) -- 要更新的配置文件的路径。默认为缓存位置中的 default_config.yaml 文件,该位置是环境变量 HF_HOME 的内容后缀为 accelerate,或者如果你没有设置该环境变量,则为缓存目录(~/.cacheXDG_CACHE_HOME 的内容)后缀为 huggingface

  • -h, --help (bool) -- 显示帮助信息并退出

accelerate env

命令:

accelerate envaccelerate-envpython -m accelerate.commands.env

列出传递的 🤗 Accelerate 配置文件的内容。在 GitHub 仓库 上打开问题时应始终使用此命令。

用法:

bash
accelerate env [arguments]

可选参数:

  • --config_file CONFIG_FILE (str) -- 用于存储配置文件的路径。默认为缓存位置中的 default_config.yaml 文件,该位置是环境变量 HF_HOME 的内容后缀为 accelerate,或者如果你没有设置该环境变量,则为缓存目录(~/.cacheXDG_CACHE_HOME 的内容)后缀为 huggingface
  • -h, --help (bool) -- 显示帮助信息并退出

accelerate launch

命令:

accelerate launchaccelerate-launchpython -m accelerate.commands.launch

在分布式系统上启动指定的脚本,并使用正确的参数。

用法:

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

位置参数:

  • {training_script} -- 要并行启动的脚本的完整路径
  • --{training_script-argument-1} -- 训练脚本的参数

可选参数:

  • -h, --help (bool) -- 显示帮助信息并退出
  • --config_file CONFIG_FILE (str) -- 用于启动脚本中默认值的配置文件。
  • -m, --module (bool) -- 将每个进程更改为将启动脚本解释为 Python 模块,执行行为与 'python -m' 相同。
  • --no_python (bool) -- 跳过在训练脚本前添加 'python' - 直接执行脚本。当脚本不是 Python 脚本时非常有用。
  • --debug (bool) -- 当出现问题时是否打印出 torch.distributed 的堆栈跟踪。
  • -q, --quiet (bool) -- 静默子进程错误,仅显示相关的堆栈跟踪。仅适用于 DeepSpeed 和单进程配置。

其余参数通过 accelerate config 配置,并从指定的 --config_file(或默认配置)中读取其值。也可以手动传递。

硬件选择参数:

  • --cpu (bool) -- 是否强制在 CPU 上进行训练。
  • --multi_gpu (bool) -- 是否启动分布式 GPU 训练。
  • --tpu (bool) -- 是否启动 TPU 训练。
  • --ipex (bool) -- 是否启动 Intel Pytorch Extension (IPEX) 训练。

资源选择参数:

以下参数用于微调如何使用可用硬件

  • --mixed_precision {no,fp16,bf16,fp8} (str) -- 是否使用混合精度训练。选择 FP16 或 BF16 (bfloat16) 训练。BF16 训练仅支持 Nvidia Ampere GPU 和 PyTorch 1.10 或更高版本。
  • --num_processes NUM_PROCESSES (int) -- 要并行启动的总进程数。
  • --num_machines NUM_MACHINES (int) -- 用于此训练的总机器数。
  • --num_cpu_threads_per_process NUM_CPU_THREADS_PER_PROCESS (int) -- 每个进程的 CPU 线程数。可以调整以获得最佳性能。
  • --enable_cpu_affinity (bool) -- 是否启用 CPU 亲和性和平衡。目前仅支持 NVIDIA 硬件。

训练范式参数:

以下参数用于选择要使用的训练范式。

  • --use_deepspeed (bool) -- 是否使用 DeepSpeed 进行训练。
  • --use_fsdp (bool) -- 是否使用 FullyShardedDataParallel 进行训练。
  • --use_megatron_lm (bool) -- 是否使用 Megatron-LM 进行训练。
  • --use_xpu (bool) -- 是否使用 IPEX 插件加速 XPU 上的训练。

分布式 GPU 参数:

以下参数仅在传递 multi_gpu 或通过 accelerate config 配置多 GPU 训练时有用:

  • --gpu_ids (str) -- 以逗号分隔的列表形式指定此机器上用于训练的 GPU(按 ID)。
  • --same_network (bool) -- 用于多节点训练的所有机器是否在同一本地网络上。
  • --machine_rank (int) -- 启动此脚本的机器的排名。
  • --main_process_ip (str) -- 排名为 0 的机器的 IP 地址。
  • --main_process_port (int) -- 与排名为 0 的机器通信时使用的端口。
  • -t, --tee (str) -- 将标准流同时输出到日志文件和控制台。
  • --log_dir (str) -- 使用 torchrun/torch.distributed.run 作为启动器时,日志文件的基本目录。与 --tee 一起使用以将标准流信息重定向到日志文件。
  • --role (str) -- 用户定义的工作者角色。
  • --rdzv_backend (str) -- 要使用的 rendezvous 方法,例如 'static'(默认)或 'c10d'
  • --rdzv_conf (str) -- 额外的 rendezvous 配置

用法

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

必需参数:

  • MODEL_NAME (str)-- 模型在 Hugging Face Hub 上的名称

可选参数:

  • --library_name {timm,transformers} (str) -- 模型集成的库,例如 transformers,仅在 Hub 上未存储此信息时需要
  • --dtypes {float32,float16,int8,int4} ([{float32,float16,int8,int4} ...]) -- 模型使用的数据类型,必须是 float32float16int8int4 中的一个或多个
  • --trust_remote_code (bool) -- 是否允许在 Hub 上定义的自定义模型在其自己的建模文件中使用。此选项仅应在你信任的仓库中使用,并且你已阅读了代码,因为它将在你的本地机器上执行 Hub 上的代码。

accelerate tpu-config

accelerate tpu-config

用法:

bash
accelerate tpu-config [arguments]

可选参数:

  • -h, --help (bool) -- 显示帮助信息并退出

配置参数:

可以通过 accelerate config 配置的参数。

  • --config_file (str) -- 要使用的配置文件路径。
  • --tpu_name (str) -- 要使用的 TPU 名称。如果未指定,将使用配置文件中指定的 TPU。
  • --tpu_zone (str) -- 要使用的 TPU 区域。如果未指定,将使用配置文件中指定的区域。

TPU 参数:

在 TPU 内部运行的选项参数。

  • --command_file (str) -- 启动时在 Pod 上运行的命令文件路径。
  • --command (str) -- 在 Pod 上运行的命令。可以多次传递。
  • --install_accelerate (bool) -- 是否在 Pod 上安装 accelerate。默认为 False。
  • --accelerate_version (str) -- 要在 Pod 上安装的 accelerate 版本。如果未指定,将使用最新的 pypi 版本。指定 'dev' 从 GitHub 安装。
  • --debug (bool) -- 如果设置,将打印要运行的命令而不是实际运行它。

accelerate test

accelerate testaccelerate-test

运行 accelerate/test_utils/test_script.py 以验证 🤗 Accelerate 是否已正确配置并在你的系统上运行。

用法:

bash
accelerate test [arguments]

可选参数:

  • --config_file CONFIG_FILE (str) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为 default_config.yaml 的文件,该位置是环境变量 HF_HOME 的内容后缀为 accelerate,或者如果你没有这样的环境变量,则为缓存目录(~/.cacheXDG_CACHE_HOME 的内容)后缀为 huggingface
  • -h, --help (bool) -- 显示帮助信息并退出