Please enable Javascript to view the contents

什么是 PD 分离

 ·  ☕ 1 分钟

1. 定义

LLM 推理过程中存在着两个截然不同的阶段,PD 分离就

  • 计算密集型的 Prefill 阶段,

LLM 处理所有用户的 input,计算出对应的 KV Cache

  • 显存密集型的 Decode 阶段,

顺序的产生一个个的 token,每次访存只计算一个 token

2. 指标

2.1 prefill 性能评估指标

TTFT(Time To First Token),表示生成第 1 个 token 所用的时间

P90 TTFT SLO = 0.4s,意味着我们对该系统的要求是:90%的 request 的 TTFT 值都必须<=0.4

2.2 decode 性能评估指标

TPOT(Time Per Output Token),产出每一个 response token 所用的时间

P90 TPOT SLO = 0.04s,意味着我们对该系统的要求是,在 90% 的 request 的 TPOT 值都必须<=0.04s

3. PD 分离带来的优势

在 long context 背景下,prefill 和 decode 阶段对计算和显存的需求非常不平衡。

  • 充分利用设备资源

prefill 采用高算力的 GPU,decode 采用低算力大显存的 GPU

  • 分开优化,能同时提升 TTFT 和 TPOT 指标

prefill 阶段应该限制 Batch Size 大小,decode 阶段应该增大 Batch Size 大小

4. batching 策略

  • prefill 阶段

因为 prefill 阶段是计算密集型,随着 batch size 的增加,算力受限,吞吐量的增长趋势趋于平缓。

  • decode 阶段

因为 decode 阶段是带宽、内存密集,随着 batch size 的增加,吞吐量的增长趋势越来越显著。

5. 参考


微信公众号
作者
微信公众号