本课目录(6 节)
显存账:多大模型配什么服务器
从 0.5B 换到 7B,原来的机器就未必够用了。这一课教你把"这模型我们服务器跑得动吗"从感觉题变成算术题——这是 FDE 报价和方案设计里最硬的一块知识,算错轻则项目亏钱,重则现场 OOM 下不来台。
一、先分清四样资源
- CPU / GPU:负责计算。CPU 擅长逻辑判断与任务调度,GPU 擅长大规模并行(矩阵乘法、卷积);
- 内存 / 显存:容纳运行中的数据。模型下载得下来只说明磁盘放得下,能不能跑看的是内存/显存;
- 磁盘:保存模型文件;
- 功耗与散热:GPU 越多供电散热压力越大,数据中心的电力成本要计入 TCO。
GPU 并非做什么都快:数据量小的时候,计算资源用不满,CPU↔GPU 之间的传输调度开销反而更贵。小规模任务 CPU 可能更高效。
二、权重速算:参数量 × 精度系数
模型参数规模用 B(10 亿参数)计。不同精度下每 1B 参数的权重占用:
| 精度 | 每 1B 参数占用 | 常见用途 |
|---|---|---|
| FP32 | 4GB | 训练、高精度推理 |
| FP16 / BF16 | 2GB | 训练、推理(最常用) |
| INT8 | 1GB | 量化推理 |
| INT4 | 0.5GB | 低精度量化推理 |
**例:7B 模型 FP16 推理,权重 ≈ 7 × 2 = 14GB。**这张表要背下来,客户现场问"7B 模型要多大卡",你要能脱口而出。
三、推理显存 = 权重 + KV Cache + 框架开销
光算权重不够,推理时还要加两项:
- KV Cache:保存生成过程中已计算 Token 的信息,避免重复计算。占用随上下文长度和并发请求数增长——长文档场景和多人同时用,KV Cache 会吃掉很多显存;
- 框架及临时开销:基本恒定。
所以:GPU 推理显存 ≈ 权重 + KV Cache + 开销。14GB 权重的 7B 模型,24GB 卡能跑但余量有限,长上下文就要靠量化或换更大卡。
四、训练为什么更贵:每 1B 参数约 16GB 起步
全参数训练(Adam 优化器、FP16)除了权重,还要存梯度、优化器状态和 FP32 权重副本:
| 组成 | 每 1B 参数 |
|---|---|
| 权重(FP16) | 2GB |
| 梯度(FP16) | 2GB |
| 优化器状态 | 8GB |
| FP32 权重副本 | 4GB |
| 小计(不含激活值) | 16GB |
7B 全参微调 ≈ 112GB 显存起步,单机不现实——这就是为什么实际项目几乎都用 LoRA:冻结原模型权重,只训练新增的低秩适配参数(约为原模型的 0.1%~1%),显存 ≈ 基础模型权重 + 少量 LoRA 开销 + 激活值。FP16 加载 7B(14GB)在单张 24GB 卡上 LoRA 通常能跑;还不够就用 QLoRA(基础模型量化到 INT4 再训),进一步压缩。
五、FDE 视角:把显存账写进方案与报价
- 方案页放一张"模型规模 × 精度 × 推理/训练 → 建议配置"表,客户 IT 和采购都能看懂;
- 压价应对:客户说"预算只够一张 24GB 卡"——用本课公式推演:14GB 权重 + KV Cache 余量紧张 → 方案改为 7B 量化推理 + LoRA 训练放云端,给出两版配置的对比价;
- 并发承诺要扣 KV Cache:不是"显存装得下模型"就能承诺 50 并发,长上下文高并发场景用压测数据说话(呼应《先评再选》的性能压测)。
本课自测
- "模型下载成功了但跑不起来",最可能卡在哪种资源上?
- 14B 模型 INT4 量化推理,权重约多少 GB?FP16 呢?
- KV Cache 的占用随哪两个因素增长?这对并发承诺意味着什么?
- 为什么 7B 全参微调需要约 112GB 显存,而 LoRA 单张 24GB 卡就能跑?
随堂测
逐题作答,即时反馈
1. 7B 模型以 FP16 精度做推理,仅模型权重的显存占用约是多少?
2. 推理显存里的 KV Cache 占用随哪两个因素增长?
3. 7B 模型做全参数微调(Adam、FP16)至少需要多少显存?实际项目为什么几乎都用 LoRA?