Быстрый старт

ML Space — платформа для ML-разработки полного цикла и совместной работы DS-команд над созданием и развертыванием моделей машинного обучения.

Платформа ML Space предоставляет пользователям решать следующие задачи:

  • Хранение и обработка артефактов машинного обучения.

  • Распределенное обучение на большом количество GPU.

  • Высокопроизводительные вычисления на базе CPU.

  • Развертывание (инференс) моделей машинного обучения.

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

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

Перед началом работы

Убедитесь, что создан проект. Если проекта не существует, создайте его.

Для использования воркспейсов есть несколько сценариев:

Воркспейс существует

  • Попросите коллег из нужного воркспейса добавить вас в него.

  • Выберите требуемый воркспейс из раскрывающегося списка в шапке страницы Кнопка шапки платформы.

Воркспейс не существует

Создайте новый воркспейс:

  1. Перейдите в раздел Воркспейсы на странице Кнопка перехода на Главную страницу ML Space.

  2. Нажмите Кнопка создания воркспейса и заполните форму:

    • Введите название воркспейса.

    • Задайте описание.

    • Укажите группу, к которой он будет привязан.

    • Выберите проект.

    • Выберите пользователей проекта для добавления в воркспейс.

  3. Нажмите Сохранить.

Важно

Для имени воркспейса существуют следующие ограничения:

  • Длина имени не должна превышать 16 символов.

  • В имени разрешается применять следующие символы: строчные буквы латинского алфавита от a до z, цифры от 0 до 9, символ тире (—).

  • Имя должно обязательно начинаться с буквы, заканчиваться может буквой или цифрой, например: test-1.

Добавление новых пользователей в Организацию и проект осуществляется в личном кабинете Cloud.ru.

Внимание

Количество доступных ресурсов воркспейса зависит от лимита и баланса группы, к которой привязан воркспейс. GPU- и CPU-минуты, которые используются в препроцессинге, обучении и деплое при совместной работе в воркспейсе, оплачиваются с баланса организации по модели pay-as-you-go. Возможен другой метод оплаты, если это указано в договоре.

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

Для регистрации нового пользователя воспользуйтесь инструкцией.

Добавьте новых пользователей в требуемый воркспейс:

  1. Перейдите в раздел Воркспейсы на странице Кнопка перехода на Главную страницу ML Space.

  2. Нажмите Кнопка с тремя вертикальными точками возле требуемого воркспейса.

  3. Нажмите Редактировать.

  4. Нажмите селектор в разделе Выберите пользователей.

  5. Выберите требуемых пользователей и нажмите Сохранить.

Работа с данными

На платформе представлено два типа хранилищ:

  • Объектное хранилище S3 — основной ресурс для хранения большого объема данных. Общее для платформы.

  • NFS — обеспечивает быстрый доступ к данным во время обучения моделей. В каждом регионе свое NFS-хранилище.

Чтобы использовать данные на платформе:

  1. Откройте вкладку Обзор хранилища Кнопка Обзор хранилища в левом меню и выберите бакет или создайте пользовательский.

  2. Загрузите данные в объектное хранилище S3, используя кнопку Создать или Data transfer service Кнопка сервиса Data transfer service.

  3. Чтобы использовать данные для обучения, переложите их в горячее хранилище NFS, используя кнопку Кнопка Отправить на NFS (находится в правом верхнем углу экрана) в объектном хранилище S3 или другие способы переноса.

Обучение моделей

На платформе доступно несколько способов обучения моделей.

  • Создание окружения (Jupyter Server) и интерактивная работа в нем. Код исполняется на выделенных заранее ресурсах с GPU/CPU.

  • Обучение через отправку задачи обучения в регион размещения вычислительных ресурсов. Для этого используется Jupyter Server Управление распределенными задачами.

В примере рассмотрим обучение с использованием Jupyter Server:

  1. Откройте Environments → Jupyter Servers → Создать Jupyter Server и создайте Jupyter Server с одним GPU. Подробнее в разделе Создать Jupyter Server.

  2. Подключитесь к Jupyter Server. В Jupyter Server для каждого региона используется отдельное NFS-хранилище.

  3. Запустите код.

Если необходимо запустить распределенное обучение (Pytorch DDP или Horovod), создайте Jupyter Server для управления распределенными задачами и отправьте задачу через Функция client_lib или воспользуйтесь примером с GitHub.

Установка дополнительных библиотек в Jupyter Server

Для установки дополнительных библиотек в ячейке ноутбука выполните команду:

!pip install <package_name> <version>

Где package_name — наименование библиотеки, которую предполагается установить, а version — версия данной библиотеки.

После установки библиотеки выполните следующую команду для проверки:

!pip list | grep <package_name>

Примечание

В Jupyter Server есть каталоги, в которых хранятся служебные и пользовательские файлы:

  • /home/user — каталог, уникальный для каждого Jupyter Server.

  • /home/jovyan — каталог, общий для всех Jupyter Server, созданных в рамках одного воркспейса.

Если устанавливать библиотеки с помощью команды pip install, то зависимости будут установлены в каталог /home/jovyan/.img-xxxxx.

При постановке Jupyter Server на паузу этот каталог остается, при остановке (удалении) каталог удаляется. При удалении Jupyter Server все библиотеки, которые установлены с помощью команды pip install, удаляются вместе с каталогом /home/user.

Для использования требуемого набора библиотек можно создать и использовать кастомный Docker-образ. Подробнее см. Установка необходимых библиотек.

Больше примеров работы с платформой

Ниже — список примеров того, как использовать сервисы ML Space.

  • Примеры по обучению и эксплуатации моделей размещены на GitHub.

  • Пример работы с моделью ruGPT-3 приведен на Github.

  • Пример работы с фреймворком mmdetection описан на Github.

  • Пример обучения моделей на CPU — на GitHub.

  • Пример работы с публичным API — на GitHub.