卓普云

vLLM 推理 GPU 选型指南:显存、KV Cache 与性能瓶颈全解析

本文系统解析 vLLM 推理运行机制,深入讲清 Prefill 与 Decode 差异、KV Cache 显存增长逻辑及并行开销,结合主流 GPU 架构,对不同模型规模下的显存与性能选型给出清晰参考。

2026年1月23日
vLLM 推理 GPU 选型指南:显存、KV Cache 与性能瓶颈全解析

为 vLLM 推理有效规划 GPU 规模并进行合理配置,首先需要清晰理解大语言模型处理的两个基本阶段——Prefill(预填充)和 Decode(解码),以及这两个阶段对硬件提出的不同需求。

本指南深入剖析了 vLLM 运行时行为的内部机制,阐明了内存需求、量化和张量并行等核心概念,并提供了将 GPU 选型与实际工作负载相匹配的实用策略。通过探究这些因素之间的相互作用,您将能够准确预判性能瓶颈,并在 GPU 基础设施上部署大型语言模型时,做出明智且具有成本效益的决策。

vLLM 运行时行为剖析:预填充阶段 vs 解码阶段

预填充阶段("读取"阶段)

这是任何请求的第一步。vLLM 接收整个输入提示(用户查询 + 系统提示 + 任何 RAG 上下文),并以高度并行的方式一次性处理所有内容。

  • 过程:模型"读取"上下文,并用该上下文的数学表示填充键值(KV)缓存。
  • 瓶颈:由于并行处理数千个令牌,此阶段几乎总是受限于内存带宽。速度上限取决于 GPU 将巨大的权重矩阵从显存移动到计算核心的速度。有关 GPU 性能特性的更多信息,请参阅我们的 GPU 性能优化指南
  • 实际影响:这决定了首 Token 延迟(Time-To-First-Token)。如果要总结一个长达 10 万 Token 的庞大文档,预填充阶段就是让用户在第一个词出现前等待的原因。

解码阶段("写入"阶段)

预填充完成后,vLLM 进入自回归循环以生成输出。

  • 过程:模型生成一个 Token,将其附加到序列中,然后再次运行整个模型以生成下一个 Token。对于单个请求而言,这本质上是串行的。
  • 挑战:仅为了计算单个用户的一个 Token 而从显存加载庞大的模型权重是极其低效的;GPU 在移动数据上花费的时间比计算还多。
  • 解决方案(连续批处理):为了解决这个问题,像 vLLM 这样的现代引擎不会逐个处理请求。相反,它们使用连续批处理。请求动态地进入和离开批处理批次。vLLM 在同一个 GPU 周期内,将新请求的预填充操作与进行中请求的解码步骤交错进行。
  • 瓶颈:当有效进行批处理时,此阶段变为​计算受限​(受原始 TFLOPS 限制),因为目标是尽可能多地并行处理 Token 计算,以最大化总体吞吐量。

预填充阶段与解码阶段的对比

  • 主要瓶颈:预填充阶段为内存带宽,解码阶段为计算能力。
  • 衡量指标:预填充影响首 Token 延迟,解码影响吞吐量
  • 并行性:预填充阶段针对单个请求具有高并行性;解码阶段对单个请求是顺序的,但通过跨请求的连续批处理实现并行。

Screenshot 2026-01-09 at 5.20.33 PM.png

将阶段与工作负载及硬件关联

了解哪个阶段在您的工作负载中占主导地位,对于选择合适的硬件至关重要。

运行时阶段主要操作主要硬件约束主要用例场景
预填充阶段并行处理长输入。内存带宽(TB/s)(对快速 TTFT 至关重要)RAG、长文档摘要 、大规模少样本提示
解码阶段顺序生成输出。计算能力(TFLOPS)(对快速 Token 生成至关重要)交互式聊天与客服、实时代码生成、多轮智能体工作流

运行时的 KV Cache

在推理过程中,vLLM 高度依赖 KV Cache,用来避免重复计算已经完成的工作。

工作机制

在 Transformer 中,每个 token 都会在注意力层内被转换为 Key(K)Value(V) 向量。 如果没有缓存机制,模型在生成第 t+1 个 token 时,就必须重新处理整个历史序列(token 0 … t)。

