Краткое руководство
Создано: 6 мая 2026 г. | Последнее обновление: 6 мая 2026 г.
Чтобы запустить отказоустойчивую задачу, выполните следующую команду на всех узлах.
torchrun --nnodes=NUM_NODES --nproc-per-node=TRAINERS_PER_NODE --max-restarts=NUM_ALLOWED_FAILURES --rdzv-id=JOB_ID --rdzv-backend=c10d --rdzv-endpoint=HOST_NODE_ADDR YOUR_TRAINING_SCRIPT.py (--arg1 ... train script args...)
Чтобы запустить эластичную задачу, выполните следующую команду как минимум на MIN_SIZE узлах и не более чем на MAX_SIZE узлах.
torchrun
--nnodes=MIN_SIZE:MAX_SIZE
--nproc-per-node=TRAINERS_PER_NODE
--max-restarts=NUM_ALLOWED_FAILURES_OR_MEMBERSHIP_CHANGES
--rdzv-id=JOB_ID
--rdzv-backend=c10d
--rdzv-endpoint=HOST_NODE_ADDR
YOUR_TRAINING_SCRIPT.py (--arg1 ... train script args...)
Примечание
TorchElastic рассматривает сбои как изменения состава группы. Сбой узла считается событием «уменьшения масштаба». Когда планировщик заменяет отказавший узел, это считается событием «увеличения масштаба». Поэтому для отказоустойчивых и эластичных задач параметр --max-restarts используется для управления общим числом перезапусков до прекращения попыток независимо от того, был ли перезапуск вызван сбоем или изменением масштаба.
HOST_NODE_ADDR в формате <host>[:<port>] (например, node1.example.com:29400) указывает узел и порт, на которых должна быть запущена и размещена служба rendezvous C10d. Это может быть любой узел в вашем кластере для обучения, но в идеале следует выбрать узел с высокой пропускной способностью.
Примечание
Если номер порта не указан, HOST_NODE_ADDR по умолчанию принимает значение 29400.
Примечание
Параметр --standalone можно передать, чтобы запустить задачу на одном узле с боковым сервисом rendezvous. При использовании параметра --standalone передавать --rdzv-id, --rdzv-endpoint и --rdzv-backend не требуется.
Примечание
Подробнее о создании скрипта для распределённого обучения читайте здесь.
Если torchrun не соответствует вашим требованиям, вы можете напрямую использовать наши API для более гибкой настройки. Для начала ознакомьтесь с API эластичного агента.
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/elastic/quickstart.html