直接回答:TTFT(首 token 时间)主要由 prefill 阶段决定:输入越长、并发越高,排队与计算越久;TPOT(相邻 token 间隔)由 decode 阶段决定,是显存带宽受限的逐 token 串行过程,受模型大小、batch 大小、KV cache 管理影响。用户体感“快不快”主要看 TTFT,整体耗时看 TPOT × 输出长度。
展开解析:优化 TTFT:prefix caching(相同系统提示词的 KV 复用,多轮对话与固定模板收益巨大);控制输入长度(检索内容裁剪、历史摘要);prefill 与 decode 分离部署(PD 分离),避免长 prefill 卡住解码中的请求;排队治理(按优先级与输入长度调度,防止超长请求堵住队列)。优化 TPOT:continuous batching 提高吞吐但 batch 过大反而拖慢单请求 TPOT,要按 SLA 定 batch 上限;量化权重与 KV cache 降低带宽压力;投机采样用小模型一次验证多 token;对延迟极敏感的场景用更小的模型或蒸馏版。容量规划上,并发提高时 TTFT 排队恶化早于 TPOT,压测要分别记录两个指标的曲线,不能只看总延迟。流式输出(SSE)本身不改变计算,但能把 TTFT 之后的时间“藏起来”,是体感优化的标配。
追问方向:长输出场景如何降低整体时延?TTFT 与 TPOT 的 SLA 怎么定?
(约 470 字)