命令行
以下是所有可用的 🤗 Accelerate 命令及其参数列表
accelerate config
命令:
accelerate config
或 accelerate-config
启动一系列提示,以创建并保存一个 default_config.yml
配置文件,用于你的训练系统。应在你的机器上首次运行此命令。
用法:
accelerate config [arguments]
可选参数:
--config_file CONFIG_FILE
(str
) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为default_config.yaml
的文件,该位置是环境变量HF_HOME
的内容后缀为accelerate
,或者如果你没有这样的环境变量,则为缓存目录(~/.cache
或XDG_CACHE_HOME
的内容)后缀为huggingface
。-h
,--help
(bool
) -- 显示帮助信息并退出
accelerate config default
命令:
accelerate config default
或 accelerate-config default
创建一个默认的配置文件,其中只设置了一些标志。
用法:
accelerate config default [arguments]
可选参数:
--config_file CONFIG_FILE
(str
) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为default_config.yaml
的文件,该位置是环境变量HF_HOME
的内容后缀为accelerate
,或者如果你没有这样的环境变量,则为缓存目录(~/.cache
或XDG_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 update
或 accelerate-config update
使用最新的默认值更新现有的配置文件,同时保留旧的配置。
用法:
accelerate config update [arguments]
可选参数:
--config_file CONFIG_FILE
(str
) -- 要更新的配置文件的路径。默认为缓存位置中的default_config.yaml
文件,该位置是环境变量HF_HOME
的内容后缀为accelerate
,或者如果你没有设置该环境变量,则为缓存目录(~/.cache
或XDG_CACHE_HOME
的内容)后缀为huggingface
。-h
,--help
(bool
) -- 显示帮助信息并退出
accelerate env
命令:
accelerate env
或 accelerate-env
或 python -m accelerate.commands.env
列出传递的 🤗 Accelerate 配置文件的内容。在 GitHub 仓库 上打开问题时应始终使用此命令。
用法:
accelerate env [arguments]
可选参数:
--config_file CONFIG_FILE
(str
) -- 用于存储配置文件的路径。默认为缓存位置中的default_config.yaml
文件,该位置是环境变量HF_HOME
的内容后缀为accelerate
,或者如果你没有设置该环境变量,则为缓存目录(~/.cache
或XDG_CACHE_HOME
的内容)后缀为huggingface
。-h
,--help
(bool
) -- 显示帮助信息并退出
accelerate launch
命令:
accelerate launch
或 accelerate-launch
或 python -m accelerate.commands.launch
在分布式系统上启动指定的脚本,并使用正确的参数。
用法:
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 配置
用法:
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} ...]
) -- 模型使用的数据类型,必须是float32
、float16
、int8
和int4
中的一个或多个--trust_remote_code
(bool
) -- 是否允许在 Hub 上定义的自定义模型在其自己的建模文件中使用。此选项仅应在你信任的仓库中使用,并且你已阅读了代码,因为它将在你的本地机器上执行 Hub 上的代码。
accelerate tpu-config
accelerate tpu-config
用法:
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 test
或 accelerate-test
运行 accelerate/test_utils/test_script.py
以验证 🤗 Accelerate 是否已正确配置并在你的系统上运行。
用法:
accelerate test [arguments]
可选参数:
--config_file CONFIG_FILE
(str
) -- 用于存储配置文件的路径。默认为缓存位置中的一个名为default_config.yaml
的文件,该位置是环境变量HF_HOME
的内容后缀为accelerate
,或者如果你没有这样的环境变量,则为缓存目录(~/.cache
或XDG_CACHE_HOME
的内容)后缀为huggingface
。-h
,--help
(bool
) -- 显示帮助信息并退出