了解连续分批处理如何GPU 并降低延迟。探索如何Ultralytics 在生产机器学习任务中实现效率最大化。
连续分批处理是一种用于机器学习(ML)的高级调度和推理优化技术,旨在最大化硬件利用率和吞吐量。在传统的静态分批处理中,推理引擎会等待预定数量的请求累积后才进行并行处理。这种方式常导致效率低下,因为系统必须等待批次中耗时最长的请求完成后才能释放资源。 连续分批处理(亦称动态分批或迭代级分批)通过在活动请求完成后立即将新请求注入计算批次来解决此问题,显著减少GPU空闲时间并提升整体效率。
为更深入理解模型部署过程中数据的处理方式,区分连续分批处理与术语表中其他相关概念将有所裨益:
对于处理大量不可预测请求的生产系统而言,持续分批处理至关重要。以下是其应用的两个具体示例:
在管理高流量模型部署实践时,通过迭代流式推理可模拟动态分批处理的优势——确保内存逐步释放而非被占用。以下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 提供了强大的工具, 用于训练、监控模型,并将模型导出至高度优化的生产环境。