Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Обслуживание моделей

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

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

Эффективное обслуживание моделей требует надежной программной архитектуры, способной загружать модели в память, управлять аппаратными ресурсами, такими как графические процессоры, и эффективно обрабатывать запросы. В то время как простые скрипты могут выполнять выводы, для обслуживания производственного уровня часто используются специализированные фреймворки, такие как NVIDIA Triton Inference Server или TorchServe. Эти инструменты оптимизированы для работы с высокой пропускной способностью и низкой задержек в выводах, гарантируя, что приложения остаются отзывчивыми даже при высокой пользовательской нагрузке.

Основные компоненты архитектуры обслуживания

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

  • Inference Engine: основное программное обеспечение, отвечающее за выполнение математических операций модели. Часто движки оптимизируются под конкретное аппаратное обеспечение, например TensorRT для графических процессоров NVIDIA или OpenVINO для процессоров Intel , чтобы добиться максимальной производительности.
  • Интерфейс API: Приложения взаимодействуют с обслуживаемой моделью через определенные протоколы. REST API распространены для веб-интеграции из-за своей простоты, в то время как gRPC предпочтительнее для внутренних микросервисов, требующих высокой производительности и низкой задержки.
  • Реестр моделей: Централизованное хранилище для управления различными версиями обученных моделей. Этот гарантирует, что обслуживающая система сможет легко вернуться к предыдущей версии, если новое если при развертывании новой модели возникнут непредвиденные проблемы.
  • Контейнеризация: Такие инструменты, как Docker упаковывают модель вместе с ее зависимостями в изолированные контейнеры. Это гарантирует согласованность в различных средах, от ноутбука разработчика до кластера Kubernetes в облаке.
  • Балансировщик нагрузки: В сценариях с высокой интенсивностью движения балансировщик нагрузки распределяет входящие запросы на выводы между нескольких реплик модели, чтобы ни один сервер не стал "узким местом", обеспечивая масштабируемость.

Практическая реализация

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

from ultralytics import YOLO

# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")

# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"

# Run inference to generate predictions
results = model.predict(source=image_source)

# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
    print(f"Class: {box.cls}, Confidence: {box.conf}")

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

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

  • Умная розничная торговля: Ритейлеры используют ИИ в розничной торговле для автоматизации процессов оформления заказа. Камеры, обслуживаемые моделями обнаружения объектов идентифицируют товары на конвейерной ленте в режиме реального времени, подсчитывая общую стоимость без сканирования штрихкодов.
  • Обеспечение качества: В промышленных условиях, ИИ в производственных системах использует обслуживаемые модели для проверки сборочных линий. Изображения компонентов с высоким разрешением отправляются на локальный пограничный сервер, где модель обнаруживает такие дефекты, как царапины или смещения, и немедленно оповещает об устранении неисправных элементов.
  • Обнаружение финансового мошенничества: Банки используют модели обнаружения аномалий, обслуживаемые через защищенные API для анализа данных о транзакциях по мере их совершения. Если транзакция соответствует схеме мошеннических действий, система может мгновенно заблокировать ее, чтобы предотвратить финансовые потери.

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

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

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

Выбор правильной стратегии

Выбор стратегии обслуживания во многом зависит от конкретного случая использования. Онлайн-обслуживание обеспечивает немедленный ответы для приложений, ориентированных на пользователя, но требует низкой задержки. И наоборот, пакетное обслуживание обрабатывает большие объемы данных в автономном режиме, что подходит для таких задач, как ночная генерация отчетов, где немедленная обратная связь не так важна. Для приложений, развернутых на удаленном оборудовании, таком как беспилотники или мобильные телефоны, Edge AI переносит процесс обслуживания непосредственно на устройство, что позволяет отказаться от облачного подключения и сократить расходы на пропускную способность.

Использование таких инструментов, как Prometheus для сбора метрик и Grafana для визуализации помогает инженерным командам track состояние обслуживающей инфраструктуры, гарантируя, что модели будут продолжать предоставлять надежные компьютерного зрения еще долгое время после их после их первоначального запуска.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас