ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

vLLM 上手实战:吞吐量翻倍的部署姿势

vLLM 上手实战:吞吐量翻倍的部署姿势 推理部署同样一张 A100自部署 transformers 推理服务吞吐 15 token/s/请求换 vLLM 后并发总吞吐提升 5-10 倍——这不是玄学是 PagedAttention 和连续批处理的功劳。本文记录我们从零把 vLLM 跑上生产的完整过程。为什么 vLLM 快传统推理的两个瓶颈vLLM 都对症下药显存碎片KV Cache 预分配造成大量浪费实际利用率往往不到 40%。vLLM 的 PagedAttention 借鉴操作系统分页管理把 KV Cache 切成固定大小的 block 按需分配显存利用率提升到 90% 以上。批处理低效静态 batching 要等一整批请求全部完成才能进下一批短请求被长请求拖死。vLLM 的 continuous batching 每个 iteration 动态调度完成的请求立即退出、新请求立即插入。部署三步走# 1. 安装注意 CUDA 版本匹配pipinstallvllm# 2. 启动 OpenAI 兼容服务python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen2.5-14B-Instruct\--gpu-memory-utilization0.92\--max-model-len16384\--enable-prefix-caching# 3. 用 OpenAI SDK 直接调用零改造from openaiimportOpenAI clientOpenAI(base_urlhttp://localhost:8000/v1,api_keyEMPTY)关键参数调优记录gpu-memory-utilization默认 0.9独占卡的场景建议拉到 0.92-0.95给 KV Cache 留足空间。我们的教训默认值下 14B 模型并发 32 路就开始排队拉到 0.93 后 64 路顺畅。max-model-len按业务实际需要设不要无脑开满。窗口从 32K 降到 16K可服务并发数直接翻倍——KV Cache 占用随长度线性增长。enable-prefix-cachingsystem prompt 固定的场景必开。我们的客服场景 system prompt 3K token开启后 prefill 计算量大幅下降P99 延迟降低约 35%。压测数据单卡 A100-40GQwen2.5-14B配置 并发32 总吞吐 P99延迟 transformers FastAPI 280 tok/s 21s vLLM 默认参数 1,850 tok/s 6.8s vLLM 调优 前缀缓存 2,620 tok/s 4.1s生产环境的三个坑版本升级要锁死。vLLM 迭代快小版本间可能有行为变化采样参数语义、日志格式生产环境 pin 死版本升级走灰度。指标监控必备/metrics端点暴露了排队长度、KV Cache 使用率、活跃请求数。排队长度持续上涨就是扩容信号比用户投诉提前得多。长请求会饿死短请求默认调度器按 FCFS一个 32K 的长文摘要可能占住资源。对延迟敏感的业务考虑设置--max-num-batched-tokens限制单步预算或按请求长度分池部署。结论vLLM 是目前开源部署的事实标准默认参数已经能打但生产级的性能都在参数里。先压测再上线监控排队长度——这三件事做到位吞吐翻倍只是起点。
返回列表