解决方案:KV Cache

KV Cache 的作用正是把这些已经计算过的 K / V 向量保存下来并重复利用。

  • Prefill 阶段: vLLM 会一次性为所有输入提示词计算 K / V,并立即写入缓存。
  • Decode 阶段:每生成一个新 token,只需从缓存中读取历史 K / V,并仅为这个新 token 计算新的 K / V。

带来的收益

这种机制将注意力计算:

  • 近似二次复杂度(为了写下每一个字,都要把整本书重新读一遍)
  • 转变为线性复杂度(只需要写下下一个字)

代价:动态内存增长

性能提升的代价是 显存占用

每生成一个新 token,KV Cache 中都会追加新的条目。运行时,KV Cache 的使用量会随着以下因素动态增长:

  • Prompt 长度与输出长度对话越长,占用的 VRAM 越多。
  • **并发请求数(Concurrency)**每一个活跃请求都需要自己独立的一份 KV Cache。
  • 模型规模模型越深(层数越多)、越宽(注意力头越多),每个 token 所需的缓存就越大

这正是为什么人们经常说,使用同一个模型的两个工作负载,可能对硬件的需求却天差地别。

例如:一个 70B 模型 本身也许能放进单张 GPU,但如果在长对话中 KV Cache 持续膨胀,服务器仍然可能因为 显存耗尽(OOM)而直接崩溃

因此,在生产环境中,理解并管理内存行为是部署 LLM 的核心能力之一,这一点在我们卓普云官网博客中的《LLM 微调与部署指南》中也有详细说明。

Screenshot 2026-01-09 at 5.20.47 PM.png

资源配置基础:模型、精度与硬件如何决定适配性

理解 vLLM 的运行时行为后,下一步是确定模型能否在给定 GPU 上运行,以及它能支持怎样的并发级别或上下文长度。

本节将提供所需的数学公式与决策树,用于计算静态内存需求、估算 KV 缓存增长,并系统性地排查和确定适配问题。

GPU 硬件特性与约束

在计算模型大小之前,首先必须理解我们要把模型放进的“容器”是什么。不同的 GPU 在可行性与性能上都有各自明确的硬性限制。

常见数据中心 GPU 的显存容量

以下是当前主流推理 GPU 的物理显存上限,也是模型部署时不可突破的硬限制。

vLLM 推理与训练的 GPU 对比:

GPU型号显存容量峰值密集算力 (FP16 / FP8)主要应用与优势
NVIDIA L40S48 GB362 / 733高性价比推理:非常适合中小型量化模型(7B–70B)。
NVIDIA A10040 GB / 80 GB312 / 不适用前代标准:80GB版本非常适合需要高内存带宽的任务。
NVIDIA H10080 GB989 / 1,979当前高端标准:具备巨大带宽,非常适合需要长上下文长度的应用。
NVIDIA H200141 GB989 / 1,979显著性能提升:支持更大的批处理规模,或以更少的GPU运行70B+模型。
NVIDIA B300288 GB~2,250 / 4,500极致密度:能够以最少的GPU并行性容纳超大模型(如Llama 405B)。
AMD MI300X192 GB1,307 / 2,614超大容量:非常适合运行非常大的非量化模型或处理超大批次。
AMD MI325X256 GB1,307 / 2,614容量优化型:是部署70B+模型(尤其是需要超长上下文)的绝佳选择。
AMD MI350X288 GB2,300 / 4,600高性能旗舰:与B300直接竞争,专为大规模工作负载设计。

即使模型本身能够装入显存,GPU 架构差异仍会显著影响 vLLM 的实际性能。需要重点关注以下指标:

性能指标计量单位对 vLLM 的影响
显存容量GB能否运行? 决定了模型大小和上下文窗口的绝对上限。
内存带宽TB/s预填充速度。 对 RAG(检索增强生成)和长上下文摘要至关重要。高带宽能确保首令牌生成时间更快。
计算能力TFLOPS解码速度。 对聊天应用极为重要。高 TFLOPS 意味着更高的令牌/秒生成速度。
互连速度GB/s并行开销。 任何互连都会增加延迟。即便是 NVLink(DigitalOcean 的标准配置),使用张量并行(TP)也会引入同步开销,导致性能低于单 GPU 运行。

