Model Deployment
Узнай, как развертывать модели машинного обучения в облачных или граничных средах. Открой для себя, как платформа Ultralytics упрощает экспорт и эксплуатацию моделей YOLO26.
Развертывание моделей — это критически важный этап, на котором обученная модель машинного обучения интегрируется в производственную среду для принятия практических решений или прогнозов на основе новых данных. Оно представляет собой переход от исследовательских или экспериментальных условий, которые часто выполняются в изолированных ноутбуках, к реальному приложению, где модель взаимодействует с реальными пользователями и системами. Этот процесс преобразует статический файл весов и архитектуры в активный AI agent, способный приносить пользу, например, распознавать объекты в видеопотоке или рекомендовать товары на веб-сайте.
Эффективное развертывание требует решения задач, отличных от model training, включая задержку, масштабируемость и аппаратную совместимость. Организации часто используют Ultralytics Platform для оптимизации этого жизненного цикла, гарантируя, что модели, обученные в облаке, могут быть беспрепятственно доставлены в различные среды — от мощных серверов до периферийных устройств с ограниченными ресурсами.
Ландшафт развертывания#
Стратегии развертывания обычно делятся на две категории: облачное развертывание и граничное (edge) развертывание. Выбор во многом зависит от конкретных требований к скорости, конфиденциальности и сетевому соединению.
- Облачное развертывание: Модель располагается на централизованных серверах, часто управляемых такими сервисами, как AWS SageMaker или Google Vertex AI. Приложения отправляют данные через интернет в модель посредством REST API, который обрабатывает запрос и возвращает результат. Этот метод предлагает практически неограниченные вычислительные мощности, что делает его идеальным для крупных и сложных моделей, но он зависит от стабильного подключения к интернету.
- Периферийное развертывание: Модель запускается локально на устройстве, где генерируются данные, например, на смартфоне, дроне или заводской камере. Этот подход, известный как edge computing, минимизирует задержку и повышает конфиденциальность данных, так как информация не покидает устройство. Инструменты вроде TensorRT часто используются для оптимизации моделей под такие среды.
Подготовка моделей к эксплуатации#
Прежде чем модель может быть развернута, она обычно проходит оптимизацию для обеспечения эффективной работы на целевом оборудовании. Этот процесс включает в себя model export, при котором формат обучения (например, PyTorch) конвертируется в формат, дружественный к развертыванию, такой как ONNX (Open Neural Network Exchange) или OpenVINO.
Методы оптимизации вроде quantization уменьшают размер модели и требования к памяти без существенной потери точности. Чтобы обеспечить согласованность в различных вычислительных средах, разработчики часто используют инструменты containerization, такие как Docker, которые упаковывают модель со всеми ее необходимыми программными зависимостями.
Ниже приведен пример того, как экспортировать YOLO26 model в формат ONNX, что является распространенным шагом при подготовке к развертыванию:
from ultralytics import YOLO
# Load the YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")
print(f"Model successfully exported to: {path}")Реальные приложения#
Развертывание моделей обеспечивает работу широко используемых систем computer vision в различных отраслях.
- Контроль качества в производстве: В условиях smart manufacturing развернутые модели отслеживают конвейерные ленты в режиме реального времени. Система камер, на которой работает модель, оптимизированная для устройств NVIDIA Jetson, может мгновенно обнаруживать дефекты в продукции, подавая сигнал роботу-манипулятору для удаления бракованных изделий. Это требует сверхнизкой задержки, которую может обеспечить только развертывание edge AI.
- Аналитика в розничной торговле: Магазины используют развернутые модели для анализа пешеходного трафика и поведения клиентов. Интегрируя модели object tracking в потоки с камер безопасности, ритейлеры могут создавать тепловые карты популярных проходов. Эти данные помогают оптимизировать планировку магазина и улучшить inventory management, часто используя облачное развертывание для сбора информации из нескольких локаций.
Развертывание vs. Инференс vs. Обучение#
Важно различать Развертывание моделей и связанные с ним термины в жизненном цикле машинного обучения:
- Обучение моделей — это образовательный этап, на котором алгоритм изучает закономерности на основе набора данных.
- Развертывание моделей — это этап интеграции, на котором обученная модель устанавливается в производственную инфраструктуру (серверы, приложения или устройства).
- Инференс — это операционная фаза, то есть сам процесс обработки развернутой моделью живых данных для получения прогноза. Например, inference engine выполняет вычисления, заданные развернутой моделью.
Мониторинг и обслуживание#
Развертывание — это еще не конец пути. После запуска моделям требуется непрерывный model monitoring для обнаружения таких проблем, как data drift, когда реальные данные начинают отклоняться от обучающих. Такие инструменты, как Prometheus или Grafana, часто интегрируются для отслеживания метрик производительности, гарантируя надежность системы с течением времени. Когда производительность падает, модель может потребовать переобучения и повторного развертывания, завершая цикл MLOps.






