Узнайте, как обслуживание моделей устраняет разрыв между обученными моделями и производством. Изучите стратегии развертывания Ultralytics на Ultralytics .
Обслуживание модели — это процесс хостинга обученной модели машинного обучения и предоставления ее функциональности программным приложениям через сетевой интерфейс. Он действует как мост между статическим файлом модели, сохраненным на диске, и рабочей системой, которая обрабатывает реальные данные. После того как модель завершила этап обучения машинного обучения (ML), она должна быть интегрирована в производственную среду, где она может получать входные данные, такие как изображения, текст или табличные данные, и возвращать прогнозы. Обычно это достигается путем обертывания модели в интерфейс прикладного программирования (API), что позволяет ей обмениваться данными с веб-серверами, мобильными приложениями или устройствами IoT.
Основная цель обслуживания моделей — эффективная реализация возможностей прогнозного моделирования. В то время как обучение сосредоточено на точности и минимизации потерь, обслуживание фокусируется на таких показателях производительности, как задержка (скорость получения прогноза ) и пропускная способность (количество запросов, которые могут быть обработаны в секунду). Надежная инфраструктура обслуживания гарантирует, что системы компьютерного зрения (CV) остаются надежными при высоких нагрузках. Часто это включает в себя такие технологии, как контейнеризация с использованием инструментов, таких как Docker, который упаковывает модель с ее зависимостями для обеспечения стабильного поведения в различных вычислительных средах.
Обслуживание моделей обеспечивает повсеместное использование функций искусственного интеллекта в различных отраслях, позволяя мгновенно принимать решения на основе данных.
Для эффективного использования модели часто бывает полезно экспортировать модели в стандартизированный формат, такой как 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 и пограничные устройства.
Хотя «обслуживание моделей» тесно связано с развертыванием моделей и выводами, оно отличается от них.