模型权重占用(静态显存)

每个模型都必须在 vLLM 处理请求之前,将其权重加载到 GPU 显存中。 权重大小完全取决于参数量和所选择的精度。

静态权重估算公式

一个模型所需的显存量(以 GB 计)可通过以下公式估算:

显存 (GB) ≈ 参数量 (十亿) × 每参数字节数

下表展示了 Llama 3.1 700 亿参数模型在不同量化精度下的显存计算示例。

精度每参数字节数示例:Llama 3.1 70B 所需显存 (GB)
FP16 / BF162 字节70 x 2 = 140 GB
FP8 / INT81 字节70 x 1 = 70 GB
INT40.5 字节70 x 0.5 = 35 GB

精度选择是决定模型是否可部署的最关键因素。将一个 70B 模型从 FP16 量化为 INT4,可将静态显存占用减少 75%,使其从“单节点无法运行”变为“可在单张 A100 上运行”。因此,在 DigitalOcean GPU 服务器等云环境中,量化是实现高性价比部署的必要手段。

KV Cache 需求(动态显存)

如果说模型权重决定模型是否能够启动,那么 KV​ Cache 决定模型是否能够扩展

KV Cache 往往被严重低估,这也是推理负载下最常见的 OOM 原因之一。

要准确评估部署规模,必须根据预期的上下文长度与并发请求数,估算 KV Cache 的显存消耗。

“现场经验法则”(快速估算)

在大多数实际业务场景中,精确公式并不适合即时计算。

因此通常采用“每 token 显存系数”的方法进行估算,该方式足以支撑初步容量判断。

简化 KV Cache 公式:

KV Cache 总显存(MB) = Token 总数 × 显存系数

其中:Token 总数 = 上下文长度 × 并发请求数

标准显存系数如下表所示:

模型规模标准系数 (FP16 缓存)量化系数 (FP8 缓存)
小模型 (7B - 14B)0.15 MB / 令牌0.075 MB / 令牌
大模型 (70B - 80B)0.35 MB / 令牌0.175 MB / 令牌

示例:

我们假设,某用户计划运行:

  • 模型:Llama 3 70B
  • 上下文长度:32k
  • 并发用户数:10

计算 Token 总数:32,000 × 10 = 320,000 tokens

套用标准系数(0.35):320,000 × 0.35 MB = **112,000 MB ≈ 112 GB

FP8 选项验证:若启用 FP8 量化缓存,显存占用将降至一半:约56 GB

最终配置方案:

  • FP16 缓存方案:112 GB KV 缓存 + 140 GB 模型权重 = 总计 252 GB(需 4 块 H100 GPU)
  • FP8 缓存方案:56 GB KV 缓存 + 140 GB 模型权重 = 总计 196 GB (可部署于3 块 H100;若模型权重同步量化,2 块 H100 亦可勉强容纳)

精确计算工具与公式

针对边界场景或深度验证,请使用专业公式或在线计算器:

总KV缓存 (GB) = (2 × 模型层数 × 模型维度 × 序列长度 × 批大小 × 精度字节数) / 1024^3

何时需要使用 Tensor Parallelism(张量并行)

Tensor Parallelism(TP)是一种将模型权重矩阵拆分到多张 GPU 上的技术。

它可以让 vLLM 将多张 GPU 视为一张“逻辑大卡”,共享显存资源。

为什么要使用张量并行?张量并行的主要目标是​可行性,而非性能优化​。

通常在以下场景中启用:

1、模型权重超限:模型体量超过单卡物理承载极限(例如:24GB 显存的 GPU 无法加载 Llama 3 70B 模型)

2、KV 缓存空间耗尽:模型权重虽可加载,但未预留任何 KV 缓存空间,导致无法处理长上下文或高并发请求

