如果你关注过本地跑大模型,大概率见过这几类方案:

  1. 消费级显卡——RTX 5090Ti,插上电脑,装个 LM Studio 或 llama.cpp 就用
  2. 工作站/服务器——洋垃圾 X99 平台 + 一两张 V100 算力卡,Ubuntu + CUDA + PyTorch + vLLM 折腾一圈
  3. 企业级——有钱上 B300/H100,什么都没说

这篇文章聊的是第 2 种。我最近刚把一套双 V100 16G 工作站跑通,把硬件、软件栈、踩坑记录和最终结论都记下来。


三个层次的划分

先一句话说清三种方案的差异:

方案硬件软件难度显存适合谁
消费级RTX 5090Ti★☆☆(LM Studio 开箱即用)32GB+个人玩玩,游戏空暇
工作站X99 + E5 2696v4 + 双 V100★★★★(CUDA + vLLM 全手动)32GB有 Linux 技术基础的发烧友
企业级B300/H100★★☆(厂方预装)192GB+不差钱的公司

核心结论先放在前面: 如果你不是有技术基础且愿意折腾的人,第 2 种方案的性价比极低。往下看完成本分析你就懂了。


方案一:消费级——RTX 5090Ti

最简单,也最容易被高估。

个人电脑上插一张 5090Ti,下载 LM Studiollama.cpp,下载模型,开跑。

  • 软件几乎零配置——LM Studio 帮你处理了 CUDA 和模型加载
  • 显存 32GB+——跑 7B~13B 模型没问题
  • 适合——你在玩游戏的空暇,跑个大模型玩一玩

5090Ti 的问题我在最后一部分说。先往下看。


方案二:工作站级——X99 + E5 2696v4 + 双 V100 16G

这是本文的重点。

硬件配置

部件型号
主板X99 T8(需升级 BIOS)
CPUE5 2696v4(22核44线程)
内存DDR4 16GB × 4 = 64GB
算力卡V100 16GB × 2 + 算力卡坞

V100 是 NVIDIA Volta 架构的旗舰数据卡(2017年发布),单卡 16GB HBM2 显存,双卡 32GB。放今天看已是老将,但跑小模型仍然能战。

软件栈

安装顺序固定,跳一步就报错:

Ubuntu Server 22.04 LTS
    ↓
NVIDIA 驱动(卸载系统自带 nouveau → 安装官方驱动)
    ↓
CUDA 11.8 ~ 12.2(建议 11.8,兼容性最好)
    ↓
PyTorch 2.1(对应你的 CUDA 版本)
    ↓
vLLM(最新版)

这里已经能劝退很多人了。 光是卸载系统自带 NVIDIA 驱动、装官方驱动这一步,就能卡住一大半人。谁用谁知道。


踩坑记录(重点)

1. Volta SM7.0 的架构限制

V100 用 Volta 架构,计算能力 SM7.0。这是很多量化加速技术的历史断层点。

以下分为两个维度详细说:bitsandbytes 的官方兼容性,和 V100 硬件层面的原生能力。


bitsandbytes 官方支持矩阵(V100 视角)

bitsandbytes 不同特性对算力架构的要求不一样,很多人一刀切说"V100 支持 bitsandbytes"或"不支持",都不准确:

bitsandbytes 特性最低算力要求V100 SM7.0说明
8-bit 量化 / 8-bit 优化器SM6.0+✅ 完全支持最稳妥的 bitsandbytes 用法
INT4 (NF4/FP4)SM6.0+✅ 可用,但靠软件实现,无硬件加速显存能压下来,但速度偏慢
LLM.int8()(混合精度 8-bit 推理)SM7.5+ (Turing)❌ 不支持V100 没有 Turing 的 INT8 Tensor Core 增强

一句话总结 bitsandbytes:

  • bitsandbytes INT8 权重量化 / 8bit 优化器:可用
  • bitsandbytes INT4 (NF4):可用,但靠软件模拟,速度明显慢于 A100/T4
  • LLM.int8():V100 不能用,只有 Turing (SM7.5+) 及以后架构支持

V100 硬件层面的 INT8/INT4 能力

数据类型V100 硬件原生支持说明
INT8✅ 有 Tensor Core,支持 INT8 矩阵乘加速训练和推理都可以用
INT4❌ 硬件不原生支持,只能靠软件量化+动态计算显存能压下来,但别指望速度

