Appearance
API服务与部署 — 练习
练习 1:API 服务器配置
为以下场景配置 vLLM 服务器:
- 单 GPU(A100-80GB),运行 13B 模型,交互式聊天
- 4 GPU(A100-80GB),运行 70B 模型,高吞吐 API 服务
- 单 GPU(RTX 3090-24GB),运行 7B 模型,量化推理
参考答案
- 单 GPU 交互式聊天:
bash
vllm serve model-name \
--max-model-len 4096 \
--enable-prefix-caching \
--enable-chunked-prefill \
--gpu-memory-utilization 0.9- 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- 单 GPU 量化:
bash
vllm serve model-name \
--quantization awq \
--max-model-len 2048 \
--gpu-memory-utilization 0.85练习 2:性能调优分析
分析以下性能瓶颈的解决方案:
- TTFT 过高(>2s)
- 吞吐量低(<100 tokens/s)
- OOM 错误频繁发生
- GPU 利用率低(<50%)
参考答案
TTFT 过高:启用 chunked prefill(减少单次 prefill 时间)、增大
max-num-batched-tokens、启用 prefix caching(复用 system prompt)。吞吐量低:增大
max-num-seqs和max-num-batched-tokens、启用 speculative decoding、减少单请求的max-tokens。OOM:降低
gpu-memory-utilization、减小max-model-len、使用量化、减小max-num-seqs。GPU 利用率低:增大并发请求量、增大 batch token 预算、检查是否有通信瓶颈(TP 场景)。
拓展挑战
- 使用 vLLM 的 benchmark 工具测试不同配置的性能
- 研究结构化输出(JSON Schema)的配置和使用
- 分析多 LoRA 服务(同时服务多个 LoRA 适配器)的实现