虽然张量并行(TP)能极大释放显存,但它也引入了通信开销。在每一层计算完成后,所有 GPU 必须同步它们的部分计算结果。

  • 单 GPU 适配情况:如果一个模型能在单张 GPU 上运行,那么使用单 GPU 几乎总是比使用双 GPU 更快,因为它完全避免了通信开销。
  • 互联依赖:TP 的性能高度依赖于高速的 GPU 间通信带宽。如果在没有 NVLink 的显卡上使用 TP(例如仅通过标准 PCIe 连接),由于同步延迟,推理速度可能会显著下降。

若需部署多 GPU 环境,可考虑使用 DigitalOcean Kubernetes 来编排 vLLM 服务。

数值实测:资源配置场景分析

在进入高级配置前,让我们将前几节的数学计算应用到实际场景中。这有助于验证我们对“适配性”的理解,并揭示纯计算中常被忽略的实际约束。

隐藏的显存开销

一个常见的错误是计算 \ 权重 + 缓存 = 总显存需求\,并假设可以达到 100% 的利用率。实际情况并非如此。

  • CUDA上下文与运行时开销​:GPU 驱动、PyTorch 和 vLLM 运行时本身就需要预留内存来初始化(通常为 2-4 GB)。
  • 激活缓冲区​:前向传播过程中用于存储中间计算结果的临时空间。
  • 安全配置原则​:务必预留约 4-5 ​GB的显存作为“不可用”的系统开销。如果你的计算结果显示仅剩 0.5 GB 可用,服务器很可能会崩溃。

场景 A:轻松适配(标准聊天)

  • 硬件​:1x NVIDIA L40S(48 GB 显存)
  • 模型​:Llama 3 8B(FP16 精度)
  • 计算​:
    • 权重:80 亿参数 x 2 字节 = 16 ​GB
    • 系统开销:-4 ​GB
    • 可供缓存的剩余显存:48 - 16 - 4 = 28 ​GB
    • 缓存容量估算:28,000 MB / 0.15 MB 每 Token = 约 186,000Token

结论​:​适配极佳。​此配置可应对大规模负载(例如,60 个并发用户,每人 3k 上下文)。

结果​:高吞吐量,低成本。

Screenshot 2026-01-09 at 5.21.00 PM.png

场景 B:“权重超标”(大模型,单GPU)

  • 硬件​:1x NVIDIA H100(80 GB 显存)
  • 模型​:Llama 3 70B(FP16 精度)
  • 计算​:

权重:700 亿参数 x 2 字节 = 140 ​GB

结论​:​完全无法适配。​模型权重(140 GB)已超过 GPU 物理容量(80 GB)。

​要想解决这个问题,​必须使用​张量并行​​**(2x ​GPU)** 或量化技术(见第 3 节)。

Screenshot 2026-01-09 at 5.21.09 PM.png

场景 C:“缓存陷阱”(模型能加载,但无法运行)

  • 硬件​:1x NVIDIA H100(80 GB 显存)
  • 模型​:Llama 3 70B(FP8 量化精度)
  • 计算​:
    • 权重:700 亿参数 x 1 字节 = 70 ​GB
    • 系统开销:-4 ​GB
    • 可供缓存的剩余显存:80 - 70 - 4 = 6 ​GB
    • 缓存容量估算:6,000 MB / 0.175 MB 每 Token (FP8) = 总计约 34,000Token

结论​:​有风险 / 适配性差。​模型可以加载,但几乎没有可用的工作空间。

如果现在有 10 个并发用户,每人仅能分配到约 3.4k 上下文。一旦有用户粘贴长文档(4k Token),系统就会因显存不足而崩溃。

这个场景给我们一个启发,即权重能放下,不代表工作负载能运行。 此场景通常需要增加 GPU 或选择更小的模型。

Screenshot 2026-01-09 at 5.21.16 PM.png

场景 D:解决方案(张量并行)

让我们通过增加第二张 GPU 来解决场景 C 中的“缓存陷阱”。这展示了张量并行(TP)如何整合内存资源。

  • 硬件​:2x NVIDIA H100(每张 80 GB 显存 = 总计 160 GB 可用)
  • 模型​:Llama 3 70B(FP8 量化精度)
  • 计算​:
    • 总可用显存:160 ​GB
    • 权重:​**-70 ​GB**​(分摊到两张 GPU 上)
    • 系统开销:​**-8 ​GB**​(每张 GPU 约 4 GB)
    • 可供缓存的剩余显存:160 - 70 - 8 = 82 ​GB
    • 缓存容量估算:82,000 MB / 0.175 MB 每 Token (FP8) = 总计约 468,000Token

