M8-030M8: ML Systems, Engineering & ResearchInference Serving & DeploymentEasy
Mastery:

Inference Serving & Deployment: 解释在线推理服务的核心指标。

📐 Mathematical Definition
latency: TTFT,TPOT;throughput: QPS;goodput=f(SLO)\text{latency}:\ \text{TTFT},\text{TPOT};\qquad \text{throughput}:\ \text{QPS};\qquad \text{goodput}=f(\text{SLO})
⚡ Executive Summary
Core Concept: 延迟(P50/P99 TTFT/TPOT)、吞吐(QPS/tokens/s)、可用性(SLA)、成本(每千 token);以及 goodput。

📌 Key Takeaways

  • •
    延迟:P50/P99、TTFT(首 token)、TPOT(每 token)
  • •
    吞吐:QPS / tokens/s;可用性:SLA/错误率
  • •
    成本:每千 token 成本;goodput(SLO 内的有效吞吐)

📐 Mathematical Derivations

数学机理:<strong>在线推理服务的核心指标</strong>——(1) <strong>延迟(latency)</strong>——(a) <strong>分位数</strong>——(i) <strong>P50</strong>(中位数——'典型体验');(ii) <strong>P99</strong>(尾部——'最差体验',<strong>最关键</strong>,因为用户体验由尾部决定);(iii) 均值<strong>不可靠</strong>(被长尾拉高但掩盖分布);(b) <strong>LLM 特有</strong>——(i) <strong>TTFT(Time To First Token)</strong>——首 token 延迟(由 <strong>prefill</strong> 决定,∝ prompt 长度);(ii) <strong>TPOT(Time Per Output Token)</strong>——每输出 token 延迟(由 <strong>decode</strong> 决定,∝ KV 读取);(iii) 总延迟 ≈ TTFT + TPOT × 输出长度;(c) <strong>端到端延迟</strong>(含排队、网络、预处理)。(2) <strong>吞吐(throughput)</strong>——(a) <strong>QPS</strong>(每秒请求数);(b) <strong>tokens/s</strong>(每秒 token 数——LLM 更常用);(c) <strong>与延迟的权衡</strong>——batch 越大吞吐越高但延迟越高(见 M7 的吞吐-延迟权衡题)。(3) <strong>可用性(availability)</strong>——(a) <strong>SLA</strong>(如 99.9% 可用);(b) <strong>错误率</strong>(5xx/超时);(c) <strong>降级率</strong>(走了降级路径的比例)。(4) <strong>成本(cost)</strong>——(a) <strong>每千 token 成本</strong>;(b) <strong>每请求成本</strong>;(c) <strong>GPU 利用率</strong>(利用率低则单位成本高);(d) <strong>'成本-延迟-质量'三方权衡</strong>。(5) <strong>goodput</strong>——(a) <strong>定义</strong>——在<strong>满足 SLO</strong>(延迟/错误率约束)的前提下能达到的<strong>有效吞吐</strong>;(b) <strong>为什么重要</strong>——'最大吞吐'可能违反 SLO(延迟太高);故 goodput 才是服务的真实目标;(c) <strong>优化目标</strong>——max goodput s.t. 成本约束。(6) <strong>其他</strong>——(a) <strong>排队时间</strong>(与负载相关);(b) <strong>冷启动时间</strong>(新实例启动);(c) <strong>缓存命中率</strong>(前缀缓存/语义缓存);(d) <strong>批大小分布</strong>。<strong>监控实践</strong>——(a) <strong>分位数而非均值</strong>(P50/P95/P99);(b) <strong>TTFT/TPOT 分开监控</strong>(定位是 prefill 还是 decode 的问题);(c) <strong>按输入长度/输出长度分层</strong>(长 prompt 的延迟天然高);(d) <strong>与 SLO 对比</strong>(达标率);(e) <strong>成本归因</strong>(按请求/用户/场景)。<strong>与其他问题的关系</strong>——(a) 与'成本与延迟优化'(同一主题);(b) 与'自动扩缩容'(延迟驱动扩缩容);(c) 与'降级'(SLO 保障)。<strong>实践建议</strong>——(a) <strong>监控 P99</strong>(而非均值);(b) <strong>TTFT/TPOT 分开</strong>;(c) <strong>按长度分层</strong>(公平对比);(d) <strong>定义 SLO 并监控达标率</strong>;(e) <strong>优化 goodput</strong>(而非最大吞吐);(f) <strong>成本归因</strong>。<strong>度量</strong>——(a) P50/P99 的 TTFT/TPOT;(b) QPS/tokens per s;(c) SLA 达标率;(d) 每千 token 成本;(e) goodput。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'必须看 P99'</strong>——用户体验由尾部决定;面试中能指出是深度理解的标志。② <strong>'TTFT/TPOT 分开监控'</strong>——定位是 prefill 还是 decode 的问题(两者的优化手段完全不同)。③ <strong>'goodput 而非最大吞吐'</strong>——服务目标是'在 SLO 内最大化吞吐'。④ <strong>'按长度分层'</strong>——长 prompt 的 TTFT 天然高;不分层会误判。⑤ <strong>'均值掩盖问题'</strong>——必须用分位数。⑥ <strong>面试要点</strong>——被问'推理服务的核心指标',应给出'<strong>延迟(P50/P99 + TTFT/TPOT)+ 吞吐(QPS/tokens per s)+ 可用性(SLA)+ 成本(每千 token)+ goodput</strong>';能指出'TTFT/TPOT 分开'与'goodput'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    只看平均延迟(掩盖尾部)
  • ✕
    不区分 TTFT 与 TPOT(无法定位瓶颈)
🎯 Interviewer Follow-ups
  • ?
    为什么必须看 P99 而非均值?
  • ?
    TTFT 与 TPOT 分别由什么决定?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM8-029: Training Platforms & Experiment Tracking: 解释训练成本控制的手段。📋Back to BankNext →M8-031: Inference Serving & Deployment: 解释模型服务的常见部署形态。