Программирование где угодно и когда угодно, тренировки в воздухе

Под теплым зимним солнцем вы сидите в кафе на берегу озера, открываете браузер на своем ноутбуке, входите в «записную книжку» в облаке, вводите созданную вами модель глубокого обучения, нажимаете «Выполнить все» и продолжаете пользоваться захватывающая дух природная красота перед вами. Через некоторое время допейте кофе, результаты тренировок уже хранятся в вашем облачном аккаунте. Облачные записные книжки для глубокого обучения позволяют использовать мощные вычислительные ресурсы в любое время и в любом месте.

В 2021 году появятся 3 проверенные платформы, которые могут принести вам вышеуказанный опыт. Все это облачные решения на базе ноутбука Jupyter. Если вы использовали блокноты Jupyter, начать работу с ними не составит труда.

1. Google Colaboratory

Colaboratory или Colab - продукт от Google. Это размещенная на хосте служба ноутбуков Jupyter, не требующая настройки для использования и предоставляющая бесплатный доступ к вычислительным ресурсам, включая графические процессоры и TPU.

Colab можно использовать бесплатно, но есть ограничения на его ресурсы. Ресурсы, доступные в Colab, со временем меняются, чтобы соответствовать колебаниям спроса. Это означает, что периоды простоя, максимальное время жизни виртуальной машины, память, доступные типы графических процессоров и другие факторы со временем меняются.

Графические процессоры, доступные в Colab, часто включают Nvidia K80, T4, P4 и P100. Но нет возможности выбрать, какой тип графического процессора в бесплатной версии.

Хотя официально утверждается, что максимальное время жизни подключаемой виртуальной машины может составлять до 12 часов, ноутбуки также отключаются от виртуальных машин, если они бездействуют слишком долго. Поэтому при использовании Colab важно оценивать время обучения и не допускать чрезмерного простоя. Так что он больше подходит для обучения «меньших» моделей или просто для экспериментов.

Если вас интересуют более быстрые графические процессоры, более длительное время работы и больше памяти, вас может заинтересовать Colab Pro. На данный момент Colab Pro доступен только в США и Канаде.

Блокноты Colab хранятся на Google Диске или могут быть загружены с GitHub. Вы можете поделиться своими записными книжками Colab так же, как и с Документами Google.

Colab фокусируется на поддержке Python и его экосистемы сторонних инструментов.

2. Блокноты Kaggle

Каждый разработчик данных и машинного обучения должен быть знаком с Kaggle. Google приобрел Kaggle в 2017 году, так что технически он поддерживается Google.

Kaggle Notebooks - это облачная вычислительная среда для анализа данных и машинного обучения. Его предшественником были ядра Kaggle.

Чтобы использовать блокнот Kaggle, просто зарегистрируйтесь в Kaggle.

В отличие от Google Colab, в Kaggle есть два разных типа блокнотов: скрипты и блокноты Jupyter. Все они могут быть написаны либо на R, либо на Python.

Ноутбуки Kaggle предоставляют следующие ресурсы: время выполнения 9 часов, дисковое пространство 20 ГБ, 4-ядерный ЦП с 16 ГБ ОЗУ, графический процессор с 2-ядерным ЦП и 13 ГБ ОЗУ, TPU с 4-ядерным ЦП и 16 ГБ ОЗУ и 1 час простоя. Эта конфигурация ресурсов лучше, чем бесплатная Colab.

Помимо этого, вы можете добавить несколько источников данных в среду вашего Notebook. Kaggle Datasets предоставляет богатый набор интересных наборов данных для любого проекта в области науки о данных. Сообщество Kaggle также предоставляет множество отличных записных книжек других «Мастеров Kaggle». В Kaggle есть множество бесплатных курсов по науке о данных и машинному обучению.

3. Блокноты Amazon SageMaker.

Amzon SageMaker - это платформа облачного машинного обучения в AWS. Вы можете использовать Amazon SageMake Stuido (например, JupyterLab) для создания, обучения, отладки, развертывания и мониторинга ваших моделей глубокого обучения.

Вы можете писать и запускать свой код глубокого обучения с помощью записных книжек SageMaker или SageMaker Python SDK.

За использование записных книжек Amazon SageMaker взимается плата. Например, работает на Amzon SageMaker Stuido Notebook в TensorFlow ядре на ml.c5.xlarge(4 vCPu, 8GiB Memory) экземпляре в течение 1 часа, общая стоимость составляет менее 0,5 доллара США.

Помимо обычных фреймворков глубокого обучения, TensorFlow и PyTorch, Amazon SageMaker также поддерживает MXNet. Если вы используете MXNet для построения своих моделей глубокого обучения, Amazon SageMaker - ваша предпочтительная платформа.

Вывод

Я лично рекомендую Kaggle Notebooks в качестве бесплатной облачной платформы для глубокого обучения из-за ее высокой производительности, богатых наборов данных и отличных записных книжек, а также благодаря здоровому сообществу.

На Kaggle есть пост Обучение Kaggle vs Colab vs SageMaker (ml.p2.xlarge) ». Автор запускал один и тот же обучающий скрипт PyTorch на трех платформах. Скорость обучения составляет:

Kaggle > Google Colab(Free) > SageMaker(ml.p2.xlarge)

Если вам нужно более производительное оборудование и более профессиональное обслуживание, вы можете настроить Amazon SageMaker или Google Colab Pro по запросу.

Будущее - Codespaces

Первоначально в этот список входили и записные книжки Microsoft Azure, но он будет закрыт 15 января 2021 года. Его наиболее вероятным преемником является Codespaces.

Codespaces - это онлайн-среда разработки, размещенная на GitHub и работающая на Visual Studio Code, которая позволяет вам полностью разрабатывать в облаке.

Сочетание сильнейшего сценария IDE-VS Code и крупнейшего репозитория с открытым исходным кодом и сообщества Github с поддержкой Microsoft, бывшей доминирующей IDE. Codespaces - это будущее IDE.

На данный момент Codespaces все еще находится в бета-версии, вам нужно запросить ранний доступ.

Кодируйте где угодно и когда угодно, тренируйтесь в воздухе.
Спасибо за чтение и счастливого 2021 года.