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_tokens1E2ELTTFT

  • TPS (Tokens Per Second),每秒处理的 token 数:

TPS=total_output_tokensTy−Tx TPS = \frac{total\_output\_tokens}{T_y - T_x} TPS=TyTxtotal_output_tokens

  • RPS (Requests Per Second):每秒处理的请求数:

RPS=total_complete_requestsTy−Tx RPS = \frac{total\_complete\_requests}{T_y - T_x} RPS=TyTxtotal_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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