Llama/Qwen 70B 部署需要几张 RTX 4090?2卡、4卡、8卡显存、量化与 vLLM 选型

直接答案:70B/72B 模型用 2 张 RTX 4090 只能主打 4-bit、低并发推理;4 张是量化部署的均衡配置;8 张可以考虑 BF16 或双副本吞吐,但性能不会随卡数线性增长。

很多人估算大模型部署资源时,只做了一道乘法:

模型参数量 × 每个参数占用字节数

这个算法可以判断"权重能否装下",却没有算 KV Cache、CUDA Kernel、框架缓存、量化元数据和通信开销。结果往往是:理论显存够,vLLM 一启动还是 CUDA OOM。

本文以 Llama 3.1 70B 和 Qwen2.5-72B 为代表,说明 2 卡、4 卡、8 卡 RTX 4090 的真实区别,并给出一套偏保守的 vLLM 部署思路。

更新时间:2026-09-17

说明:下文显存数字为容量规划估算,不是实测吞吐数据。模型版本、量化格式、上下文长度和 vLLM 版本不同,结果会变化。

一、先算权重:70B 模型到底占多少显存?

RTX 4090 单卡显存为 24GB。NVIDIA 官方规格同时显示,RTX 4090 不支持 NVLink,因此多卡推理主要依赖 PCIe 通信,并不是把多张显卡简单拼成一张"大显存卡"。NVIDIA RTX 4090 官方规格

Qwen2.5-72B-Instruct 官方模型卡给出的参数量为 72.7B,其中非嵌入参数约 70B;官方还提供了 4-bit AWQ 版本。Qwen2.5-72B-InstructQwen2.5-72B-Instruct-AWQ

按权重本身粗略计算:

精度 70B 理论权重 72.7B 理论权重 适合的 4090 卡数
BF16/FP16 约 140GB 约 145.4GB 8 卡起步
INT8 约 70GB 约 72.7GB 4 卡较合理
INT4/4-bit 约 35GB 约 36.4GB 2 卡可以装权重

这里的"可以装权重"不等于"可以稳定提供服务"。

量化比例、分组参数、未量化层、CUDA Context、临时计算缓冲区都会额外占用显存。vLLM 还要用剩余显存建立 KV Cache,以承载上下文和并发请求。vLLM 官方文档也明确说明,量化是在模型精度与显存占用之间做交换。vLLM Quantization 文档

所以,更稳妥的判断公式是:

text 复制代码
总显存需求
≈ 模型权重
+ 量化元数据
+ CUDA/框架运行开销
+ KV Cache
+ 安全余量

不建议把 48GB、96GB 或 192GB 显存全部按模型权重占满。

二、2 张 4090:能跑 70B,但更适合验证,不适合盲目上生产

两张 RTX 4090 的物理显存合计为 48GB。

对于 70B/72B 模型,比较现实的方案是:

  • 使用 AWQ、GPTQ 等 4-bit 权重;
  • 设置 tensor-parallel-size=2
  • 把上下文先限制在 8K~16K;
  • 降低 max-num-seqs
  • 优先做单用户、内部助手或功能验证。

Qwen2.5-72B-AWQ 的纯权重大约已经在 36GB 量级。加上量化元数据和运行缓冲后,留给 KV Cache 的空间有限。虽然模型可能成功启动,但长上下文或两个以上并发请求就可能触发 OOM。

两卡方案的典型特点如下:

项目 2×4090
总物理显存 48GB
推荐精度 4-bit
推荐上下文起点 8K~16K
适合场景 功能验证、内部低频调用、单用户助手
主要风险 KV Cache 太小、并发差、长上下文易 OOM
是否建议作为默认生产配置 不建议

如果目标只是验证模型能力,两卡具有较低的启动成本;如果服务需要稳定承载 32K 上下文和多路请求,两卡会频繁遇到显存边界。

三、4 张 4090:70B 量化部署的均衡点

四张 RTX 4090 合计提供 96GB 物理显存。

这是 70B/72B 模型比较实用的量化推理配置:

  • 4-bit 权重可以留下较充足的 KV Cache;
  • 可以从 32K 上下文开始调试;
  • 可以承载一定并发,而不只是"模型成功加载";
  • INT8 权重也有机会装下,但需要继续核对实际格式、运行开销和上下文目标;
  • 单机四卡的部署、排错和成本控制都比八卡简单。

四卡的价值不是模型权重必须占满 96GB,而是给 KV Cache、并发和运行时留出空间。

项目 4×4090
总物理显存 96GB
推荐精度 4-bit 优先;INT8 需实测
推荐上下文起点 16K~32K
适合场景 团队知识库、代码助手、内部 API、中等并发
主要优势 权重和 KV Cache 之间更容易取得平衡
主要风险 PCIe 通信、节点拓扑、量化内核兼容性

对于多数想把 70B 模型真正做成内部服务的小团队,4 卡通常比 2 卡更省排错时间,也比 8 卡更容易控制成本。

