首页/AI/大模型部署与运维速查/窗口与并发:同一预算的两种花法

窗口与并发:同一预算的两种花法

窗口与并发共享同一份 KV 预算:总量固定时窗口翻倍、并发约减半;max-model-len 的选择本质是「长文能力」与「同时服务量」的业务取舍。

窗口与并发是什么关系

上下文窗口与并发请求数共享同一份 KV 显存预算:预算固定时,窗口翻倍、能同时服务的序列数大约减半。选择最大上下文长度的本质是业务取舍——要「一次读很长的文档」,还是要「同时服务很多人」。推理引擎按设定的窗口上限为每条序列管理 KV 块,窗口设得越大,每条序列占的块越多。

基本信息

参数vLLM:--max-model-len
覆盖范围输入与输出合计的总长度上限
与并发关系窗口越大,单序列 KV 占用越多,可并发数越少
设置依据业务真实长度分布,而不是模型的标称上限
超限行为超出上限的请求被拒绝或截断,取决于服务配置

典型使用场景

  • 长短混合业务:把窗口定在覆盖绝大多数请求的档位,超出的部分交给排队或长文专用实例
  • 高峰期排队排查:确认是否因为窗口开得过大,把并发压到低位
  • 成本优化:在业务可接受的前提下调小窗口,用并发换成本
  • 长文场景独立部署:文档总结类请求单独一个实例,避免拖累短问答池
  • 容量回填:窗口调整后重新压测,把新的并发上限写回台账

相对关系与设置

相对关系与设置
# 相对关系示意(同一份 KV 预算下)
#   窗口 4K   → 可并发序列数为基准
#   窗口 8K   → 约一半
#   窗口 32K  → 约 1/8

# 设置窗口
vllm serve <模型路径> --max-model-len 8192

# 调整后必须复测:并发上限已变,旧压测结论不能直接沿用

按业务定窗口

业务形态窗口取向取舍说明
短问答、分类抽取偏小窗口并发优先,单请求占用小
文档问答、代码审阅中等窗口覆盖多数请求长度,并发与能力平衡
长文总结、超长上下文大窗口单序列占用大,通常需要独立实例或更少并发
窗口限制的是输入加输出的总长度:把窗口设成 8K,意味着输入与生成的 token 合计不能超过 8K,规划时要给输出留出空间。
长短混合的常见做法是分池:短请求池用小窗口换高并发,长文池用大窗口小并发,网关按请求长度路由。

易错点

  • 把窗口开到模型上限当卖点:并发能力被压到低位,高峰期全是排队
  • 只看输入长度定窗口:输出 token 同样占用窗口,长回答会被提前截断
  • 调小窗口后不复测:并发上限变化,容量台账与 SLO 结论都需要重算
  • 长短请求混在同一实例:长文请求吃掉大部分 KV,短请求的尾延迟被拖差

数据来源与参考

  • vLLM 官方文档:Engine 参数与显存调优(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