Узнайте, как механизм вывода оптимизирует модели машинного обучения, такие как Ultralytics , для развертывания в режиме реального времени. Ознакомьтесь с советами по повышению производительности Edge AI уже сегодня.
Механизм вывода — это специализированный программный компонент, предназначенный для выполнения обученных моделей машинного обучения и генерации прогнозов на основе новых данных. В отличие от этапа обучения, который сосредоточен на изучении паттернов с помощью вычислительно-интенсивных процессов, таких как обратная пропагация, механизм вывода строго оптимизирован для операционной фазы, известной как развертывание модели. Его основная цель — выполнять вычисления максимально эффективно, минимизируя задержку вывода и максимизируя пропускную способность на целевом оборудовании, будь то масштабируемый облачный сервер или устройство Edge AI с батарейным питанием . Устраняя накладные расходы, необходимые для обучения, эти механизмы позволяют сложным нейронным сетям функционировать в приложениях реального времени .
Переход от среды обучения к механизму вывода обычно включает в себя несколько этапов оптимизации, направленных на упрощение структуры модели. Поскольку модели больше не нужно учиться, механизм может отбросить данные, необходимые для обновления градиента, эффективно замораживая веса модели. Обычные методы, используемые механизмами вывода, включают слияние слоев, при котором несколько операций объединяются в один шаг для уменьшения доступа к памяти, и квантование модели, которое преобразует веса из форматов с высокой точностью с плавающей запятой в целые числа с более низкой точностью (например, INT8).
Эти оптимизации позволяют передовым архитектурам, таким как Ultralytics , работать с невероятно высокой скоростью без значительной потери точности. Различные движки часто адаптируются к конкретным аппаратным экосистемам, чтобы обеспечить максимальную производительность:
Механизмы вывода являются незаметными движущими силами многих современных удобств искусственного интеллекта, позволяя системам компьютерного зрения мгновенно реагировать на окружающую среду.
Полезно различать программное обеспечение, используемое для создания модели, и движок, используемый для ее запуска. Среда обучения (такая как PyTorch или TensorFlow) предоставляет инструменты для проектирования архитектур, расчета потерь и обновления параметров с помощью контролируемого обучения. Она уделяет приоритетное внимание гибкости и возможностям отладки.
В отличие от этого, механизм вывода берет готовый артефакт из среды обучения и уделяет приоритетное внимание скорости выполнения и эффективности использования памяти. Хотя вывод можно запускать в среде обучения, он редко бывает столь же эффективным, как при использовании специального механизма, особенно для развертывания на мобильных телефонах или встроенных устройствах с помощью таких инструментов, как TensorFlow или Apple Core ML.
Сайт ultralytics Пакет абстрагирует большую часть сложности механизмов вывода, позволяя пользователям
беспроблемно выполнять прогнозы. Внутри он обрабатывает предварительную обработку изображений и выполнение модели.
Для пользователей, которые хотят масштабироваться, Платформа Ultralytics упрощает
процесс обучения и экспорта моделей в оптимизированные форматы, совместимые с различными механизмами инференса.
Следующий пример демонстрирует, как загрузить предварительно обученную модель YOLO26 и выполнить инференцию на изображении:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()