Узнайте, как непрерывная пакетная обработка оптимизирует GPU и сокращает задержку. Узнайте, как использовать Ultralytics для максимальной эффективности производственных задач машинного обучения.
Непрерывная пакетная обработка — это передовой метод оптимизации планирования и вывода, используемый в машинном обучении (ML) для максимального использования аппаратных ресурсов и пропускной способности. При традиционной статической пакетной обработке механизм вывода ожидает накопления заранее определенного количества запросов, прежде чем обрабатывать их одновременно. Это часто приводит к неэффективности, поскольку система должна дождаться завершения самого длительного запроса в пакете, прежде чем освободить ресурсы. Непрерывная пакетная обработка, также известная как динамическая или итерационная пакетная обработка, решает эту проблему путем введения новых запросов в вычислительную партию, как только завершается активный запрос, что значительно сокращает время простоя графических процессоров и повышает общую эффективность.
Чтобы лучше понять, как обрабатываются данные во время развертывания модели, полезно различать понятие «непрерывная пакетная обработка» от других связанных терминов в глоссарии:
Непрерывное пакетирование имеет решающее значение для производственных систем, которые обрабатывают большие объемы непредсказуемых запросов. Вот два конкретных примера его применения:
При управлении практиками развертывания моделей с высоким трафиком потоковая передача выводов может итеративно имитировать преимущества динамической пакетной обработки, обеспечивая постепенное освобождение памяти вместо ее блокировки. Следующий 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 предлагает надежные инструменты для обучения, мониторинга и экспорта моделей в высокооптимизированные производственные среды.