⚡️
PyTorch 2.14 получил нормальную fault tolerance для distributed training
В больших distributed-задачах падение одного
rank обычно означало неприятный сценарий: уничтожить
process group, перезапустить его и потерять уже прогретое состояние по всему кластеру.
В PyTorch 2.14 fault tolerance становится частью
c10d.
Теперь
Backend и
ProcessGroup получают API для
reconfiguration in-place - группу можно перестраивать на месте, не снося весь distributed runtime целиком.
Что добавили:
- in-place reconfiguration для
ProcessGroup;
- abort hooks;
- pre/post collective hooks;
- поддержку fault tolerance в
Gloo вместе с
nccl2;
- документированные API для reconfigure.
Это особенно важно для больших training jobs: чем больше кластер, тем дороже полный restart после одного сбоя.
Пока есть важная оговорка — в релизе API помечен как
unstable, так что интерфейсы ещё могут меняться.
Подробнее:
https://pytorch.org/blog/pytorch-2-14-release-blog/