Обучение модели с использованием Pytorch Elastic Learning

Pytorch Elastic Learning позволяет обучать модели и при необходимости масштабировать вычислительные ресурсы в зависимости от их доступности.

Pytorch Elastic Learning подходит для задач обучения, требующих:

  • Динамического менеджмента ресурсов. Например, требуется запуск задачи на десяти выделенных серверах, а на момент запуска доступно восемь серверов. Используя Pytorch Elastic Learning, возможно запустить задачу на восьми серверах, и после высвобождения ресурсов два сервера будут добавлены.

  • Отказоустойчивости. Если в ходе обучения отказал один из выделенных серверов, то задача перезапустится с последнего сохраненного промежуточного результата обучения (checkpoint).

Особенности использования

Версия pytorch

Для образа требуется версия pytorch равная «1.9» и выше.

Установка параметров для обучения

При установке границ ресурсов верна следующая формула:

elastic_min_workers \(\leq\) n_workers \(\leq\) elastic_max_workers

где:

  • elastic_min_workers — минимальное количество ресурсов;

  • n_workers — диапазон изменения значений;

  • elastic_max_workers — максимальное количество ресурсов.

Если не указывать значения параметров, то по умолчанию устанавливается elastic_min_workers = 1, elastic_max_workers = n_workers

Как только количество доступных воркеров падает ниже elastic_min_workers, то задача останавливается. При добавлении воркеров задача перезапускается с последнего сохраненного промежуточного результата обучения (checkpoint).

Важно

Сохраняйте промежуточные результаты, чтобы в случае возникновения проблем не потерять результаты обучения модели.

См.также

  • Подробнее о запуске задачи Pytorch Elastic Learning через client_lib.

  • Подробнее о Pytorch Elastic Learning в документации.