Изучите основы обслуживания моделей — развертывайте модели AI для прогнозирования в реальном времени, масштабируемости и бесшовной интеграции в приложения.
Обслуживание модели - это критический этап жизненного цикла машинного обучения, на котором обученная модель размещается на сервере или устройстве для обработки запросов на вывод в режиме реального времени. После того как модель машинного обучения (ML) была обучена и проверена, она должна быть интегрирована в производственную среду, чтобы приносить пользу. Сервисы выступают в качестве мостом между статическим файлом модели и приложениями конечных пользователей, прослушивая входящие данные, такие как изображения или текст - через API и возвращает прогнозы модели. Этот процесс позволяет программным системам использовать возможности предиктивного моделирования мгновенно и в больших масштабах.
Эффективное обслуживание моделей требует надежной программной архитектуры, способной загружать модели в память, управлять аппаратными ресурсами, такими как графические процессоры, и эффективно обрабатывать запросы. В то время как простые скрипты могут выполнять выводы, для обслуживания производственного уровня часто используются специализированные фреймворки, такие как NVIDIA Triton Inference Server или TorchServe. Эти инструменты оптимизированы для работы с высокой пропускной способностью и низкой задержек в выводах, гарантируя, что приложения остаются отзывчивыми даже при высокой пользовательской нагрузке.
Комплексная система обслуживания включает в себя несколько различных уровней, работающих в унисон для надежной передачи прогнозов.
Для эффективной работы с моделью часто бывает полезно экспортировать ее в стандартный формат, например 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}")
Обслуживание моделей обеспечивает повсеместное использование функций искусственного интеллекта в различных отраслях, позволяя мгновенно принимать решения на основе данных.
Хотя они часто используются как взаимозаменяемые, необходимо проводить различие между обслуживанием модели и развертыванием модели. Развертывание относится к более широкому процесс выпуска модели в производственную среду, который включает в себя такие этапы, как тестирование, упаковка и настройка создание инфраструктуры. Обслуживание модели - это специфический аспект развертывания во время выполнения - акт фактического запуска модели и обработки запросов.
Эффективное обслуживание также требует постоянного постоянного мониторинга модели для detect дрейфа данных, когда распределение входящих данных расходится с обучающими данными, что потенциально ухудшая точность. Современные платформы, такие как готовящаяся к выпуску Ultralytics Platform, призваны унифицировать эти этапы, обеспечивая плавный переходы от обучения к обслуживанию и мониторингу.
Выбор стратегии обслуживания во многом зависит от конкретного случая использования. Онлайн-обслуживание обеспечивает немедленный ответы для приложений, ориентированных на пользователя, но требует низкой задержки. И наоборот, пакетное обслуживание обрабатывает большие объемы данных в автономном режиме, что подходит для таких задач, как ночная генерация отчетов, где немедленная обратная связь не так важна. Для приложений, развернутых на удаленном оборудовании, таком как беспилотники или мобильные телефоны, Edge AI переносит процесс обслуживания непосредственно на устройство, что позволяет отказаться от облачного подключения и сократить расходы на пропускную способность.
Использование таких инструментов, как Prometheus для сбора метрик и Grafana для визуализации помогает инженерным командам track состояние обслуживающей инфраструктуры, гарантируя, что модели будут продолжать предоставлять надежные компьютерного зрения еще долгое время после их после их первоначального запуска.