一句话定义:TTFT(Time To First AI 词典:Token">Token,首 Token 延迟)是你发出请求到屏幕上冒出第一个字的时间;TPOT(Time Per Output Token,每 Token 输出时间)是第一个字之后,模型每往下吐一个字平均要花多久。
打个比方:去面馆点面。TTFT 是从下单到第一碗面端上桌——后厨什么时候开火的问题;TPOT 是之后每碗面之间的间隔。饿的时候,第一碗迟迟不来最难受;可要是每碗都隔半天,照样吃得心焦。聊天框里"卡住不动"和"一个字一个字往外蹦",分别就是这两个指标在报警。
为什么必须分开看。 有个大致成立的等式:
> 总时长 ≈ TTFT + TPOT ×(输出 Token 数 − 1)
它说明:短回答的体验几乎由 TTFT 决定,长回答的体验几乎由 TPOT 决定。假设一个模型 TTFT 只有 100 毫秒、但每个字要 30 毫秒,答一句"好的"很爽,写两千字长文就折磨人;反过来,首字慢两秒、之后每字 5 毫秒,长文反而顺畅。所以"哪个模型快",得先问清是短问答还是长输出。
注意单位:Token 不等于字。中文一个 Token 常对应一到两个汉字,英文大致相当于零点几个单词。报 TPOT 时若不说清换算口径,数字很难横比。
和相邻概念的区别:
| 指标 | 回答的问题 | 与它的关系 |
|---|---|---|
| TTFT | 第一句话等多久 | 端到端延迟的前半段 |
| TPOT | 之后每个字吐多快 | 端到端延迟的后半段 |
| 端到端延迟(E2E Latency) | 全部写完要多久 | 用户的总体验 |
| 吞吐量(Throughput) | 一秒总共能产多少 Token | 服务器容量,与单请求体验不同向 |
吞吐量是"整个厨房一小时出多少碗面",TPOT 是"我这碗面吃得顺不顺"。把批量做大通常提吞吐,却可能拉高单个请求的 TPOT。
对从业者的意义:先定位瓶颈,再挑优化手段。输入特别长(长文档总结、检索塞了一堆资料),prefill 阶段重,TTFT 会明显上涨,前缀缓存(prefix caching)这类做法更对症;输出特别长,瓶颈在逐步解码,量化、投机解码(speculative decoding)更值得试。监控也别只看平均值,通常要看 P95、P99——卡顿的那少部分请求,才是用户投诉的来源。
对普通人的意义:判断一个 AI 产品"跟不跟手",就看这两点。首字快、吐字稳,感觉像真有人在打字;首字慢,会以为程序死了;TPOT 抖动大,字一顿一顿,读起来很累。做产品时,与其死磕总时长,不如先把首字延迟压下来——用户在一秒内看到东西,心理感受完全不同。具体到某个平台的指标口径与默认配置,以官方页面为准。