结论​:​可用于生产环境。​通过增加第二张 GPU,我们从“仅有风险性的 6 GB”缓存空间,提升到了“充裕的 82 GB”。

对于 10 个并发用户情况,现在每人可获得约​46k 上下文​。显存不足的风险已消除,该部署可以轻松应对 RAG 或长文档处理。

Screenshot 2026-01-09 at 5.21.23 PM.png

量化:“压缩”模型的艺术

正如前文资源配置场景所示,VRAM 是 LLM 推理的主要瓶颈。量化是一种通过降低数字表示精度的技术,用微小的精度损失换取内存效率和速度的大幅提升。

关键在于区分 vLLM 中使用的两种量化类型,因为它们针对不同的约束条件。

类型一:模型权重量化("静态"优化方案)###

这涉及在加载预训练模型之前,对其庞大、静态的权重矩阵进行压缩。

  • 目的​:使模型能够适配到其全精度权重原本会超过 VRAM 容量的 GPU 上。
  • vLLM 实现方式​:虽然 vLLM 可以在启动时动态量化权重,但通常更高效的做法是直接加载已经使用 AWQ(激活感知权重量化)或 GPTQ 等高性能内核预量化好的模型。这些专用格式相比通用的即时转换,能提供更好的精度保持和更快的解码速度。
  • 影响​:将静态 VRAM 占用减少 50%(FP8/INT8)至 75%(INT4/AWQ),从而显著增加用于 KV 缓存的剩余 VRAM。

类型二:KV 缓存量化("动态"优化方案)

这涉及在序列生成过程中,对存储在内存中的中间键(Key)和值(Value)状态进行压缩。

  • 目的​:使模型能够扩展以支持更高的并发批处理量或更长的上下文窗口。
  • vLLM 实现方式​:通过运行时参数 (--kv-cache-dtype) 控制。
  • 建议​:对于支持 FP8 张量核心的现代硬件(如 NVIDIA H100, L40S, AMD MI300X,在 DigitalOcean 云平台上你可以找到这些 GPU 服务器,而且价格低于 AWS、谷歌云 GCP,详情可咨询 DigitalOcean 中国区独家战略合作伙伴卓普云 AI Droplet。),强烈建议启用 FP8 ​KV​​缓存​。它能以对模型质量几乎可忽略的影响,将可用上下文容量翻倍。
  • 影响​:将第 2 节中讨论的每个 token 的内存需求减半(例如,将 70B 模型的乘数从约 0.35 MB/token 降至约 0.175 MB/token)。

vLLM GPU 精度格式

并非所有量化格式都是相同的。选择取决于可用的硬件架构以及模型大小与精度之间的期望平衡。

精度 / 格式每个参数占用字节数精度影响最佳硬件支持推荐使用场景
FP16​ / BF16 (基准)2无(参考标准)所有现代 GPU黄金标准​。在 VRAM 容量允许时优先使用。
FP8 (8 位浮点数​**)**1可忽略H100, H200, L40S, MI300X现代默认选择​。在新硬件上速度与质量的最佳平衡。KV 缓存理想选择。
AWQ / GPTQ (INT4 变体)~0.5低/中A100, L40S, 消费级显卡​**“极致压缩”选项**​。在较旧或较小 GPU 上运行大模型的必备技术。解码速度优异。
通用 INT81旧款 GPU (V100, T4)传统方案​。在新硬件上通常被 FP8 取代,或在追求极限压缩时被 AWQ 取代。

Screenshot 2026-01-09 at 5.21.32 PM.png

策略性应用与权衡

决定何时应用量化需要在实际约束与工作负载敏感性之间取得平衡。量化虽强大,但涉及在部署规划时必须考虑的根本性权衡。

关键考量因素:精度与硬件

