3090/4090 玩家必看:DeepSeek-R1/V3 量化版(FP8 vs INT4)在 24G 显存上的吞吐量表现

对于手里握着 3090 或 4090 的玩家来说,DeepSeek-V3/R1 系列模型的发布彻底把“本地推理”的门槛推到了 24G 显存的极限。

目前社区讨论最火的话题是:在 24G 显存限制下,到底是选精度更高的 FP8,还是选更省空间的 INT4?为了给哥几个提供参考,我针对 DeepSeek-R1-Distill-Qwen-32B(目前 24G 显卡的最优选模型)在不同量化格式下的吞吐量(Throughput)和显存占用做了深度实测。


1. 显存占用:生存与空间的博弈

在 24G 显存面前,每一 MB 都要计较。

  • INT4 (4-bit GPTQ/AWQ): 模型权重占用约 18.5GB。剩余显存约 5GB,在开启 Flash Attention 2 后,能支撑起约 16k-32k 的上下文窗口(Context Window)。

  • FP8 (8-bit): 模型权重占用约 31GB

    • 尴尬点: 发现了吗?32B 模型的 FP8 版本直接超过了单卡 24G 的上限。

    • 解决方案: 3090/4090 玩家在单卡跑 FP8 时,通常需要配合 DeepSpeed 或 vLLM 的 Offload(卸载) 技术。如果你坚持单卡跑 FP8,你的吞吐量会因为频繁的显存/内存交换(Swap)而产生断崖式下跌。

    • 结论: 单卡 24G 环境下,INT4 依然是 32B 规模模型长期霸榜的选择。

2. 吞吐量实测(Tokens/s)

测试环境:Ubuntu 22.04, CUDA 12.4, vLLM 引擎。

量化格式 RTX 3090 (Ampere) RTX 4090 (Ada) 备注
INT4 (AWQ) ~38 tok/s ~52 tok/s 响应极快,首字延迟(TTFT)极低
FP8 (原生) ~12 tok/s (Offload) ~18 tok/s (Offload) 受限于 PCIe 带宽瓶颈
GGUF (Q4_K_M) ~32 tok/s ~45 tok/s llama.cpp 方案,稳定性极佳
  • 为什么 4090 领先? 4090 的 Ada 架构 拥有更强的 FP8 Tensor Core 支持和更高的显存带宽。但在单卡显存溢出的情况下,4090 的算力优势会被 PCIe 4.0 的传输上限强行抹平。

3. 精度博弈:FP8 真的更聪明吗?

很多兄弟纠结 FP8,是觉得它比 INT4 聪明。

  • 实测体感: 在代码编写和逻辑推理(CoT)任务中,FP8 的逻辑严密性确实比 INT4 高出约 3%-5%(基于私有评测集)。

  • 代价: 为了这 5% 的精度,你牺牲了 3 倍的推理速度。对于需要实时交互的场景,这个交易并不划算。


:light_bulb: 最终选型建议

  1. 如果你追求极致响应速度: 直接上 INT4 (AWQ/GPTQ)。在 4090 上跑 32B 模型,那种文字喷涌而出的快感是 FP8 给不了的。

  2. 如果你在做深度学术研究或法律/医疗严谨任务: 宁可慢一点,也要选 FP8 或者高位宽的 GGUF (Q6_K/Q8_0),甚至建议直接上双卡(3090 x 2)来跑全量 FP8。

  3. 技术细节: 4090 玩家请务必开启 fp8_fast_accum 标志位,这是 Ada 架构的特有红利。

FP8 跑起来真太慢了