Model Serving
Сервис моделей размещает обученную модель за API, чтобы приложения могли передавать входные данные и получать предсказания. Сравниваются стратегии предоставления моделей и связанные термины.
Обслуживание модели — это процесс размещения обученной модели машинного обучения и предоставления ее функций программным приложениям через сетевой интерфейс. Оно служит связующим звеном между статичным файлом модели на диске и работающей системой, обрабатывающей реальные данные. После завершения этапа обучения машинного обучения (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, чтобы упростить развертывание моделей на разных конечных точках, включая облачные API и периферийные устройства.
Отличие от связанных понятий#
Хотя эти понятия тесно связаны, «обслуживание моделей» отличается от развертывания модели и инференса.
- Развертывание модели: Это более широкий этап жизненного цикла, на котором модель выпускают в производственную среду. Обслуживание — это конкретный механизм или программное обеспечение, например NVIDIA Triton Inference Server или TorchServe, с помощью которого выполняется развернутая модель.
- Инференс: Это математический процесс вычисления предсказания по входным данным. Обслуживание модели предоставляет инфраструктуру (сетевые средства, масштабируемость и безопасность), благодаря которой инференс надежно работает для конечных пользователей.
- Микросервисы: Обслуживание часто строится как набор микросервисов, где модель работает как независимый сервис, к которому могут обращаться другие компоненты приложения; данные при этом часто передаются в легковесных форматах, например JSON.