四、8 张 4090:不要只想着"显存翻倍"

八张 RTX 4090 合计提供 192GB 物理显存。

这个容量可以考虑两条不同路线。

路线一:单副本 BF16

70B/72B 的 BF16 权重大约需要 140~146GB,八卡为运行时和 KV Cache 留出了空间。

但八路 Tensor Parallel 会增加卡间通信。RTX 4090 没有 NVLink,因此"8 卡 BF16 能加载"不代表它一定是吞吐最高、成本最优的方案。应重点检查:

  • GPU 是否在同一台主机;
  • nvidia-smi topo -m 显示的 PCIe 拓扑;
  • 模型层数和注意力头是否适合当前并行方式;
  • 首 Token 延迟与持续生成速度;
  • 长上下文下的 KV Cache 剩余量。

vLLM 官方建议,多 GPU 服务可通过 --tensor-parallel-size 配置张量并行;对于没有 NVLink 的 GPU,还应评估 Pipeline Parallel,以减少部分通信压力。vLLM 并行部署文档

路线二:两个四卡量化副本

如果模型已经使用 4-bit,八张卡不一定要全部组成 TP=8。对于并发型 API 服务,更实用的结构可能是:

text 复制代码
8 张 RTX 4090
→ 2 个模型副本
→ 每个副本 TP=4
→ 前端负载均衡

这种方式可以减少单个请求横跨八张 PCIe 显卡的通信,同时让两个副本分别处理请求。vLLM 支持组合 Data Parallel 与 Tensor Parallel;例如 DP=2、TP=4 总共使用八张 GPU。vLLM Data Parallel 文档

因此,八卡更适合下面两类任务:

  • 必须保留 BF16 权重;
  • 量化模型已有稳定单副本,准备通过双副本增加总吞吐。

五、2卡、4卡、8卡怎么选?

可以用下面这张表快速判断:

需求 推荐配置 原因
先确认 70B 是否满足业务需求 2×4090 + 4-bit 成本低,但限制上下文和并发
团队内部稳定使用 4×4090 + 4-bit 权重、KV Cache、并发更均衡
32K 上下文加一定并发 4×4090 起 两卡剩余 KV Cache 通常偏紧
尽量保留 BF16 权重 8×4090 192GB 总显存才有运行余量
量化模型需要更高吞吐 8卡拆成两个4卡副本 通常比单纯扩大到 TP=8 更值得测试
长期高并发公网服务 先做压测,再比较专业卡 4090 无 NVLink,通信和长期运维都需纳入成本

一句话概括:

2 卡解决"能不能跑",4 卡解决"能不能稳定用",8 卡解决"要不要保留精度或扩大吞吐"。

六、以算家云为例操作演示:四卡 vLLM 保守启动配置

下面以 Qwen2.5-72B-Instruct-AWQ 为例。该命令用于提供配置基线,不代表已在所有节点和 vLLM 版本中完成实测。

先确认 GPU 数量和拓扑:

bash 复制代码
nvidia-smi --query-gpu=index,name,memory.total --format=csv
nvidia-smi topo -m

安装当前项目验证过的 vLLM 版本:

bash 复制代码
python -m pip install -U vllm

四卡启动:

bash 复制代码
CUDA_VISIBLE_DEVICES=0,1,2,3 \
vllm serve Qwen/Qwen2.5-72B-Instruct-AWQ \
  --tensor-parallel-size 4 \
  --quantization awq \
  --dtype half \
  --max-model-len 32768 \
  --max-num-seqs 8 \
  --gpu-memory-utilization 0.90 \
  --host 0.0.0.0 \
  --port 8000

检查服务:

bash 复制代码
curl http://127.0.0.1:8000/v1/models

再发送一条最小请求:

bash 复制代码
curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen2.5-72B-Instruct-AWQ",
    "messages": [
      {"role": "user", "content": "用三句话解释张量并行。"}
    ],
    "max_tokens": 128
  }'

如果部署 Llama 70B,可以替换成已经核验来源、许可证与 vLLM 兼容性的量化权重。不要直接把未知来源的量化模型用于生产环境。

七、出现 CUDA OOM,按这个顺序调整

1. 先降低上下文长度

bash 复制代码
--max-model-len 16384

上下文长度直接影响 KV Cache。模型能加载、请求一来就 OOM,通常应先检查这一项。

2. 再降低并发序列数

bash 复制代码
--max-num-seqs 4

如果单请求正常、多请求 OOM,优先降低并发,不要急着继续降低模型精度。

3. 给运行时留出更多余量

可以将:

bash 复制代码
--gpu-memory-utilization 0.90

改为:

bash 复制代码
--gpu-memory-utilization 0.85

这会减少 vLLM 用于 KV Cache 的显存,但能给 CUDA 和其他运行开销留下空间。

4. 检查多卡显存是否均衡

bash 复制代码
watch -n 1 nvidia-smi

