Optimum 文档

使用 Optimum 在 Intel Gaudi 上进行分布式训练

您正在查看的是需要从源码安装。如果您希望使用常规的 pip install,请查看最新的稳定版本 (v1.27.0)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

使用 Optimum 在 Intel Gaudi 上进行分布式训练

随着模型变得越来越大,并行性已成为在有限硬件上训练更大模型并将其训练速度提高几个数量级的策略。

所有 PyTorch 示例GaudiTrainer 脚本均可直接用于分布式训练。有两种启动方式:

  1. 使用 gaudi_spawn.py 脚本

    • 使用 MPI 进行分布式训练

      python gaudi_spawn.py \
          --world_size number_of_hpu_you_have --use_mpi \
          path_to_script.py --args1 --args2 ... --argsN

      其中 --argX 是以分布式方式运行的脚本的参数。问答示例此处,文本分类示例此处

    • 使用 DeepSpeed 进行分布式训练

      python gaudi_spawn.py \
          --world_size number_of_hpu_you_have --use_deepspeed \
          path_to_script.py --args1 --args2 ... --argsN

      其中 --argX 是以分布式方式运行的脚本的参数。问答示例此处,文本分类示例此处

  2. 直接在代码中使用 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 上更新