2026年4月19日

训练资源估算题

**训练 FLOPs = 6 x N x D**

知识库大模型案例复盘

训练资源估算题

一、核心公式

1.1 FLOPs 估算

训练 FLOPs = 6 x N x D

  • N = 模型参数量
  • D = 训练 token 数
  • 6 = 前向 (2) + 反向 (4) 的系数

推理 FLOPs (单 token) = 2 x N

  • 大致为 2 倍参数量

1.2 GPU 时间估算

GPU Hours = Total FLOPs / (GPU_FLOPS x MFU)

  • GPU_FLOPS:GPU 理论算力(TFLOPS)
  • MFU(Model FLOPs Utilization):通常 30-50%

1.3 显存估算

训练显存 = 模型参数 + 梯度 + 优化器状态 + 激活值

组件 BF16 混合精度 + Adam
模型参数 2N bytes
梯度 2N bytes
优化器状态 (2+2)N = 4N bytes (动量+方差, FP32)
激活值 取决于 batch_size x seq_len x hidden x layers
总计约 ~16N bytes(含激活值)

二、GPU 算力参考

GPU BF16 算力 显存 适用场景
A100 80GB 312 TFLOPS 80 GB 训练 + 推理
H100 80GB 990 TFLOPS 80 GB 训练 + 推理
H200 141GB 990 TFLOPS 141 GB 大模型推理
B200 192GB 2250 TFLOPS 192 GB 最新训练
A6000 38 TFLOPS 48 GB 中小模型训练
RTX 4090 82 TFLOPS 24 GB LoRA 微调

三、典型估算练习

练习 1:训练 7B 模型需要多少资源?

条件:7B 参数,1T token,A100 GPU

计算

  • FLOPs = 6 x 7e9 x 1e12 = 4.2e22
  • A100 BF16 = 312 TFLOPS = 3.12e14 FLOP/s
  • GPU Hours = 4.2e22 / (3.12e14 x 0.4) = 336,538 小时
  • 约 14,022 天 / 38.4 年(单卡)
  • 256 卡集群约 55 天

显存估算(全参数训练)

  • 参数:14 GB (BF16)
  • 梯度:14 GB
  • 优化器:28 GB (FP32)
  • 激活值:~50-100 GB
  • 总计:~106-156 GB -> 需要 2x A100 80GB(使用 ZeRO-2)

练习 2:QLoRA 微调 70B 模型需要什么?

条件:70B 参数,LoRA rank=64,10K 条数据

显存估算

  • 基座模型(4-bit):~35 GB
  • LoRA 参数(BF16):~160 MB
  • 梯度 + 优化器:~320 MB + ~640 MB
  • 激活值:~20-40 GB
  • 总计:~56-76 GB -> 单张 A100 80GB 可行

训练时间

  • 数据量小(10K x 2048 token = ~20M token)
  • FLOPs 很小(只算 LoRA 参数部分)
  • 预计 1-4 小时

练习 3:推理服务 70B 模型需要什么?

显存需求

  • BF16 权重:140 GB -> 2x A100 80GB 或 1x H200 141GB
  • KV Cache(2048 context, batch=32):~40-80 GB
  • 总计:~180-220 GB -> 3-4x A100

INT4 量化后

  • 权重:~35 GB -> 1x A100 80GB
  • KV Cache + 运行时:~20-30 GB
  • 总计:~55-65 GB -> 1x A100 80GB

四、面试快速估算技巧

4.1 记住关键数字

  • 训练 7B 模型(1T token)336K A100 小时($1M 云计算成本)
  • LoRA 微调 7B:1-4 小时,单卡 A100
  • 全参数微调 70B:需要 8+ A100,数天到数周
  • 推理 7B (BF16):~14 GB 显存
  • 推理 70B (INT4):~35 GB 显存

4.2 快速公式

  • 模型大小 (BF16) = 2N bytes -> 7B 约 14 GB
  • 模型大小 (INT4) = 0.5N bytes -> 7B 约 3.5 GB
  • 训练显存 ≈ 16N bytes -> 7B 约 112 GB
  • QLoRA 显存 ≈ 0.5N (基座) + LoRA 参数 + 激活值 -> 7B 约 16-20 GB

4.3 成本估算

  • A100 云服务:~$2-3/小时
  • H100 云服务:~$3-5/小时
  • 训练 7B 模型(1T token,256 A100):~$160K-240K
  • 推理 7B(1000 RPS):~$5K-10K/月

五、常见面试问题

Q: "如何减少训练显存?" "A: 四个方法:1) Gradient checkpointing(用计算换显存,省 60-70% 激活值显存);2) ZeRO 优化(分片参数/梯度/优化器状态到多 GPU);3) FlashAttention(减少注意力计算的临时内存);4) QLoRA(量化基座 + LoRA 微调)。"

Q: "预训练 GPT-3 (175B) 大概花了多少钱?" "A: 按 Chinchilla 公式估算,175B 模型训练 300B token 的 FLOPs 约 3.15e23。在 V100 (125 TFLOPS) 上以 40% MFU 需约 630 万 GPU 小时。按 V100 约 3/小时估算,纯GPU成本约3/小时估算,纯 GPU 成本约 1900 万。实际总成本可能 $10M-50M(含基础设施和人力)。"