如果某张卡明显更满,需要检查:

  • 模型是否真正启用了 Tensor Parallel;
  • 量化权重是否支持当前并行配置;
  • 是否有其他进程占用部分 GPU;
  • 模型结构能否被当前卡数均匀切分。

5. 最后再考虑 CPU Offload

CPU Offload 可以缓解显存不足,但会增加 CPU---GPU 数据传输,通常会牺牲延迟。它更适合临时验证,不应默认替代合理的 GPU 配置。

八、多卡成本怎么估算?

这里不做"哪种套餐最便宜"的购买结论,只给出资源预算口径。

截至 2026-09-17,算家云专业版创建页显示 RTX 4090 24GB 的按量单价为 1.98 元/卡时

  • 4 卡按量:1.98 × 4 = 7.92 元/小时
  • 8 卡按量:1.98 × 8 = 15.84 元/小时

当前专业版套餐折扣为:

  • 包日 9.8 折;
  • 包周 9.7 折;
  • 1~2 个月 9.5 折;
  • 3~5 个月 9.3 折;
  • 6~11 个月 9.0 折;
  • 12 个月 8.8 折。

按 8.8 折折算,计算资源约为 1.7424 元/卡时;实际账单还取决于租期、数据盘等配置。价格、区域、节点与连续可用卡数均为动态信息,应以发布当日的平台价格为准。

算家云官网将专业版 Pro 定位为长期生产、推理训练和稳定运行,并支持按量、按天、按周和按月等方式。对于需要连续使用 4~8 张 4090 的 70B 推理任务,比起先买硬件,更稳妥的做法是先用固定模型、上下文和并发做一轮小规模压测。

九、部署前必须记录的五个指标

不要只记录"成功启动"。至少记录:

  1. 空载后的每卡显存;
  2. 8K、16K、32K 上下文下的峰值显存;
  3. 首 Token 延迟;
  4. 持续生成速度和总吞吐;
  5. 并发 1、2、4、8 时的错误率和 P95 延迟。

如果四卡已经满足延迟和并发目标,就没有必要为了"卡更多"直接上八卡;如果四卡量化精度不满足业务要求,再测试八卡 BF16。

十、结论

对于 Llama 70B、Qwen 72B 这类稠密模型:

  • 2×4090:4-bit 可以跑,适合 PoC 和低频使用;
  • 4×4090:量化推理的推荐起点,显存和成本较均衡;
  • 8×4090:适合 BF16 或两个四卡量化副本;
  • 4090 没有 NVLink:卡数越多,越要关注 PCIe 拓扑和通信开销;
  • 卡数不能只按权重计算:上下文、并发和 KV Cache 往往才是最终限制。

建议先用四卡、32K 上下文和目标业务请求做压测,再根据显存余量决定缩到两卡,还是扩到八卡。

常见问题

1. 两张 4090 能运行 Qwen2.5-72B 吗?

可以尝试官方 AWQ 4-bit 版本,但应限制上下文和并发。48GB 总物理显存并不等于全部都能用于模型权重。

2. 四张 4090 能直接跑 BF16 70B 吗?

不能。70B BF16 权重本身约需 140GB,四张 4090 只有 96GB。四卡更适合 4-bit,或在充分验证后尝试 INT8。

3. 八张 4090 一定比四张快一倍吗?

不一定。RTX 4090 不支持 NVLink,扩大 Tensor Parallel 会增加 PCIe 通信。对于量化模型,两个四卡副本可能比单个八卡副本更适合并发服务。

4. 为什么模型已经量化,长文本仍然 OOM?

量化主要减少模型权重,长文本占用的是 KV Cache。上下文越长、并发越高,KV Cache 越大。

5. Llama 70B 和 Qwen 72B 的卡数可以完全照搬吗?

不能完全照搬。两者参数量、词表、上下文配置、量化格式和推理内核都有差异,应分别用目标权重和目标框架实测。

相关推荐
程序猿编码15 小时前
扔掉 vLLM!从零构建 Qwen3-8B 推理引擎,C++/CUDA 实现性能追平 98%
大模型·qwen·推理
谢白羽18 小时前
在4×B300用SGLang部署DeepSeek-V4.1 Flash优化实录
笔记·python·llm·llama·sglang
11路没有终点1 天前
从 0 到 1:华为昇腾部署 Qwen3-30B-A3B 大模型推理服务
大模型部署
谢白羽2 天前
MiniMax-H3 : 4卡 H20-3e一套权重部署实践/8卡H200部署优化实测
笔记·llm·论文·大模型部署·sglang
程序猿编码3 天前
两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地
开发语言·gpt·深度学习·神经网络·大模型·qwen
鬓戈3 天前
Qwen3.8-27B + vLLM 性能优化
人工智能·性能优化·vllm
澳鹏Appen3 天前
AppenTalk | 当AI推理不再只是模型的事:Dan Roth谈智能体的真正边界
人工智能·大语言模型·智能体·大模型推理