llm常见显存推理和微调硬件方案
通用微调配置与显存要求对照表
| 模型大小 | 配置类型 | 显存需求 | 推荐GPU硬件 |
|---|
| 7B | Freeze (FP16) | 20GB | RTX 4090 |
| LoRA (FP16) | 16GB | RTX 4090 |
| QLoRA (INT8) | 10GB | RTX 4080 |
| QLoRA (INT4) | 6GB | RTX 3060 |
| 13B | Freeze (FP16) | 40GB | RTX 4090 / A100 (40GB) |
| LoRA (FP16) | 32GB | A100 (40GB) |
| QLoRA (INT8) | 20GB | L40 (48GB) |
| QLoRA (INT4) | 12GB | RTX 4090 |
| 30B | Freeze (FP16) | 80GB | A100 (80GB) |
| LoRA (FP16) | 64GB | A100 (80GB) |
| QLoRA (INT8) | 40GB | L40 (48GB) |
| QLoRA (INT4) | 24GB | RTX 4090 |
| 70B | Freeze (FP16) | 200GB | H100 (80GB) * 3 |
| LoRA (FP16) | 160GB | H100 (80GB) * 2 |
| QLoRA (INT8) | 80GB | H100 (80GB) * 2 |
| QLoRA (INT4) | 48GB | L40 (48GB) |
| 110B | Freeze (FP16) | 360GB | H100 (80GB) * 5 |
| LoRA (FP16) | 240GB | H100 (80GB) * 3 |
| QLoRA (INT8) | 140GB | H100 (80GB) * 2 |
| 175B | Freeze (FP16) | 500GB | H100 (80GB) * 6 |
| LoRA (FP16) | 400GB | H100 (80GB) * 5 |
| QLoRA (INT8) | 250GB | H100 (80GB) * 4 |
| QLoRA (INT4) | 150GB | H100 (80GB) * 3 |
| 300B | Freeze (FP16) | 800GB | A100 / H100 (80GB) * 10 |
| LoRA (FP16) | 600GB | A100 / H100 (80GB) * 8 |
| QLoRA (INT8) | 400GB | A100 / H100 (80GB) * 6 |
| QLoRA (INT4) | 250GB | A100 / H100 (80GB) * 5 |
| 671B | Freeze (FP16) | 1.5TB | H100 (80GB) * 20 |
| LoRA (FP16) | 1.2TB | H100 (80GB) * 16 |
| QLoRA (INT8) | 800GB | H100 (80GB) * 12 |
| QLoRA (INT4) | 500GB | H100 (80GB) * 8 |
显存和并发的关系
所需总内存=权重+ KV缓存+激活和开销
假设以一个13B模型为例,8K tokens,10个并发请求
重量= 13亿 * 2Bytes= 26 GB
KV缓存内存总量= 800 KB * 8192 Tokens * 10个并发请求= 66 GB
激活和开销= 0.1 *(26 GB + 66 GB)= 9.2 GB
所需总内存:26 GB + 66 GB + 9.2 GB = 101.2 GB
基础运行所需要的显存,假设一个请求
| Model | 4k Tokens | 8k Tokens | 32k Tokens | 128k Tokens |
|---|
| 7B | 17.6 GB | 19.8 GB | 33.0 GB | 85.8 GB |
| 13B | 32.12 GB | 35.64 GB | 56.76 GB | 141.24 GB |
| 30B | 72.05 GB | 78.14 GB | 114.47 GB | 259.74 GB |
| 66B | 155.58 GB | 165.98 GB | 228.23 GB | 478 GB |
| 70B | 165.55 GB | 177.07 GB | 244.11 GB | 523.25 GB |
| 175B | 405.77 GB | 426.53 GB | 551.03 GB | 1049.58 GB |
并发10个请求
| Model | 4k Tokens | 8k Tokens | 32k Tokens | 128k Tokens |
|---|
| 7B | 37.4 GB | 59.4 GB | 191.4 GB | 719.4 GB |
| 13B | 63.8 GB | 99.0 GB | 303.6 GB | 1,128.6 GB |
| 30B | 126.5 GB | 181.5 GB | 528.0 GB | 1,914.0 GB |
| 66B | 244.2 GB | 343.2 GB | 937.2 GB | 3,313.2 GB |
| 70B | 264.0 GB | 374.0 GB | 1,034.0 GB | 3,674.0 GB |
| 175B | 583.0 GB | 781.0 GB | 1,969.0 GB | 6,721.0 GB |
使用工具估算显存
shellpip install accelerate
accelerate estimate-memory baichuan-inc/Baichuan2-13B-Chat --trust-remote-code
DeepSeek 各模型所需硬件概览
| 模型名称 | 显存需求(推理) | 推荐CPU | 推荐GPU | 推荐内存 |
|---|
| DeepSeek-R1-1.5B | 4GB+ | Xeon W-2400系列 | GTX 1660 | 8GB+ |
| DeepSeek-R1-3B | 8GB+ | Xeon W-2400系列 | RTX 3060 | 16GB+ |
| DeepSeek-R1-7B | 14GB+ | Xeon W-2400系列 | RTX 4080 | 16GB+ |
| DeepSeek-R1-8B | 16GB+ | Xeon W-2400系列 | RTX 4080 | 16GB+ |
| DeepSeek-R1-14B | 28GB+ | Xeon W-3400系列 | RTX 3090 * 2 | 32GB+ |
| DeepSeek-R1-32B | 58GB+ | Xeon W-3400系列 | RTX 3090 * 4 | 64GB+ |
| DeepSeek-R1-70B | 140GB+ | EPYC 7002系列 | A100 * 2 | 128GB+ |
| DeepSeek-R1-671B (Q4_K_M) | 490GB+ | EPYC 7002系列 | A100 * 8 * 1 | 512GB+ |
| DeepSeek-R1-671B | 1200GB+ | EPYC 7002系列 | A100 × 8 × 2 | 1T+ |
DeepSeek 671B 硬件方案
| 量化方案 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 1278G | A100×8×2 (1280G) | 1531G | H200×8×3 (1920G) | 7500G | A100×8×12 (7680G) |
| BF 8 | 1219G | A100×8×2 (1280G) | 1492G | H200×8×3 (1920G) | - | - |
| Q_4_K_M | 490G | A100×8(640G) | 620G | A100×8 (640G) | - | - |
| INT 4(KT推理) | 24G VRAM +382G DRAM | RTX3090(24G) | - | - | - | - |
| 1.56动态量化 | 24G VRAM +180G DRAM | RTX3090(24G) | - | - | - | - |
DeepSeek 70B 硬件方案
| 量化方案 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 150G | A100*2(160G) | 160G | A100*2(160G) | 600G | A100*8(640G) |
| INT 8 | 72G | RTX3090*4(94G) | 80G | RTX3090*4(94G) | - | - |
| INT 4 | 36G | RTX3090*2(48G) | 48G | RTX3090*2(48G) | - | - |
DeepSeek 32B 硬件方案
| 量化方案 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 55G | RTX3090*4(94G) | 68G | RTX3090*4(94G) | 350G | A100*6(480G) |
| INT 8 | 35G | RTX3090*2(48G) | 45G | RTX3090*2(48G) | - | - |
| INT 4 | 22G | RTX3090(24G) | 28G | RTX3090*2(48G) | - | - |
DeepSeek 14B 硬件方案
| 量化方案 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 24G | RTX3090(24G) | 34G | RTX3090*2(48G) | 130G | A100*2(160G) |
| INT 8 | 15G | RTX4080(16G) | 22G | RTX3090(24G) | - | - |
| INT 4 | 12G | RTX3060(12G) | 14G | RTX4080(16G) | - | - |
DeepSeek 8B 硬件方案
| 量化方案 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 14G | RTX4080(16G) | 18G | RTX3090(24G) | 70G | RTX3090*4(94G) |
| INT 8 | 10G | RTX3060 (12G) | 12G | RTX3060 (12G) | - | - |
| INT 4 | 5G | | 7G | | - | - |
DeepSeek 7B 硬件方案
| 硬件配置 | 模型推理(显存占用) | 模型推理(最低配置) | 模型高效微调(显存占用) | 模型高效微调(最低配置) | 模型全量微调(显存占用) | 模型全量微调(最低配置) |
|---|
| FP 16 | 12G | RTX3060 (12G) | 16G | RTX4080(16G) | 60G | RTX3090*4(94G) |
| INT 8 | 8G | RTX3060 (12G) | 10G | RTX3060 (12G) | - | - |
| INT 4 | 4G | RTX3060 (12G) | 6G | RTX3060 (12G) | - | - |
nvidia 官方测试数据,每秒tokens
https://developer.nvidia.com/deep-learning-performance-training-inference/ai-inference
愿意放弃自由来换取保障的人,他最终既得不到自由,也得不到保障 -- 哈耶克