Continuous Batching
Узнай, как непрерывная пакетная обработка (continuous batching) оптимизирует пропускную способность GPU и снижает задержки. Открой для себя способы использования Ultralytics YOLO26 для максимизации эффективности в производственных ML-задачах.
Непрерывная пакетная обработка — это передовой метод планирования и оптимизации вывода, используемый в машинном обучении (ML) для максимизации использования оборудования и пропускной способности. При традиционной статической пакетной обработке механизм вывода ждет накопления заранее определенного количества запросов перед их одновременной обработкой. Это часто приводит к неэффективности, поскольку системе приходится ждать завершения самого долгого запроса в пакете, прежде чем освободятся ресурсы. Непрерывная пакетная обработка, также известная как динамическая или итерационная, решает эту проблему, внедряя новые запросы в вычислительный пакет сразу после завершения активного запроса, что значительно сокращает время простоя на GPU и повышает общую эффективность.
Link to this sectionРазграничение похожих концепций#
Чтобы лучше понять, как данные обрабатываются во время развертывания модели, полезно отличить непрерывную пакетную обработку от других связанных терминов в глоссарии:
- Размер пакета: Это фиксированное количество выборок, обрабатываемых одновременно во время обучения или вывода. Традиционные рабочие процессы пакетной обработки основаны на статических размерах, тогда как непрерывная пакетная обработка позволяет эффективному размеру пакета динамически меняться в зависимости от входящего трафика.
- Вывод в реальном времени: Эта концепция фокусируется на минимизации задержки вывода для немедленных предсказаний, обрабатывая отдельные входные данные по мере их поступления. Непрерывная пакетная обработка устраняет разрыв между высокопроизводительной статической пакетной обработкой и выводом в реальном времени с низкой задержкой, поддерживая высокую пропускную способность, не заставляя быстрые запросы ждать более медленных.
Link to this sectionРеальные приложения#
Непрерывная пакетная обработка критически важна для производственных систем, обрабатывающих большие объемы непредсказуемых запросов. Вот два конкретных примера ее применения:
-
Высокопроизводительная генерация текста: При обслуживании больших языковых моделей (LLM) генерация ответов для разных пользователей занимает разное время в зависимости от длины вывода. Фреймворки, использующие непрерывную пакетную обработку, такие как vLLM в Ray Serve, могут непрерывно транслировать новые сгенерированные токены и немедленно заменять завершенные диалоги новыми запросами. Этот метод, изначально популяризированный исследованием итерационного планирования, кардинально повышает пропускную способность генерации текста.
-
Асинхронная видеоаналитика: В задачах понимания видео, таких как отслеживание транспортных средств в городской сети камер наблюдения, кадры поступают с разными интервалами. Непрерывная пакетная обработка позволяет моделям отслеживания объектов динамически обрабатывать входящие видеокадры в ту же миллисекунду, когда освобождаются ресурсы, оптимизируя конвейеры аппаратного ускорения для информационных панелей «умного города».
Link to this sectionНепрерывная обработка в задачах компьютерного зрения#
При управлении интенсивным трафиком практик развертывания моделей итеративная потоковая передача выводов может имитировать преимущества динамической пакетной обработки, гарантируя, что память освобождается постепенно, а не блокируется. Следующий пример на Python демонстрирует, как использовать паттерн генератора с API прогнозирования моделей для эффективной обработки непрерывного потока изображений.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)
# Process each result as soon as it completes
for result in results:
print(f"Detected {len(result.boxes)} objects in this frame.")Управление планированием ресурсов на уровне системы требует баланса между скоростью и эксплуатационными расходами. Команды, развертывающие массивные модели компьютерного зрения (CV) и языковые модели, все чаще полагаются на продвинутые фреймворки обслуживания для управления этими динамическими пакетами. Для корпоративных команд, стремящихся оптимизировать свою инфраструктуру, Ultralytics Platform предлагает надежные инструменты для обучения, мониторинга и экспорта моделей в высокооптимизированные производственные среды.






