В больших 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/