在确定具体场景前,请考虑以下两个基础约束:

  1. 精度 vs. 压缩率​:激进的量化(如 INT4)可能会降低在涉及复杂推理或代码生成的敏感任务上的性能。对于大多数聊天和 RAG 用例,FP8 通常被认为是安全的。
  2. 硬件兼容性​:所选格式必须与硬件能力匹配。例如,FP8 量化需要配备 FP8 张量核心的 GPU(NVIDIA Ada/Hopper 或 AMD CDNA3 架构)才能实现性能提升。

何时应推荐使用量化

基于上述权衡,量化适用于广泛的现实场景,并且在企业环境中经常是默认选择:

  • 无法以FP16​​格式运行的大模型​:对于 70B 级别的大模型,要在单张 48GB 或 80GB GPU 上部署,INT4/INT8 通常是唯一途径。
  • 高并发工作负载​:减少的 VRAM 占用为 KV 缓存释放了大量空间,从而支持更多活跃序列和更长的提示词。
  • RAG 和企业聊天应用​:这些工作负载通常能很好地容忍微小的精度偏差,而不会影响最终用户体验。
  • 成本优化​:量化使得工作负载可以在更小、更便宜的 GPU 型号上运行,同时保持可接受的性能。这在 DigitalOcean GPU Droplets 上部署时也很有价值,因为您可以根据具体需求来平衡性能与成本。

何时应避免使用量化

量化并非普遍适用。有些工作负载对精度损失高度敏感,应尽可能保持在 FP16/BF16 精度:

  • 代码生成与调试​:较低的精度可能会削弱结构化推理能力,导致细微的语法错误或逻辑缺陷。
  • 数学、金融和科学查询​:需要精确计算的任务显著受益于更高精度的格式,以避免舍入误差。
  • 评估、基准测试​​或回归测试​:微小的精度漂移可能导致不同模型版本或设置之间的比较失效。
  • 涉及多步推理的智能体​​工作流​:多个步骤中的累积误差可能会降低系统的整体可靠性和任务完成率。

整合实践:从需求到部署方案

至此,我们已经探讨了 vLLM 的运行时行为(第 1 节)、内存基础原理(第 2 节)以及量化策略(第 3 节)。

本节将这些概念连接成一个可重复的决策框架。它将引导你从理论走向实践,提供一个结构化的工作流程,用于评估可行性、选择硬件并制定部署计划。

第一步:资源配置需求问卷

要准确配置 vLLM 部署,必须从工作负载描述中提取具体的技术细节。像“快速推理”这样的抽象目标是不够的。使用以下五个问题来收集必要的数据:

  1. “您需要支持的最大上下文长度是多少?”原因​​:决定 KV 缓存大小(进而决定 OOM 风险)。
  2. “您的目标并发量(同时在线用户数)是多少?”原因​​:KV 缓存需求会成倍增加。
  3. “可接受的延迟是多少(首 Token 时间TTFT和每秒生成 Token 数)?”原因​​:决定您是需要高带宽(H100)还是仅需足够容量(L40S)。
  4. “模型精度是否关键(数学/代码),还是‘够用就好’即可(聊天)?”原因​​:决定您是否可以使用量化(INT4/FP8)来节省成本。
  5. “您是否有严格的预算限制?”原因​​:帮助在优化极致速度(H100)与性价比(L40S)之间做出抉择。

第二步:选择模型大小与精度

需求明确后,确定能满足质量要求的最小的模型和最高的精度。

  • 精度是调节杠杆​:更低的精度(INT4/FP8)使得在更便宜的硬件上运行大模型成为可能。

  • 70B 法则​:FP16 精度的 70B 模型需要特殊硬件(多 GPU)。而 INT4 精度的同一模型则可以在普通硬件(单 GPU)上运行。

  • 指导原则​: ​聊天/助理​:使用 INT4 或 FP8。

    代码/推理​:使用 FP16 或 FP8(避免 INT4)。

第三步:硬件可行性检查

