AI 模型推理算力需求计算
推理阶段,没有优化器状态和梯度信息,也不需要保存中间激活。因此推理阶段占用的显存要远远远小于训练阶段。模型推理阶段,占用显存的主要是模型权重和 kv cache。通过知识蒸馏将 DeepSeek-R1 的模型参数迁移到更小参数规模的 Qwen、Llama 等小模型中,这些模型实际上就是 Qwen、Llama 模型。在 V3 的基础上,采用传统预训练-监督微调+MoE架构模型,DeepSeek-R1
1 模型推理算力需求计算
1.1 推理 timeline
推理过程中,主要是两条时间线:CPU timeline,GPU timeline:
- CPU timeline:
- tokenize,将 text 分割成一个个 token
- detokenize and networking,将模型生成的 vector 转成文本
- GPU timeline:
- kv cache,kv cache 只写入一次,一次性处理全部输入 token,并行计算,计算密集
- prefill:计算用户输入所有词,并生成对应的键值(KV)缓存,过程计算压力大
- decoding,每个 decoding 都会生成一个字符,过程访存压力大
1.2 推理显存占用
推理阶段,没有优化器状态和梯度信息,也不需要保存中间激活。因此推理阶段占用的显存要远远远小于训练阶段。模型推理阶段,占用显存的主要是模型权重和 kv cache。
显存占用=模型权重+kvcache 显存占用 = 模型权重 + kv cache \ 显存占用=模型权重+kvcache
模型权重=paramsnum×size_of_precisionkv_cache=batch_size×seq_len×2×block_num×hidden_size×size_of_precision 模型权重 = params_num \times size\_of\_precision \\ kv\_cache = batch\_size \times seq\_len \times 2 \times block\_num \times hidden\_size \times size\_of\_precision 模型权重=paramsnum×size_of_precisionkv_cache=batch_size×seq_len×2×block_num×hidden_size×size_of_precision
- TTFT (Time to First Token) :首 token 延迟的时间包括请求排队时间、预填充时间和网络延迟。Prompt 越长,TTFT 越大。因为 Attention 需要整个输入序列来计算和创建 KV cache。
TTFT=paramsnum×batch_size×input_seq_len×size_of_precisionGPUflops TTFT = \frac{params_num \times batch\_size \times input\_seq\_len \times size\_of\_precision}{GPU flops} TTFT=GPUflopsparamsnum×batch_size×input_seq_len×size_of_precision
- E2EL (End-to-End Request Latency):用户发出请求并得到完整回复的延迟。
E2EL=TTFT+generation_time E2EL = TTFT + generation\_time E2EL=TTFT+generation_time
- ITL(Inter-token Latency):非首 token 时延,也叫 TPOT (Time Per Output Token)
ITL=权重读取时延+kv_cache读取时延+卡间通信时延 ITL = 权重读取时延 + kv\_cache 读取时延 + 卡间通信时延 ITL=权重读取时延+kv_cache读取时延+卡间通信时延
权重读取时延=模型权重大小显存带宽×带宽利用率kv_cache读取时延=kv_cache大小显存带宽×带宽利用率卡间通信时延=hidden_size×batch_size×size_of_precision×2×block_num显存带宽×带宽利用率 权重读取时延 = \frac{模型权重大小}{显存带宽 \times 带宽利用率} \\ kv\_cache 读取时延 = \frac{kv\_cache大小}{显存带宽 \times 带宽利用率} \\ 卡间通信时延 = \frac{hidden\_size \times batch\_size \times size\_of\_precision \times 2 \times block\_num}{显存带宽 \times 带宽利用率} 权重读取时延=显存带宽×带宽利用率模型权重大小kv_cache读取时延=显存带宽×带宽利用率kv_cache大小卡间通信时延=显存带宽×带宽利用率hidden_size×batch_size×size_of_precision×2×block_num
–>
ITL=E2EL−TTFTtotal_output_tokens−1 ITL = \frac{E2EL - TTFT}{total\_output\_tokens - 1} ITL=total_output_tokens−1E2EL−TTFT
- TPS (Tokens Per Second),每秒处理的 token 数:
TPS=total_output_tokensTy−Tx TPS = \frac{total\_output\_tokens}{T_y - T_x} TPS=Ty−Txtotal_output_tokens
- RPS (Requests Per Second):每秒处理的请求数:
RPS=total_complete_requestsTy−Tx RPS = \frac{total\_complete\_requests}{T_y - T_x} RPS=Ty−Txtotal_complete_requests
- Throughput 指的是一定时间内全部的请求响应数量:
Throughput=total_complete_requeststime Throughput = \frac{total\_complete\_requests}{time} Throughput=timetotal_complete_requests
- Goodput 指的是一定时间内满足要求的请求响应数量:
Goodput=completed_request_within_SLOtime Goodput = \frac{completed\_request\_within\_SLO}{time} Goodput=timecompleted_request_within_SLO
2 DeepSeek 算力需求计算
2.1 几类 DeepSeek 模型说明
- DeepSeek-V3(671B)
使用大规模强化学习训练的 MOE 模型。
- DeepSeek-R1(671B)
在 V3 的基础上,采用传统预训练-监督微调+MoE架构模型,DeepSeek-R1专注高级推理,适合数学、代码生成和逻辑推理性能,用于科研等。
- DeepSeek-R1-Distill
通过知识蒸馏将 DeepSeek-R1 的模型参数迁移到更小参数规模的 Qwen、Llama 等小模型中,这些模型实际上就是 Qwen、Llama 模型。
常见 DeepSeek 模型的参规格:
| 模型 | 参数量 | 序列长度(输入+输出) | 层数 | hidden_size |
|---|---|---|---|---|
| DeepSeek-R1-Distill-Qwen-1.5B | 1.5B | 2048 | 28 | 1536 |
| DeepSeek-R1-Distill-Qwen-7B | 7B | 2048 | 28 | 3584 |
| DeepSeek-R1-Distill-Llama-8B | 8B | 2048 | 32 | 4096 |
| DeepSeek-R1-Distill-Qwen-14B | 14B | 2048 | 48 | 5120 |
| DeepSeek-R1-Distill-Qwen-32B | 32B | 2048 | 64 | 5120 |
| DeepSeek-R1-Distill-Llama-70B | 70B | 2048 | 80 | 8192 |
| DeepSeek-V3 | 671B | 8192 | 61 | 7168 |
| DeepSeek-R1 | 671B | 8192 | 61 | 7168 |
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)