推理与调度

推理。指训练完成的模型利用已有参数对新输入生成预测或输出的过程。

Prefill & Decode

一次推理请求一般分成两个阶段。

Prefill:用户提交一个 prompt,例如 1024 tokens。模型并行处理这 1024 个输入 tokens,计算各层的 key、value,并生成第一个输出 token。

Decode:接下来每一步通常只生成一个新的输出 token。在计算第 nn 个 token 时,需要用到之前所有 tokens 的 key 和 value;这些值被保存在 KV cache 中。

性能指标

推理系统的指标除了 throughput 以外,还有一类要求叫做 SLO(Service Level Objective),其中包括对 TTFT 和 TPOT 的约束。

  • TTFT(Time to First Token):排队时间 + Prefill 时间
  • TPOT(Time per Output Token):输出 tokens 的平均时间间隔

DistServe 还定义了一个新的指标 goodput,以解决有些系统 throughput 很高但是用户体验差的情况。goodput 是满足指定 SLO 约束的前提下,系统每秒能处理的最大请求数。

Orca

Sarathi-Serve