使用第 2 节的数学方法进行适配性验证。

  1. 静态适配(权重)​:参数量 * 精度字节数 是否能在 VRAM 中放下? ​如果不能​:进行量化(第二步)或增加 GPU(张量并行)。

  2. 动态适配(缓存)​:是否有足够空间容纳 上下文长度 * 并发数 * 每 Token 内存系数? ​如果不能​:降低并发数、缩短上下文长度,或启用 FP8 KV 缓存。

  3. 工作负载适配(带宽)​: ​长文本 RAG/摘要​:需要高带宽(H100/A100)。

    标准聊天​:需要高算力(L40S)。

第四步:推荐GPU策略

可行性确认后,选择具体的 GPU 型号。可参考以下“速查表”应对常见场景。DigitalOcean 平台可提供以下表格中所有型号的 GPU(其中 B300 GPU 将在 2026 年初上线,可联系卓普云 AI Droplet 进行预约测试)。

第五步:使用指标进行验证

纸上计算并非完美。

  • 检查TTFT​:如果过高,说明预填充阶段存在瓶颈(带宽饱和)。
  • 检查 Token 间延迟​:如果过高,可能是批次大小设置过于激进(计算饱和)。
  • 检查KV​​缓存使用率​:如果持续 >90%,则存在 OOM 风险,应启用分块预填充或降低并发数。

常见问题解答

1. 运行LLM推理需要多少GPU显存?

GPU 显存需求取决于模型大小、精度、上下文长度和并发量。一个粗略的经验法则是:仅就权重而言,FP16 模型每 10 亿参数约需要 2GB。因此,一个 70B 的模型,FP16 权重需要 140GB,但使用 INT4 量化后仅需 35GB。此外,还必须考虑 KV 缓存的内存占用,它会随上下文长度和并发用户数增长。例如,对于一个 70B 模型,32k 上下文长度和 10 个并发用户,FP16 缓存约需 112GB,而 FP8 缓存约需 56GB。

2. vLLM 中张量并行与流水线并行有何区别?

张量并行​:将模型权重矩阵在同一层内切分到多个 GPU 上,允许多个 GPU 同时处理同一计算。这整合了显存资源,但需要在每层计算后进行同步,从而引入通信开销。

流水线并行​:将模型各层按顺序分配到不同 GPU 上,每个 GPU 处理不同的层。

TP 通常用于单个 GPU 无法容纳整个模型时,而 PP 更常见于训练场景。对于推理任务,当模型超出单 GPU 容量时,TP 是标准的处理方法。

3. 在 vLLM 部署中,何时应使用量化技术?

在以下情况推荐使用量化:模型无法在可用显存中加载时;需要支持更高并发或更长上下文窗口时;或者成本优化是优先考虑事项时。FP8 量化是现代硬件(H100, L40S, MI300X)的理想选择,精度损失极小。INT4 量化是在较小 GPU 上运行大模型的必要手段,但在代码生成、数学及科学计算等对精度敏感的任务中应避免使用。对于聊天和 RAG 类工作负载,量化通常是默认选择。

4. 如何计算KV缓存的内存需求?

可以使用每 token 乘数法进行快速估算:将总 token 数(上下文长度 × 并发量)乘以模型特定的系数。对于小型模型(7B-14B),FP16 缓存系数约为 0.15 MB/token,FP8 约为 0.075 MB/token。对于大型模型(70B-80B),FP16 缓存系数约为 0.35 MB/token,FP8 约为 0.175 MB/token。如需精确计算,可使用公式:总 KV 缓存 = (2 × 层数 × 模型维度 × 序列长度 × 批次大小 × 精度字节数) / (1024³),或使用在线工具如 LMCache KV Calculator。

5. 我可以在 DigitalOcean GPU Droplets 上运行 vLLM 吗?

可以,vLLM 可以部署在 DigitalOcean GPU Droplets 上。DigitalOcean 提供的搭载 NVIDIA GPU 的 Droplets 能够满足 vLLM 的运行要求。部署时,请确保所选 GPU 的显存足以支撑您的模型大小和工作负载。对于追求成本效益的部署,可以考虑使用量化模型(INT4 或 FP8)以便在较小的 GPU 实例上运行更大的模型。DigitalOcean 的 GPU Droplets 提供 NVLink 连接,这在多 GPU 使用张量并行时对保证效率至关重要。

vLLM GPU 推理的实际应用场景

