Continuous Batching
Узнай, как continuous batching оптимизирует пропускную способность GPU и снижает задержку. Узнай, как использовать Ultralytics YOLO26 для достижения максимальной эффективности в производственных задачах ML.
Continuous batching — это продвинутая техника планирования и оптимизации инференса, используемая в machine learning (ML) для максимального использования оборудования и увеличения пропускной способности. При традиционном статическом батчинге inference engine ожидает накопления заданного числа запросов перед их одновременной обработкой. Это часто приводит к неэффективности, так как системе приходится ждать завершения самого долгого запроса в батче, прежде чем высвободятся ресурсы. Continuous batching, также известный как динамический или итерационный батчинг, решает эту проблему, добавляя новые запросы в вычислительный батч сразу после завершения активного запроса, что значительно сокращает время простоя GPUs и повышает общую эффективность.
Link to this sectionРазличие родственных концепций#
Чтобы лучше понять, как данные обрабатываются при деплое моделей, полезно отличить continuous batching от других связанных терминов в глоссарии:
- Batch Size: Относится к фиксированному количеству образцов, обрабатываемых одновременно во время обучения или инференса. Традиционные batch processing workflows полагаются на статические размеры, тогда как continuous batching позволяет эффективному размеру батча динамически меняться в зависимости от входящего трафика.
- Real-Time Inference: Эта концепция фокусируется на минимизации inference latency для мгновенных предсказаний, обрабатывая одиночные входные данные по мере их поступления. Continuous batching заполняет разрыв между высокопроизводительным статическим батчингом и низкозадержковым real-time inference, поддерживая высокую пропускную способность без необходимости заставлять быстрые запросы ждать более медленных.
Link to this sectionРеальные применения#
Continuous batching критически важен для производственных систем, обрабатывающих большие объемы непредсказуемых запросов. Вот два конкретных примера его применения:
-
Высокопроизводительная генерация текста: При обслуживании Large Language Models (LLMs) генерация ответов для разных пользователей занимает разное время в зависимости от длины вывода. Фреймворки, использующие continuous batching, такие как vLLM на Ray Serve, могут непрерывно транслировать вновь сгенерированные токены и немедленно заменять завершенные диалоги новыми промптами. Этот метод, изначально популяризированный исследованием итерационного планирования, радикально повышает пропускную способность генерации текста.
-
Асинхронная видеоаналитика: В задачах video understanding, таких как отслеживание транспортных средств по сети городских камер видеонаблюдения, кадры поступают с разными интервалами. Continuous batching позволяет моделям object tracking динамически обрабатывать входящие видеокадры в ту же миллисекунду, когда освобождаются ресурсы, оптимизируя конвейеры hardware acceleration для дашбордов «умного города».
Link to this sectionНепрерывная обработка в задачах компьютерного зрения#
При управлении высоконагруженными model deployment practices итеративная потоковая обработка инференса может имитировать преимущества динамического батчинга, обеспечивая прогрессивное высвобождение памяти вместо ее блокировки. Следующий пример на Python демонстрирует, как использовать паттерн генератора с model prediction 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.")Управление системным resource scheduling требует баланса между чистой скоростью и операционными затратами. Команды, развертывающие массивные модели computer vision (CV) и языковые модели, все чаще полагаются на продвинутые фреймворки обслуживания для управления этими динамическими батчами. Для корпоративных команд, стремящихся оптимизировать свою инфраструктуру, Ultralytics Platform предлагает надежные инструменты для обучения, мониторинга и экспорта моделей в высокооптимизированные производственные среды.






