Глоссарий

Модельная сервировка

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

После того как модель машинного обучения (ML) обучена и проверена, следующий важный шаг - сделать ее доступной для генерирования прогнозов на новых данных. Этот процесс известен как Model Serving. Он включает в себя развертывание обученной модели в производственной среде, обычно за конечной точкой API, что позволяет приложениям или другим системам запрашивать прогнозы в режиме реального времени. Обслуживание модели выступает в качестве связующего звена между разработанной моделью и ее практическим применением, превращая ее из статичного файла в активный, генерирующий ценность сервис в рамках более широкого жизненного цикла машинного обучения.

Важность обслуживания моделей

Обслуживание модели является основополагающим для операционализации ML-моделей. Без него даже самые точные модели, такие как современные Ultralytics YOLO детекторы объектов, остаются изолированными в среде разработки и не могут повлиять на реальные процессы. Эффективное обслуживание моделей обеспечивает:

  • Доступность: Делает предсказания модели доступными для различных приложений через стандартные интерфейсы вроде REST API или gRPC.
  • Масштабируемость: справляется с различной нагрузкой запросов на предсказания, обеспечивая стабильную производительность при изменении спроса. Облачные платформы вроде Amazon SageMaker и Google Cloud AI Platform предлагают решения для управляемого масштабирования.
  • Надежность: Обеспечивает стабильный и постоянно доступный сервис для критически важных приложений.
  • Производительность: Оптимизирован для низкого времени задержки вывода, чтобы обеспечить использование выводов в реальном времени в таких областях, как компьютерное зрение и обработка естественного языка (NLP).

Применение в реальном мире

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

  1. Рекомендации товаров для электронной коммерции: Когда ты просматриваешь интернет-магазин, бэкенд, обслуживающий модели, управляет системой рекомендаций. Она принимает на вход твою историю просмотров или профиль пользователя и возвращает персонализированные предложения товаров в режиме реального времени.
  2. Помощь в постановке медицинского диагноза: В здравоохранении модели, обученные анализу медицинских изображений, могут предоставляться через API. Врачи могут загружать снимки пациентов (например, рентгеновские или магнитно-резонансные) в сервис, который затем возвращает потенциальные аномалии или диагностические данные, помогая принимать клинические решения. Платформы вроде Ultralytics HUB облегчают развертывание таких специализированных моделей.

Основные составляющие модельного обслуживания

Реализация надежной системы обслуживания моделей включает в себя несколько компонентов:

  • Формат модели: Обученную модель нужно сохранить в формате, подходящем для развертывания, например ONNX, TensorFlow SavedModel, или оптимизированные форматы вроде TensorRT.
  • Сервировочный фреймворк: Такие программы, как TensorFlow Serving, TorchServe или NVIDIA Triton Inference Server, управляют жизненным циклом модели, обрабатывают запросы и выполняют вычисления.
  • Конечная точка API: Интерфейс (часто управляемый API-шлюзом) раскрывает возможности модели по прогнозированию для клиентских приложений.
  • Инфраструктура: Базовая аппаратная и программная среда, которая может представлять собой локальные серверы, облачные вычисления или даже специализированные пограничные вычислительные устройства.
  • Мониторинг: Инструменты и процессы для мониторинга модели отслеживают производительность, задержки, ошибки и потенциальный дрейф данных, чтобы убедиться, что обслуживаемая модель остается эффективной с течением времени.

Развертывание модели и ее обслуживание

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

Под обслуживанием модели понимается развертывание модели в виде сетевого сервиса, обычно доступного через API и предназначенного для обработки запросов на прогнозирование по требованию, часто в режиме реального времени. Это особый тип развертывания модели, ориентированный на предоставление возможностей непрерывного прогнозирования с учетом масштабируемости и низкой задержки. Для многих интерактивных приложений, требующих немедленного прогнозирования, предпочтительным методом развертывания является обслуживание модели.

Читать полностью