V100 的 Tensor Core 在第一代 Volta 首次亮相,支持 FP16/INT8 矩阵乘。但 INT4 Tensor Core 是 Turing (SM7.5) 才加入的,所以 V100 跑 INT4 全靠 bitsandbytes 软件模拟——能省显存,但吞吐明显低于 A100 或 T4 跑 bnb INT4。


以下技术 V100 用不了:

  • ❌ AWQ —— 直接报错
  • ❌ Marlin 内核加速
  • ❌ FP8 量化(Volta 硬件不支持 FP8)

能用的是:

量化方式V100 兼容性推荐度
FP16 / BF16★★★★★ 首选
GPTQ INT4 / INT8★★★★☆
bitsandbytes INT4 / INT8★★★☆☆(INT8 稳,INT4 偏慢)
AWQ❌ 报错
FP8❌ 不支持
Marlin❌ 不兼容

如果你的模型是 AWQ 格式,直接换 GPTQ 或 bitsandbytes。

2. AWQ 模型直接报错

vLLM 加载 AWQ 模型,V100 上必报错。不是配置问题,是 AWQ kernel 不兼容 Volta。

解决方案: 换成 GPTQ 量化或 bitsandbytes 量化。如果模型官方只有 AWQ,那就自己转。

3. Context Length 限制

max-model-len=8192 —— 必 OOM。

V100 单卡 16GB,跑 7B 模型,context length 最多 4096。双卡通过张量并行勉强能撑到 8192,但也不稳。

经验值:

模型大小单卡 V100 16G双卡 V100 32G
7B40968192(不稳)
13B20484096
70B跑不动跑不动

别跟 H100 比,不在一个世界。

4. gpu-memory-utilization=0.95 偶尔 OOM

默认 0.95 意味着 vLLM 分配 95% 的显存。V100 总共 16GB,95% ≈ 15.2GB。但操作系统、CUDA 上下文、Python runtime 都要占一点,剩下的那几百 MB 稍一波动就 OOM。

解决方案: 压到 0.75 ~ 0.85,给系统留出余量。牺牲一点 batch size 换来稳定不崩。

# vLLM 启动示例
python -m vllm.entrypoints.openai.api_server \
    --model /path/to/model \
    --tensor-parallel-size 2 \
    --max-model-len 4096 \
    --gpu-memory-utilization 0.8 \
    --dtype bfloat16

成本分析:算一笔电费

这是很多人忽略的——跑起来之后的运营成本。

散热方式功耗每小时电费(中国居民电价 ~0.6元/度)
水冷~1000W(1度/小时)~~0.6元/小时
风冷1200~1500W+~~0.7~0.9元/小时

双 V100 满载 + X99 平台 + 水冷泵/风扇,一小时 1 度电是最低最低的估算。风冷还要更高,噪音也更大。

一天跑 10 小时?6~9 块钱电费。一个月跑下来,180~270 块。够买 DeepSeek 的 API 用多久你自己算。

和 DeepSeek API 对比

方案一次性投入月运营费维护成本
双 V100 工作站5000~8000元(二手)200~300元电费高(驱动/库/调优)
DeepSeek API 重度使用0100~300元
RTX 5090Ti 光跑模型20000+元忽略不记

一句话难听但真实的话: 除非你天天跑大量推理、对延迟敏感、有数据隐私需求(不能上云),否则租 API 远比自己搭划算。光是那套 Ubuntu + CUDA + PyTorch + vLLM 的配置调试时间,时薪换算都比 API 费用贵得多。


方案三:企业级——有钱上 B300

跳过。当你跳过这一页的时候,你应该也跳过了前面所有的坑。


最终结论:一句忠告

个人玩玩可以,如果是正经项目连续开发,别折腾。

这套双 V100 工作站最终跑通了,能用。但我要诚实地说:

  1. 消费级显卡(5090Ti)和算力卡(V100)根本不是一个级别的东西。 这不是参数差异,是定位差异——V100 有 HBM2、NVLink、ECC 内存、企业级 PCIe 拓扑优化。5090Ti 游戏卡没有这些,你再怎么堆显存也装不了大型 vLLM 服务。
  2. 公司要为 10~100 人提供 API? 一张 5090Ti 不可能。算力卡就是算力卡。
  3. DeepSeek 现在这么便宜,API 调用比自己搭划算。除非你有数据合规需求或延迟极其敏感,否则别自己建。
  4. 如果你既有技术基础、又享受折腾、又不在乎电费——那这确实是一套能玩的东西。

打总结:没技术基础别碰,有技术基础也算算账再碰。