Optimum 文档

使用 Optimum Habana 进行分布式训练

您正在查看 主分支 版本,需要从源代码安装。如果您想使用常规的 pip 安装,请查看最新的稳定版本(v1.23.1)。
Hugging Face's logo
加入 Hugging Face 社区

并获取增强文档体验

开始

使用 Optimum Habana 进行分布式训练

随着模型变得越来越大,并行化已成为在有限硬件上训练更大模型并通过几个数量级加速训练速度的一种策略。

所有 PyTorch 示例GaudiTrainer 脚本都可以直接用于分布式训练。有两种方法可以启动它们

  1. 使用 gaudi_spawn.py 脚本
python gaudi_spawn.py \
    --world_size number_of_hpu_you_have --use_mpi \
    path_to_script.py --args1 --args2 ... --argsN

其中 --argX 是以分布式方式运行脚本的参数。这里提供了关于问答 此处 和文本分类 此处 的示例。

  1. 直接在代码中使用 DistributedRunner
from optimum.habana.distributed import DistributedRunner
from optimum.utils import logging

world_size=8 # Number of HPUs to use (1 or 8)

# define distributed runner
distributed_runner = DistributedRunner(
    command_list=["scripts/train.py --args1 --args2 ... --argsN"],
    world_size=world_size,
    use_mpi=True,
)

# start job
ret_code = distributed_runner.run()

您可以为训练参数设置 --distribution_strategy fast_ddp 以获得更简单且通常更快的分布式训练管理。更多信息 此处

为了更深入地了解,我们邀请您阅读我们关于以下内容的指南:

< > 在 GitHub 上更新