Shortcuts

快速入门

要启动一个容错作业,请在所有节点上运行以下命令。

torchrun
   --nnodes=节点数量
   --nproc-per-node=每个节点的训练器数量
   --max-restarts=允许的失败次数
   --rdzv-id=作业ID
   --rdzv-backend=c10d
   --rdzv-endpoint=主机节点地址
   YOUR_TRAINING_SCRIPT.py (--arg1 ... 训练脚本参数...)

要启动一个弹性作业,请在至少MIN_SIZE个节点和最多MAX_SIZE个节点上运行以下命令。

torchrun
    --nnodes=最小大小:最大大小
    --nproc-per-node=每节点训练器数量
    --max-restarts=允许的失败或成员变更次数
    --rdzv-id=作业ID
    --rdzv-backend=c10d
    --rdzv-endpoint=主机节点地址
    YOUR_TRAINING_SCRIPT.py (--arg1 ... 训练脚本参数...)

注意

TorchElastic 将成员变更导致的故障模型化。当一个节点失败时,这被视为“缩减”事件。当失败的节点被调度器替换时,这是一个“扩展”事件。因此,对于容错和弹性作业,--max-restarts 用于控制放弃前的总重启次数,无论重启是由于故障还是扩展事件引起的。

HOST_NODE_ADDR,格式为 <主机>[:<端口>](例如 node1.example.com:29400), 指定节点和端口,C10d rendezvous 后端应在此节点和端口上实例化并托管。它可以是训练集群中的任何节点,但理想情况下,您应选择一个具有高带宽的节点。

注意

如果没有指定端口号,HOST_NODE_ADDR 默认设置为 29400。

注意

可以使用 --standalone 选项来启动一个带有边车 rendezvous 后端的单节点作业。使用 --standalone 选项时,您不需要传递 --rdzv-id--rdzv-endpoint--rdzv-backend

注意

了解更多关于编写分布式训练脚本的信息 这里

如果 torchrun 不符合您的需求,您可以直接使用我们的API进行更强大的定制。首先,请查看 弹性代理 API。