人工智能AI

大模型批量(Batch)推理

2025-07-09  本文已影响0人  梅西爱骑车

一、传统批量(Batch)推理

在(vLLM等推理框架采用的)Continuous Batching之前,传统的大模型推理batch实现方式主要涉及数据预处理、模型输入构建以及推理执行等几个关键步骤:

1.1 数据预处理

1.2 构建模型输入

1.3 推理执行

在这个传统batch推理过程中,padding虽然使得并行计算成为可能,但也带来了内存占用和计算资源浪费的问题,尤其是在不同样本长度差异较大时,很多计算都是在处理padding部分,这也正是Continuous Batching等优化技术出现的原因,它们旨在提高batch推理的效率,减少这种不必要的资源消耗。

二、连续批处理Continuous Batching

这段文字在讲解大模型推理场景里 “Continuous Batching(连续批处理 )” 优化 Padding 问题 的原理,核心是解决多批次推理时因序列长度差异导致的资源浪费和耗时问题,拆解理解如下:

2.1 先看 “多 batch 推理的 Padding 问题”

2.2 再看 “Continuous Batching 的优化逻辑”

“把新的 sequence 填充到短 sequence 后面”,意思是:

2.3 举个简单例子

# 这个例子来自于vLLM官方
from vllm import LLM, SamplingParams
prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="Qwen/Qwen2.5-1.5B-Instruct")
outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

简单说,Continuous Batching 就是通过 动态复用短序列空出的资源,减少无效 padding 的内存、时间消耗,让推理更高效,尤其在多批次、序列长度差异大的场景里,能显著提升模型推理速度。

上一篇 下一篇

猜你喜欢

热点阅读