В Lightning v1.5 представлен новый подключаемый модуль, обеспечивающий лучшую расширяемость для реализации настраиваемых контрольных точек.

PyTorch Lightning v1.5 знаменует собой значительный скачок в надежности для поддержки все более сложных требований ведущих организаций ИИ и престижных исследовательских лабораторий, которые полагаются на Lightning для разработки и развертывания ИИ в масштабе.

Pytorch Lightning стремится стать самой доступной, гибкой и стабильной платформой для ускорения любых исследований глубокого обучения в производство.

С этой целью мы рады представить новый плагин CheckpointIO.

Плагин CheckpointIO

В рамках нашего стремления к расширяемости мы абстрагировали логику создания контрольных точек Lightning в новый подключаемый модуль CheckpointIO. Наши пользователи могут адаптировать контрольные точки и перезагрузку состояния Lightning к своей собственной инфраструктуре.

С новым подключаемым модулем CheckpointIO пользователи могут настраивать эту логику в соответствии со своими потребностями.

Объект Checkpoint IO можно передать либо объекту Trainer, либо TrainingTypePlugin, как показано ниже.

Встроенные плагины CheckpointIO

TorchCheckpointIO

PyTorch Lightning предоставляет универсальный подключаемый модуль CheckpointIO, использующий утилиты torch.load и torch.save от PyTorch для загрузки и сохранения контрольных точек. Внутри он опирается на библиотеку fsspec, которая позволяет создавать контрольные точки для различных файловых систем, включая локальные файловые системы и многочисленных поставщиков облачных хранилищ, таких как S3 в AWS, GCS в Google. Облако, ADL в Azure и другие.

Например, это позволяет пользователям быстро делать контрольные точки от и до S3.

Или включает контрольную точку через обратный вызовModelCheckpoint.

Вот реализация интерфейса TorchCheckpointIO:

XLCheckpointIO

PyTorch/XLA — это пакет Python, который использует компилятор глубокого обучения XLA, чтобы PyTorch мог беспрепятственно работать на облачных TPU!

PyTorch/XLA, с другой стороны, имеют свои собственные утилиты контрольных точек, и PyTorch Lightning включает XLACheckpointIO для них.

Найдите реализацию XLACheckpointIO здесь.

Следующие шаги

Команда Lightning более чем когда-либо стремится предоставить наилучшие возможности для всех, кто занимается оптимизацией с помощью PyTorch, поскольку PyTorch Lightning API уже стабилен, критические изменения будут минимальными.

Если вы заинтересованы в том, чтобы помочь с этими усилиями, найдите нас в Slack!

Позвольте представить вам Grid.ai, созданный создателями PyTorch Lightning. Наша платформа позволяет масштабировать обучение модели, не беспокоясь об инфраструктуре, подобно тому, как Lightning автоматизирует обучение.

Вы можете начать работу с Grid.ai бесплатно, имея только учетную запись GitHub или Google.

Grid.AI позволяет масштабировать обучение с вашего ноутбука на облако без необходимости изменять ни одной строки кода. Хотя Grid поддерживает все классические фреймворки машинного обучения, такие как TensorFlow, Keras, PyTorch, вы можете использовать любые библиотеки по своему желанию. Использование функций Lightning, таких как Ранняя остановка, Интегрированное ведение журнала, Автоматическая контрольная точка и CLI, позволяет сделать традиционные MLOps, лежащие в основе обучения модели, невидимыми.