Узнайте, как развертывать модели машинного обучения в облачных или пограничных средах. Узнайте, как Ultralytics оптимизирует экспорт и производство для YOLO26.
Развертывание модели — это критически важный этап, на котором обученная модель машинного обучения интегрируется в производственную с целью принятия практических решений или прогнозов на основе новых данных. Это представляет собой переход от исследовательской или экспериментальной среды — часто выполняемой в изолированных ноутбуках — к реальному приложению, где модель взаимодействует с реальными пользователями и системами. Этот процесс преобразует статический файл весов и архитектуры в активного агента искусственного интеллекта, способного приносить пользу, например, идентифицировать объекты в видеопотоке или рекомендовать продукты на веб-сайте.
Эффективное развертывание требует решения задач, отличных от обучения моделей, включая задержки, масштабируемость и совместимость оборудования. Организации часто используют Ultralytics для оптимизации этого жизненного цикла, обеспечивая беспрепятственную доставку моделей, обученных в облаке, в различные среды, от мощных серверов до периферийных устройств с ограниченными ресурсами.
Стратегии развертывания обычно делятся на две категории: развертывание в облаке и развертывание на периферии. Выбор в значительной степени зависит от конкретных требований к скорости, конфиденциальности и возможности подключения.
Перед развертыванием модель обычно проходит оптимизацию, чтобы обеспечить ее эффективную работу на целевом оборудовании. Этот процесс включает в себя экспорт модели, при котором формат обучения (например, PyTorch) преобразуется в формат, удобный для развертывания, такой как ONNX (Open Neural Network Exchange) или OpenVINO.
Методы оптимизации, такие как квантование, уменьшают размер модели и объем занимаемой памяти без значительной потери точности. Для обеспечения согласованности в различных вычислительных средах разработчики часто используют инструменты контейнеризации, такие как Docker, которые упаковывают модель со всеми необходимыми программными зависимостями.
Ниже приведен пример экспорта модели YOLO26 в 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}")
Модель развертывания широко используется в системах компьютерного зрения в различных отраслях промышленности.
Важно отличать развертывание модели от связанных терминов в жизненном цикле машинного обучения:
Развертывание — это не конец пути. После запуска модели требуют постоянного мониторинга для detect , как дрейф данных, когда реальные данные начинают отклоняться от данных обучения. Для track показателей track часто используются такие инструменты, как Prometheus или Grafana, которые обеспечивают надежность системы на протяжении всего времени. При снижении производительности модель может потребовать повторного обучения и повторного развертывания, завершая цикл MLOps.