Обучить модель с использованием 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 в документации.