Под выводом в реальном времени понимается процесс, когда обученная модель машинного обучения (ML) делает предсказания или принимает решения сразу же после поступления новых данных. В отличие от пакетного анализа, который обрабатывает данные, собранные в группы в течение определенного времени, анализ в реальном времени ставит во главу угла низкую задержку и мгновенные ответы. Эта возможность важна для приложений, требующих немедленной обратной связи или действий на основе потоков данных в реальном времени, что позволяет системам динамично реагировать на изменение условий, соответствуя принципам вычислений в реальном времени.
Понимание умозаключений в реальном времени
На практике вывод в реальном времени означает развертывание ML-модели, такой как Ultralytics YOLO модель для компьютерного зрения (CV), чтобы она могла анализировать отдельные входные данные (например, кадры видео или показания датчиков) и выдавать результаты с минимальной задержкой. Ключевой метрикой производительности является задержка вывода- время, которое проходит с момента получения входных данных до генерации предсказания. Достижение низкой задержки часто включает в себя несколько стратегий, в том числе оптимизацию самой модели и использование специализированного оборудования и программного обеспечения.
Умозаключения в реальном времени по сравнению с пакетными умозаключениями
Основное различие заключается в способе обработки данных и связанных с ним требованиях к задержкам:
- Умозаключение в реальном времени: Обрабатывай данные пункт за пунктом по мере их поступления, фокусируясь на минимизации задержки для каждого предсказания. Незаменим для интерактивных систем или приложений, требующих немедленной реакции. Подумай об обнаружении препятствия для самоуправляемого автомобиля.
- Пакетное умозаключение: Обрабатывай данные большими кусками или партиями, часто периодически планируемыми. Оптимизированы скорее для пропускной способности (эффективной обработки больших объемов данных), чем для задержки. Подходит для таких задач, как генерация ежедневных отчетов или анализ больших наборов данных в автономном режиме. Google Cloud предлагает взглянуть на пакетное прогнозирование.
Применение умозаключений в реальном времени
Умозаключения в реальном времени лежат в основе многих современных приложений искусственного интеллекта (ИИ), где очень важно мгновенное принятие решений:
- Автономные системы: В ИИ для самоуправляемых автомобилей и робототехники выводы в реальном времени критически важны для навигации по окружению, обнаружения препятствий(распознавания объектов) и принятия решений в доли секунды.
- Безопасность и наблюдение: Системы безопасности используют умозаключения в реальном времени, чтобы мгновенно обнаруживать вторжения, выявлять подозрительные действия или следить за толпой.
- Здравоохранение: Возможность мгновенного анализа медицинских изображений во время процедур или диагностики может значительно улучшить результаты лечения пациентов и точность диагностики.
- Производство: Контроль качества на производстве в реальном времени позволяет сразу же обнаруживать дефекты на производственной линии, сокращая количество отходов и повышая эффективность.
- Интерактивные приложения: Виртуальные ассистенты, языковой перевод в реальном времени и системы рекомендаций контента полагаются на выводы с низкой задержкой, чтобы обеспечить беспроблемный пользовательский опыт.
Достижение производительности в реальном времени
Чтобы модели работали достаточно быстро для приложений реального времени, часто требуется значительная оптимизация:
- Оптимизация модели: Такие техники, как квантование модели (уменьшение точности весов модели) и обрезка модели (удаление лишних частей модели), снижают вычислительную нагрузку и потребление памяти.
- Аппаратное ускорение: Использование специализированного оборудования, такого как GPU, TPU (Tensor Processing Units) или специальных ускорителей ИИ на пограничных устройствах (например, NVIDIA Jetson, Google Coral Edge TPU), может значительно ускорить вычисления. Сами пограничные вычисления очень важны для локальной обработки данных с минимальной задержкой.
- Эффективные движки вывода: Программные библиотеки и режимы выполнения, такие как TensorRT, OpenVINO, ONNX Runtime, и такие фреймворки, как PyTorch или TensorFlow обеспечивают оптимизированные пути выполнения для обученных моделей. Механизм вывода специально разработан для эффективного запуска моделей для предсказания.
Такие модели, как Ultralytics YOLO11 разработаны с учетом эффективности и точности, что делает их хорошо подходящими для задач обнаружения объектов в реальном времени. Платформы вроде Ultralytics HUB предоставляют инструменты для обучения, оптимизации (например, экспорт в ONNX или TensorRT ) и развертывания моделей, что облегчает реализацию решений для выводов в реальном времени в различных вариантах развертывания.