Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Задержка инференса

Оптимизируйте производительность ИИ с низкой задержкой inference. Изучите ключевые факторы, реальные приложения и методы повышения скорости реагирования в реальном времени.

Задержка вывода - это время, проходящее между моделью машинного обучения (ML), получающей входные данные и выдачей соответствующего вывода. Эта метрика, обычно измеряемая в миллисекундах (мс), является определяющим фактором в отзывчивости систем искусственного интеллекта (ИИ). Для разработчиков и инженеров, работающих над проектами в области компьютерного зрения (КВ), минимизация минимизация задержки часто так же важна, как и максимальная точность, особенно при развертывании приложений, взаимодействующих с людьми или физическим оборудованием. Высокая задержка приводит к в то время как низкая задержка обеспечивает бесперебойную работу пользователей и позволяет принимать решения мгновенно. концепция, основополагающая для современных интеллектуальных систем.

Важность низкой задержки

В сфере развертывания моделей скорость скорость обработки данных в системе определяет ее пригодность для решения конкретных задач. Низкая задержка вывода - краеугольный камень для выводов в реальном времени, где предсказания должны должны быть сделаны в строго установленные сроки, чтобы их можно было использовать. Например, задержка в несколько сотен миллисекунд может быть приемлемой для рекомендательной системы на Например, задержка в несколько сотен миллисекунд может быть приемлемой для рекомендательной системы на сайте магазина, но она может стать катастрофой для систем, критически важных для безопасности. Понимание специфики понимание специфических требований к задержкам в проекте на ранних этапах разработки позволяет командам выбрать подходящие архитектуры моделей и конфигурации оборудования для обеспечения надежности.

Ключевые факторы, влияющие на задержку

В общее время, необходимое для одного прохода к выводу, вносят вклад несколько переменных компонентов:

  • Архитектура модели: Структурный дизайн Нейронная сеть (НС) в значительной степени влияет на ее скорость. Глубокие модели с большим количеством слоев, такие как большие трансформаторы, по своей природе требуют больше вычислений чем лёгкие сверточные нейронные сети (CNN). Такие архитектуры, как YOLO11 оптимизированы для баланса глубины и скорости для эффективного выполнения.
  • Аппаратное ускорение: Выбор вычислительного блока имеет решающее значение. Хотя стандартный CPU хорошо справляется с общими задачами, специализированное оборудование, такое как GPU (графический процессор) или TPU (Tensor Processing Unit). предназначено для распараллеливания матричных операций, необходимых для моделей ИИ, что значительно сокращает время вычислений. NVIDIA CUDA технология NVIDIA CUDA - распространенный пример программного обеспечения, обеспечивающего такого ускорения.
  • Входное разрешение: Обработка больших изображений или видеокадров требует больше вычислительных ресурсов. Уменьшение размера входного сигнала (например, с 640p до 320p) может уменьшить задержку, хотя потенциально за счет обнаружения мелких объектов - компромисс, изученный в исследованиях EfficientNet.
  • Оптимизация модели: Такие техники, как квантование модели - преобразованиевесов из 32-битных чисел с плавающей запятой в 8-битные целые числа и обрезка модели - удаление лишних вычислений. Инструменты такие как ONNX Runtime, специально разработаны для снижения задержек на целевом оборудовании.

Применение в реальном мире

Практическое влияние задержки вывода лучше всего понять на конкретных примерах использования, где скорость не является обязательным условием.

  1. Автономное вождение: В ИИ в автомобильных приложениях, транспортные средства должны постоянно воспринимать окружающую обстановку. Сайт Система обнаружения объектов, идентифицирующая пешехода переходящего улицу, должна обрабатывать данные с камер и запускать тормозные системы за миллисекунды. Чрезмерная задержка в этом случае увеличивает тормозной путь, что напрямую влияет на безопасность. Исследования задержки автономных транспортных средств показывают, что даже незначительные задержки могут привести к опасным ситуациям.
  2. Промышленная робототехника: Для ИИ на производстве, высокоскоростные Роботы-комплектовщики полагаются на системы технического зрения для определения местоположения предметов на быстро движущейся конвейерной ленте. Если задержка вывода превышает время нахождения объекта в пределах досягаемости робота, система выходит из строя. Внедрение краевые решения ИИ обеспечивают локальную обработку данных на устройстве, устраняя сетевые задержки, связанные с облачными вычислениями.

Задержка логического вывода и пропускная способность

Очень важно различать понятия "задержка" и "пропускная способность", поскольку они часто обратно пропорциональны цели оптимизации.

  • Задержка вывода - это время, затрачиваемое на одно предсказание. Это основная метрика для однопользовательских интерактивных приложений, таких как виртуальные помощники или автономные роботы.
  • Пропускная способность измеряет, сколько прогнозов может обработать система за определенный период времени (например, изображений в секунду). Высокая пропускная способность обычно достигается за счет увеличения размера партии, которая обрабатывает несколько входных данных одновременно. Однако пакетная обработка часто увеличивает задержку для каждого отдельного элемента, ожидающего в очереди.

Это компромисс между задержкой и пропускной способностью требует от разработчиков настраивать конвейеры выводов в соответствии с конкретными потребностями среды развертывания.

Измерение задержки с помощью Ultralytics

Вы можете оценить производительность моделей Ultralytics с помощью встроенного режима бенчмарка. Этот инструмент предоставляет подробные подробные показатели скорости вывода данных в различных форматах, таких как ONNX или TorchScript.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Benchmark the model on CPU to measure latency
# Results will display inference time per image in milliseconds
model.benchmark(data="coco8.yaml", imgsz=640, device="cpu")

Оптимизация для производства

Чтобы добиться минимально возможной задержки, разработчики часто используют механизм вывода, подходящий для их аппаратного обеспечения. Например, Например, развертывание модели на устройстве NVIDIA Jetson с использованием оптимизацияTensorRT может дать значительное ускорение по сравнению с запуском необработанного PyTorch кода. Аналогично, использование Intel OpenVINO может ускорить работу на стандартных CPU архитектур. Эти инструменты оптимизируют вычислительный граф, объединяют слои и управляют памятью более эффективнее, чем стандартные системы обучения.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас