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

Непрерывная дозировка

Узнайте, как непрерывная пакетная обработка оптимизирует GPU и сокращает задержку. Узнайте, как использовать Ultralytics для максимальной эффективности производственных задач машинного обучения.

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

Различение смежных понятий

Чтобы лучше понять, как обрабатываются данные во время развертывания модели, полезно различать понятие «непрерывная пакетная обработка» от других связанных терминов в глоссарии:

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

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

Непрерывное пакетирование имеет решающее значение для производственных систем, которые обрабатывают большие объемы непредсказуемых запросов. Вот два конкретных примера его применения:

  1. Высокопроизводительное генерирование текста: при обслуживании больших языковых моделей (LLM) генерация ответов для разных пользователей занимает разное время в зависимости от длины вывода. Фреймворки, использующие непрерывную пакетную обработку, такие как vLLM на Ray Serve, могут непрерывно передавать в поток вновь сгенерированные токены и немедленно заменять завершенные разговоры новыми запросами. Этот метод, первоначально популяризованный исследованиями в области планирования на уровне итераций, значительно улучшает пропускную способность генерации текста.
  2. Асинхронная видеоаналитика: при выполнении задач по пониманию видео, таких как отслеживание транспортных средств по сети городских дорожных камер, кадры поступают с разной периодичностью. Непрерывная пакетная обработка позволяет моделям отслеживания объектов динамически обрабатывать поступающие видеокадры в миллисекунды после освобождения ресурсов, оптимизируя аппаратное ускорение конвейеров для информационных панелей умного города.

Непрерывная обработка в задачах машинного зрения

При управлении практиками развертывания моделей с высоким трафиком потоковая передача выводов может итеративно имитировать преимущества динамической пакетной обработки, обеспечивая постепенное освобождение памяти вместо ее блокировки. Следующий 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 предлагает надежные инструменты для обучения, мониторинга и экспорта моделей в высокооптимизированные производственные среды.

Зарядитесь энергией с помощью Ultralytics YOLO

Получите передовое AI-зрение для ваших проектов. Найдите подходящую лицензию для ваших целей уже сегодня.

Изучите варианты лицензирования