了解连续批处理如何优化 GPU 吞吐量并减少延迟。探索如何使用 Ultralytics YOLO26 在生产 ML 任务中最大化效率。
连续批处理是一种先进的调度和推理优化技术,用于机器学习 (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 Platform 提供了强大的工具,用于在高度优化的生产环境中训练、监控和导出模型。
开启您的机器学习未来之旅