Model Serving
Узнай, как обслуживание моделей устраняет разрыв между обученными моделями и продакшеном. Изучи стратегии развёртывания Ultralytics YOLO26 на платформе Ultralytics.
Обслуживание моделей — это процесс размещения обученной модели машинного обучения и предоставления ее функциональности программным приложениям через сетевой интерфейс. Оно служит связующим звеном между статическим файлом модели, сохраненным на диске, и работающей системой, которая обрабатывает данные из реального мира. После завершения этапа обучения машинному обучению (ML) модель необходимо интегрировать в производственную среду, где она сможет получать входные данные, такие как изображения, текст или табличные данные, и возвращать прогнозы. Обычно это достигается путем обертывания модели в интерфейс прикладного программирования (API), что позволяет ей взаимодействовать с веб-серверами, мобильными приложениями или устройствами IoT.
Роль обслуживания моделей в AI#
Основная цель обслуживания моделей — эффективно внедрить возможности прогностического моделирования в рабочие процессы. Если обучение сосредоточено на точности и минимизации потерь, то при обслуживании основное внимание уделяется таким показателям производительности, как задержка (скорость возврата прогноза) и пропускная способность (количество запросов, обрабатываемых в секунду). Надежная инфраструктура обслуживания гарантирует, что системы компьютерного зрения (CV) сохраняют работоспособность при высокой нагрузке. Часто она включает технологии вроде контейнеризации с использованием таких инструментов, как Docker, который упаковывает модель вместе с ее зависимостями, обеспечивая единообразное поведение в разных вычислительных средах.
Практические применения#
Обслуживание моделей обеспечивает работу повсеместно распространенных функций AI в различных отраслях, позволяя мгновенно принимать решения на основе данных.
- Умное производство: В промышленности системы AI в производстве используют обслуживаемые модели для контроля сборочных линий. Изображения компонентов в высоком разрешении отправляются на локальный сервер, где модель YOLO26 обнаруживает такие дефекты, как царапины или смещения, и немедленно подает сигнал для удаления неисправных изделий.
- Автоматизация розничной торговли: Розничные компании используют AI в розничной торговле для улучшения качества обслуживания клиентов. Камеры, работающие с моделями обнаружения объектов, распознают товары в зоне оплаты и автоматически подсчитывают общую стоимость без необходимости сканировать штрихкоды вручную.
Практическая реализация#
Для эффективного обслуживания модели часто полезно экспортировать модели в стандартизированный формат, например 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.")Выбор подходящей стратегии#
Выбор стратегии обслуживания во многом зависит от конкретного варианта использования. Онлайн-обслуживание обеспечивает немедленные ответы через такие протоколы, как REST или gRPC, что особенно важно для веб-приложений, ориентированных на пользователей. Напротив, пакетное обслуживание обрабатывает большие объемы данных в автономном режиме и подходит, например, для формирования ночных отчетов. Для приложений, которым требуются конфиденциальность или низкая задержка без зависимости от интернета, Edge AI переносит процесс обслуживания непосредственно на устройство, используя оптимизированные форматы, такие как TensorRT, чтобы максимально повысить производительность на устройствах с ограниченными ресурсами. Многие организации используют Ultralytics Platform, чтобы упростить развертывание этих моделей на различных конечных точках, включая облачные API и периферийные устройства.
Отличие от связанных терминов#
Хотя термины тесно связаны, «обслуживание моделей» отличается от развертывания моделей и инференса.
- Развертывание моделей: Это более широкий этап жизненного цикла, связанный с выпуском модели в производственную среду. Обслуживание — это конкретный механизм или программное обеспечение (например, NVIDIA Triton Inference Server или TorchServe), используемое для выполнения развернутой модели.
- Инференс: Это математический процесс вычисления прогноза на основе входных данных. Обслуживание моделей предоставляет инфраструктуру (сетевое взаимодействие, масштабируемость и безопасность), которая позволяет надежно выполнять инференс для конечных пользователей.
- Микросервисы: Обслуживание часто строится в виде набора микросервисов, где модель работает как независимый сервис, к которому могут обращаться другие компоненты приложения, зачастую обмениваясь данными в легковесных форматах, таких как JSON.









