Skip to content

vLLM 后端架构与使用(基于 GPUStack)

目录


简介

vLLM 是 GPUStack 支持的高性能推理后端,专为 NVIDIA GPU 设计。在 GPUStack 中,大模型(通常 > 30B)和高并发生产场景会自动选用 vLLM 后端。

技术架构

PagedAttention

vLLM 的核心创新,借鉴操作系统虚拟内存的分页机制管理 KV Cache:

  • 将 KV Cache 按固定大小分块(block)存储
  • 按需分配,避免显存碎片化
  • 显著提升显存利用率(相比传统方案吞吐提升 2-4 倍)

连续批处理 (Continuous Batching)

  • 传统静态批处理:等整个 batch 完成后才能加入新请求
  • 连续批处理:请求完成即释放位置,新请求动态加入
  • 大幅提升 GPU 利用率,降低延迟

使用场景

场景说明
大模型服务(>30B)分布式推理、高吞吐
高并发生产服务连续批处理、低延迟
单机多卡 / 多机多卡张量/流水线并行
AWQ/GPTQ/FP8 量化降低显存、提升吞吐
需要高 GPU 利用率PagedAttention 显存管理

在 GPUStack 中使用 vLLM

自动选择

GPUStack 部署模型时,根据模型大小和硬件自动选择 vLLM 后端:

  1. 在 GPUStack UI 部署模型(Hugging Face / ModelScope 等来源)
  2. 模型较大或需要高性能时,GPUStack 自动使用 vLLM
  3. GPUStack 自动配置张量并行、显存等参数

手动指定

在 GPUStack 部署模型时可手动指定后端为 vLLM,并配置参数:

  • 后端 (Backend):选择 vLLM
  • 并行度tensor_parallel_sizepipeline_parallel_size
  • 量化quantization(AWQ / GPTQ / FP8)
  • 上下文长度max_model_len
  • 显存利用率gpu_memory_utilization

后端参数配置

分布式并行

参数说明示例
tensor_parallel_size张量并行度(GPU 数)4(单机 4 卡)
pipeline_parallel_size流水线并行度4(多机按层切分)
yaml
# 部署模型时(示例)
backend: vllm
tensor_parallel_size: 4        # 4 卡张量并行
pipeline_parallel_size: 1

多机分布式推理由 GPUStack 自动调度,Worker 节点间通过 GPUStack 通信。

量化

vLLM 后端支持 AWQ / GPTQ / FP8 量化(详见 quantization.md):

yaml
backend: vllm
quantization: awq             # 或 gptq / fp8

显存与并发

yaml
backend: vllm
gpu_memory_utilization: 0.9   # GPU 显存利用率上限
max_model_len: 8192           # 最大上下文长度(影响 KV Cache)
max_num_seqs: 256             # 最大并发序列数

与其他后端对比

维度vLLMllama.cpp
硬件NVIDIA GPUCPU / GPU
吞吐中低
量化AWQ/GPTQ/FP8GGUF
分布式支持多卡多机单机为主
适用大模型、生产小模型、边缘

GPUStack 根据场景自动在两者间切换,详见 index.md


参考资源