Model Serving
Узнай, как обслуживание (serving) моделей связывает обученные модели с реальной эксплуатацией. Изучи стратегии развертывания Ultralytics YOLO26 на платформе Ultralytics.
Развертывание моделей — это процесс размещения обученной модели машинного обучения и предоставления ее функционала программным приложениям через сетевой интерфейс. Оно служит мостом между стачным файлом модели, сохраненным на диске, и работающей системой, обрабатывающей реальные данные. Когда модель завершает фазу обучения machine learning (ML), ее необходимо интегрировать в производственную среду, где она может принимать входные данные — например изображения, текст или табличные данные — и возвращать предсказания. Обычно это достигается путем обертки модели в Application Programming Interface (API), что позволяет ей взаимодействовать с веб-серверами, мобильными приложениями или IoT-устройствами.
Роль обслуживания моделей в ИИ#
Основная цель развертывания моделей — эффективная операционализация возможностей predictive modeling. В то время как обучение сосредоточено на точности и минимизации потерь, развертывание сфокусировано на метриках производительности, таких как latency (насколько быстро возвращается предсказание) и throughput (сколько запросов может быть обработано в секунду). Надежная инфраструктура развертывания гарантирует, что системы computer vision (CV) остаются стабильными при высоких нагрузках. Она часто включает в себя такие технологии, как containerization с использованием инструментов вроде Docker, который упаковывает модель вместе с ее зависимостями для обеспечения одинакового поведения в различных вычислительных средах.
Реальные приложения#
Обслуживание моделей обеспечивает повсеместное внедрение функций ИИ в различных отраслях, позволяя принимать мгновенные решения на основе данных.
- Умное производство: В промышленных условиях системы AI in manufacturing используют развернутые модели для инспекции сборочных линий. Высокоразрешенные изображения компонентов отправляются на локальный сервер, где модель YOLO26 обнаруживает дефекты, такие как царапины или смещения, отправляя немедленные оповещения об удалении бракованных изделий.
- Автоматизация ритейла: Ритейлеры используют AI in retail для улучшения клиентского опыта. Камеры, обслуживаемые моделями object detection, идентифицируют продукты в зоне кассы, автоматически подсчитывая общую стоимость без необходимости сканирования штрих-кодов вручную.
Практическая реализация#
Для эффективного развертывания модели часто полезно export models в стандартизированный формат, такой как ONNX, который способствует совместимости между различными фреймворками обучения и движками развертывания. Следующий пример демонстрирует, как загрузить модель и запустить инференс, имитируя логику, которая будет существовать внутри эндпоинта развертывания с использованием Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")Выбор правильной стратегии#
Выбор стратегии развертывания во многом зависит от конкретного сценария использования. Оперативное развертывание (Online Serving) обеспечивает немедленные ответы через протоколы вроде REST или gRPC, что важно для пользовательских веб-приложений. И наоборот, пакетное развертывание (Batch Serving) обрабатывает большие объемы данных офлайн, что подходит для таких задач, как создание ночных отчетов. Для приложений, требующих конфиденциальности или низкой задержки без зависимости от интернета, Edge AI переносит процесс развертывания прямо на устройство, используя оптимизированные форматы вроде TensorRT для максимального повышения производительности на ограниченном железе. Многие организации используют Ultralytics Platform для упрощения развертывания этих моделей на различные эндпоинты, включая облачные API и периферийные устройства.
Отличие от связанных терминов#
Хотя они тесно связаны, «Обслуживание моделей» отличается от развертывания моделей и инференса.
- Развертывание моделей: Это относится к более широкому этапу жизненного цикла выпуска модели в производственную среду. Обслуживание — это конкретный механизм или программное обеспечение (например, NVIDIA Triton Inference Server или TorchServe), используемое для выполнения развернутой модели.
- Инференс: Это математический акт вычисления предсказания на основе входных данных. Развертывание моделей предоставляет инфраструктуру (сеть, scalability и безопасность), которая позволяет inference происходить надежно для конечных пользователей.
- Микросервисы: Развертывание часто проектируется как набор microservices, где модель работает как независимый сервис, к которому могут обращаться другие части приложения, часто обмениваясь данными в легковесных форматах вроде JSON.






