深圳Yolo 视觉
深圳
立即加入
词汇表

连续配料

了解连续分批处理如何GPU 并降低延迟。探索如何Ultralytics 在生产机器学习任务中实现效率最大化。

连续分批处理是一种用于机器学习(ML)的高级调度和推理优化技术,旨在最大化硬件利用率和吞吐量。在传统的静态分批处理中,推理引擎会等待预定数量的请求累积后才进行并行处理。这种方式常导致效率低下,因为系统必须等待批次中耗时最长的请求完成后才能释放资源。 连续分批处理(亦称动态分批或迭代级分批)通过在活动请求完成后立即将新请求注入计算批次来解决此问题,显著减少GPU空闲时间并提升整体效率。

区分相关概念

为更深入理解模型部署过程中数据的处理方式,区分连续分批处理与术语表中其他相关概念将有所裨益:

  • 批量大小:指训练或推理过程中同时处理的固定样本数量。传统批处理工作流依赖静态批量大小,而连续批处理允许有效批量大小根据传入流量动态波动。
  • 实时推理:该概念侧重于最小化 推理延迟以实现即时预测, 在单个输入到达时立即处理。连续批处理通过保持高吞吐量,同时避免让快速请求等待较慢请求, 弥合了高吞吐量静态批处理与低延迟实时推理之间的差距。

实际应用

对于处理大量不可预测请求的生产系统而言,持续分批处理至关重要。以下是其应用的两个具体示例:

  1. 高吞吐量文本生成:在为 大型语言模型(LLMs)时,为不同用户生成 响应所需的时间因输出长度而异。采用 连续批处理的框架——例如 基于Ray Serve的vLLM——能够持续 流式传输新生成的标记,并立即替换已完成对话以处理新提示。这种方法 最初由迭代级调度研究推广, 显著提升了文本生成吞吐量。
  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 视觉。立即找到适合您目标的许可证。

探索许可选项