Performance Engineer · Technical Recruiter / Screening

Anthropic Performance Engineer:TTFT、Token 间隔与加速芯片选型

从性能面试问到的 TTFT、流式间隔、端到端延迟出发,分段测量推理链路并构造 GPU/TPU/Neuron 选型表。

题目重点:从性能面试问到的 TTFT、流式间隔、端到端延迟出发,分段测量推理链路并构造 GPU/TPU/Neuron 选型表。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 把 SITL 暂按流式相邻 token 延迟理解,正式交流应先请面试官确认缩写和统计口径;本文不宣称这是唯一标准术语。
  • 比较同一模型版本、精度、输入/输出长度分布与服务 SLA;跨硬件只比标称 TFLOPS 没有意义。
  • 训练版把首 token 时点定义为客户端收到第一个可见输出 token;若系统返回隐藏推理 token,口径需要另行定义。

解题路线

  1. 埋点拆解:客户端发送→网关到达→排队开始/结束→预填充开始/结束→首 token 生成→首 token 送达→各 token 解码/发送→最终完成。TTFT 为用户发出到首 token 送达;端到端为用户发出到最后一 token 收完;相邻 token 间隔从可见流统计分布与 p95/p99。
  2. 诊断先比拆段:排队高说明准入/调度,prefill 高通常受输入长度/算力/内存访问,decode token 间隔高可能是 KV cache、batch 竞争或网络 flush;要把模型时间与网络时间分开。
  3. 做芯片选型矩阵:模型算子支持/编译成熟度、精度/量化可用性、HBM 容量与带宽、互连、batch/上下文形状下的 TTFT 与 token 吞吐、成本/有效 token、可用容量、故障恢复与部署工具。先在代表性工作负载上测性能,而非先选品牌。
  4. 对 GPU/TPU/Neuron 的体系差异只在有实测和对应编程模型时讨论;换芯片可能需要 kernel/编译器适配,不能假设相同理论 FLOPs 产生相同尾延迟。按短 prompt/长 prompt、短输出/长输出分别跑基准,报告置信区间和 warm/cold 差异。

手动走一遍

训练例一请求:网络 20ms、排队 30ms、预填充 40ms、首 token 解码与发送 10ms,TTFT=100ms;后续 9 个 token 每个 15ms,则完整响应约 235ms(忽略重叠和变动)。若看到 TTFT 恶化而相邻 token 间隔不变,先排查排队与 prefill,不要先重写 decode kernel。

规模与取舍

埋点记录一次推理的时间与空间为 O(tokens)(若逐 token 记录),可用直方图/采样将线上指标聚合成本降到固定桶数;但细粒度 trace 对诊断长尾有价值。芯片比较需要多维 Pareto 取舍,不存在单一 Big-O 或统一赢家。

易错点与追问

容易失分的边界

  • 把 TTFT 当成纯模型 prefill 时间,漏掉排队和网络。
  • 只报平均相邻 token 时间,掩盖 p99 的卡顿。
  • 跨硬件用不同模型/精度/批量配置做不公平比较。
  • 将题目未展开的 SITL 硬断言为某个正式定义。
  • 从架构宣传材料推断实际服务成本,缺少代表性负载测量。

继续深挖

  • 流式输出被代理服务器缓冲时,模型端 TTFT 和用户端 TTFT 如何区分?
  • 对长上下文与短上下文,选型权重为何变化?
  • 如何同时优化每 token 成本和极端用户的 p99?
✓已复制微信号!