Типы деплоев

Ниже описаны типы деплоев, доступные на платформе ML Space.

Стандартный деплой

Чтобы разместить выбранный образ, нажмите Создать деплой. В результате этих действий образ будет развернут на указанной конфигурации и создана карточка деплоя. В карточке указаны:

  • Используемый образ.

  • Хост, на который необходимо будет отправлять запросы. См. подробнее в Отправить синхронный HTTP-запрос к развернутой модели.

  • Сведения об используемых ресурсах, количестве активных запущенных экземпляров и возможный диапазон доступных модели экземпляров.

Возможно отфильтровать для отображения только те записи, которые соответствуют заданным условиям. Для добавления фильтра по типу нажмите Кнопка Воронка. Затем — Добавить фильтр. Отфильтруйте данные.

Примечание

Основные причины ошибок в развертывании модели:

  • Ошибки в serving-скрипте. Рекомендуем протестировать serving-скрипт локально на сервисе с помощью терминала. См. Провалидировать serving-скрипт.

  • Недостаточно свободных ресурсов на сервисе.

  • Модель разворачивается на базовом образе, в котором нет необходимых библиотек.

Раздельный деплой (Triton Inference Server)

Triton Inference Server (далее — Triton) — сервер для инференса моделей машинного обучения с открытым исходным кодом. Triton позволяет разворачивать любую модель искусственного интеллекта, обученную с использованием наиболее популярных фреймворков, включая TensorRT, TensorFlow, PyTorch, ONNX, OpenVINO, Python, RAPIDS FIL и другие. Раздельный деплой позволяет оптимизировать производительность для разных типов запросов, включая запросы в реальном времени, пакетные запросы, ансамбли моделей, потоковое аудио и видео.

С помощью раздельного деплоя реализуются:

  1. Автомасштабирование в рамках одной GPU под нагрузку.

  2. Механизмы для создания конвейера моделей.

  3. Балансировщик для входящих запросов.

  4. Очередь на каждый активный экземпляр модели, чтобы выдерживать резкие скачки нагрузки.

Для создания трансформера и предиктора используйте образ cr.ai.cloud.ru/aicloud-base-images/triton22.04-py3:0.0.32.3.

Внимание

  • Временно отсутствует возможность масштабировать трансформер и предиктор отдельно.

  • Временно отсутствует возможность монтировать внешнее хранилище с моделями (S3 или NFS).

  • Устанавливайте трансформеру как можно меньше ресурсов, чтобы они оставались модели.

  • Асинхронные вызовы не поддерживаются.

  • Для отправки запросов к раздельному деплою используйте интерфейс платформы ML Space.

Ниже представлены схемы взаимодействия с сервисом.

Real time deploy

../_images/schm__deployments__real-time.ru.svg
  1. У пользователя есть обученная сериализованная (pickle, h5, checkpoints и др.) модель.

  2. Пользователь загружает модель и serving-скрипт на S3.

  3. Посредством UI/API/Jupyter Notebook (функции client_lib) пользователь вызывает сборку образа и разворачивает образ на сервисе.

  4. Автоматизированная система пользователя отправляет HTTP-запросы к модели через REST API и получает прогноз, классификацию и т.д.

Batch deploy

../_images/schm__deployments__batch.ru.svg
  1. У пользователя есть обученная сериализованная (pickle, h5, checkpoints и др.) модель.

  2. Пользователь загружает модель и serving-скрипт на S3.

  3. Посредством UI/API/Jupyter Notebook (функции client_lib) пользователь вызывает сборку образа и разворачивает образ на сервисе.

  4. Автоматизированная система пользователя отправляет на S3 данные (изображения, звуковые файлы и т.д.).

  5. Автоматизированная система пользователя / задача по расписанию инициирует обработку всего, что находится в каталоге на бакете S3. Прогноз либо сохраняется на S3, либо повторно передается к АС пользователя.

  6. Модель отправляет предсказание.

Async inference deploy

../_images/schm__deployments__async.ru.svg
  1. У пользователя есть обученная сериализованная (pickle, h5, checkpoints и др.) модель.

  2. Пользователь загружает модель и serving-скрипт на S3.

  3. Посредством UI/API/Jupyter Notebook (функции client_lib) пользователь вызывает сборку образа и разворачивает образ на платформе.

  4. Автоматизированная система пользователя отправляет на S3 данные (изображения, звуковые файлы и т.д.).

  5. Автоматизированная система пользователя или задача по расписанию инициирует обработку всего, что находится в каталоге на бакете S3. Пользователь/автоматизированная система получает идентификатор асинхронного запроса.

  6. По результатам обработки пользователь/автоматизированная система получает статус асинхронного запроса.

  7. После выполнения пользователь/автоматизированная система получает результат выполнения асинхронного запроса.

Запустили Evolution free tier
для Dev & Test
Получить