Skip to content

API服务与部署 — 练习

练习 1:API 服务器配置

为以下场景配置 vLLM 服务器:

  1. 单 GPU(A100-80GB),运行 13B 模型,交互式聊天
  2. 4 GPU(A100-80GB),运行 70B 模型,高吞吐 API 服务
  3. 单 GPU(RTX 3090-24GB),运行 7B 模型,量化推理
参考答案
  1. 单 GPU 交互式聊天
bash
vllm serve model-name \
  --max-model-len 4096 \
  --enable-prefix-caching \
  --enable-chunked-prefill \
  --gpu-memory-utilization 0.9
  1. 4 GPU 高吞吐
bash
vllm serve model-name \
  --tensor-parallel-size 4 \
  --max-num-seqs 256 \
  --max-num-batched-tokens 32768 \
  --enable-prefix-caching \
  --gpu-memory-utilization 0.95
  1. 单 GPU 量化
bash
vllm serve model-name \
  --quantization awq \
  --max-model-len 2048 \
  --gpu-memory-utilization 0.85

练习 2:性能调优分析

分析以下性能瓶颈的解决方案:

  1. TTFT 过高(>2s)
  2. 吞吐量低(<100 tokens/s)
  3. OOM 错误频繁发生
  4. GPU 利用率低(<50%)
参考答案
  1. TTFT 过高:启用 chunked prefill(减少单次 prefill 时间)、增大 max-num-batched-tokens、启用 prefix caching(复用 system prompt)。

  2. 吞吐量低:增大 max-num-seqsmax-num-batched-tokens、启用 speculative decoding、减少单请求的 max-tokens

  3. OOM:降低 gpu-memory-utilization、减小 max-model-len、使用量化、减小 max-num-seqs

  4. GPU 利用率低:增大并发请求量、增大 batch token 预算、检查是否有通信瓶颈(TP 场景)。

拓展挑战

  • 使用 vLLM 的 benchmark 工具测试不同配置的性能
  • 研究结构化输出(JSON Schema)的配置和使用
  • 分析多 LoRA 服务(同时服务多个 LoRA 适配器)的实现