- tocdepth
2
Обучить модель с использованием PyTorch Elastic Learning
PyTorch Elastic Learning позволяет при обучении моделей масштабировать вычислительные ресурсы в зависимости от их доступности.
Инструмент подходит для задач обучения, требующих динамического менеджмента ресурсов. Например, если необходимо запустить задачу на десяти выделенных серверах, а на момент запуска доступно только восемь, с PyTorch Elastic Learning возможно запустить задачу на восьми серверах Как только ресурсы высвободятся, добавятся оставшиеся два сервера.
Кроме того, PyTorch Elastic Learning обеспечивает отказоустойчивость. Если в ходе обучения отказал один из выделенных серверов, то задача перезапустится с последнего чекпоинта.
Подсказка
Сохраняйте чекпоинты, чтобы не потерять результаты обучения модели, если возникнут проблемы.
Чтобы запустить задачу с PyTorch Elastic Learning, используйте параметр type
, равный pytorch_elastic
в client_lib.
См.также
PyTorch Elastic Learning в документации client_lib
Особенности использования
- Версия 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 в документации PyTorch
для Dev & Test