Accelerate

介绍

Accelerate是Hugging Face中的一个分布式训练工具,可以让用户在不需要更改任何代码的情况下,将单机训练转换为分布式训练。它提供了多种加速策略,如pipeline并行、数据并行等,可以帮助用户更好地利用多台机器的计算资源,大幅提高模型的训练速度。

Accelerate (huggingface.co)

使用

首先,确保安装了accelerate命令。没有安装的话执行

pip install accelerate

生成配置文件

accelerate-config  //通过在终端中回答一系列问题生成配置文件

以使用过的为例:

compute_environment: LOCAL_MACHINE
distributed_type: MULTI_GPU
downcast_bf16: 'no'
gpu_ids: all
machine_rank: 0
main_process_ip: 10.99.16.16
main_process_port: 5002
main_training_function: main
mixed_precision: fp16
num_machines: 4
num_processes: 4
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

其他accelerate执行:

accelerate-env:验证配置文件的合法性
accelerate-launch:运行自己的python文件(主要)
accelerate-test:运行accelerate默认的神经网络模型来测试环境是否可以。

生成的配置文件通常保存在根目录.catch/huggingface/accelerate目录下。

image-20230903213427848

文章作者: MakerGao
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MakerGao
喜欢就支持一下吧