要解决的问题

在线服务要同时满足低延迟、高并发和高 GPU 利用率。如何把大量长短不一的请求高效地排进 GPU,如何把放不下单卡的大模型切分到多卡上运行?

核心方法

  • 连续批处理(continuous batching):以迭代(生成一个 token)为粒度调度,请求完成就立即退出批次,新请求随时加入,而不是等整批结束。
  • 张量并行与流水线并行推理:把大模型切分到多张卡上。
  • 跨副本负载均衡:在多个模型副本之间分配请求,可以结合前缀缓存的位置做路由。
  • 服务质量(QoS)、抢占与调度:区分请求优先级,显存不足时抢占并换出部分请求。

实现与工具

  • vLLM:起源于 PagedAttention,提供连续批处理等推理服务能力;模型与硬件支持应以对应版本文档为准。
  • SGLang:擅长前缀共享与结构化生成。
  • TensorRT-LLM:NVIDIA 深度优化的推理库。
  • Triton Inference Server 与 KServe:平台化的多模型服务。

实践建议

把「模型层」与「服务层」分开考虑。先用 vLLM 或 SGLang 把方案跑通,再决定是否迁移到 TensorRT-LLM。

参考资料

相关专题