Оптимизируйте производительность ИИ с низкой задержкой inference. Изучите ключевые факторы, реальные приложения и методы повышения скорости реагирования в реальном времени.
Задержка вывода - это время, проходящее между моделью машинного обучения (ML), получающей входные данные и выдачей соответствующего вывода. Эта метрика, обычно измеряемая в миллисекундах (мс), является определяющим фактором в отзывчивости систем искусственного интеллекта (ИИ). Для разработчиков и инженеров, работающих над проектами в области компьютерного зрения (КВ), минимизация минимизация задержки часто так же важна, как и максимальная точность, особенно при развертывании приложений, взаимодействующих с людьми или физическим оборудованием. Высокая задержка приводит к в то время как низкая задержка обеспечивает бесперебойную работу пользователей и позволяет принимать решения мгновенно. концепция, основополагающая для современных интеллектуальных систем.
В сфере развертывания моделей скорость скорость обработки данных в системе определяет ее пригодность для решения конкретных задач. Низкая задержка вывода - краеугольный камень для выводов в реальном времени, где предсказания должны должны быть сделаны в строго установленные сроки, чтобы их можно было использовать. Например, задержка в несколько сотен миллисекунд может быть приемлемой для рекомендательной системы на Например, задержка в несколько сотен миллисекунд может быть приемлемой для рекомендательной системы на сайте магазина, но она может стать катастрофой для систем, критически важных для безопасности. Понимание специфики понимание специфических требований к задержкам в проекте на ранних этапах разработки позволяет командам выбрать подходящие архитектуры моделей и конфигурации оборудования для обеспечения надежности.
В общее время, необходимое для одного прохода к выводу, вносят вклад несколько переменных компонентов:
Практическое влияние задержки вывода лучше всего понять на конкретных примерах использования, где скорость не является обязательным условием.
Очень важно различать понятия "задержка" и "пропускная способность", поскольку они часто обратно пропорциональны цели оптимизации.
Это компромисс между задержкой и пропускной способностью требует от разработчиков настраивать конвейеры выводов в соответствии с конкретными потребностями среды развертывания.
Вы можете оценить производительность моделей 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 архитектур. Эти инструменты оптимизируют вычислительный граф, объединяют слои и управляют памятью более эффективнее, чем стандартные системы обучения.