基于对模型大小、精度、GPU 架构、KV 缓存及批处理等因素如何影响性能的基础理解,在接下来的教程中,我们将把这些概念应用到实际的 vLLM 工作负载中。

针对每个用例,我们将围绕三个核心问题来确定最优配置方案:

  1. 工作负载定义​:其核心特征是什么?(例如,提示词长度与输出长度、并发量、延迟敏感性)。
  2. 资源配置优先级​:哪些因素是瓶颈?(例如,权重与 KV 缓存之争、带宽与算力之争)。
  3. 配置模式​:哪些具体的参数设置和硬件选择能确保稳定可靠的性能?

用例一:交互式聊天与智能助手

  • 关注点​:​**低延迟(受解码阶段限制)**​。
  • 目标​:为用户提供流畅的流式输出和快速的“打字速度”体验。
  • 关键约束​:计算能力与​Token 间延迟​。

用例二:高吞吐量批处理

  • 关注点​:​最大吞吐量​​**(受计算限制)**​。
  • 目标​:为离线任务(如摘要生成)实现每小时处理数百万 Token。
  • 关键约束​:​系统总吞吐量​。

用例三:RAG 与长上下文推理

  • 关注点​:上下文容量(受内存​​**限制)**​。
  • 目标​:将海量文档或历史记录加载到内存中而不致崩溃。
  • 关键约束​:显存容量与​内存带宽​。

小结

为 vLLM 合理配置 GPU 资源,需要深入理解模型大小、精度、上下文长度和并发量之间的根本性权衡。预填充阶段和解码阶段对硬件有不同的需求:预填充阶段需要高内存带宽,而解码阶段则需要高计算吞吐量。量化技术是在现有硬件上运行大型模型的核心调节手段,而张量并行则能突破单 GPU 的限制,实现横向扩展。

成功部署的关键在于​将您的工作负载特性与正确的硬件配置相匹配​。交互式聊天应用优先考虑算力以实现快速 Token 生成,而 RAG 和长上下文工作负载则需要巨大的显存容量和高内存带宽。遵循本指南概述的资源配置框架,您可以系统地评估可行性、选择合适的硬件,并为生产环境中的工作负载优化您的 vLLM 部署。

接下来你还可以

准备好在 GPU 基础设施上部署 vLLM 了吗?你可以通过以下资源快速开始:

在 DigitalOcean GPU Droplets 上部署

通过在 DigitalOcean GPU Droplets 上实际部署 vLLM,获得第一手使用体验。你可以在 DigitalOcean 官方文档中学习如何搭建运行环境,并对 vLLM 进行性能优化配置。你也可以通过以下 DigitalOcean 发布在卓普云官网的教程与实践总结,学习更多经验:

体验 DigitalOcean 产品

如需更多技术指南与最佳实践,欢迎访问 DigitalOcean 英文官网,或咨询 DigitalOcean 中国区独家战略合作伙伴卓普云(aidroplet.com)。

首页/教程/vLLM 推理 GPU 选型指南:显存、KV Cache 与性能瓶颈全解析

相关文章

Moltbot/Clawdbot是什么?如何在云服务器部署 Moltbot/Clawdbot?
教程

Moltbot/Clawdbot是什么?如何在云服务器部署 Moltbot/Clawdbot?

这是一篇在云服务器上部署和配置AI助手Moltbot/Clawdbot的详细教程。

2026年1月29日
AI 下半场:Agent 成分水岭,如何选对 GPU 算力攻克推理成本死穴?
教程

AI 下半场:Agent 成分水岭,如何选对 GPU 算力攻克推理成本死穴?

AI 竞争重心正从模型规模转向智能体(Agent)。针对 Agent 高频推理、长上下文的特征,算力需求已发生质变。本文拆解了从原型到规模化部署的 GPU 选型逻辑。

2026年1月27日
如何在Ubuntu系统上配置NFS挂载?(详细步骤指南)
教程

如何在Ubuntu系统上配置NFS挂载?(详细步骤指南)

本文提供在Ubuntu系统上配置NFS挂载的完整教程,涵盖主机与客户端的安装、共享目录设置、权限管理及防火墙配置,并对比两种典型场景的权限控制差异。

2026年1月26日