# 不加 GPU，怎么降低大模型推理的首 token 延迟？

> 长上下文场景里，首 token 延迟高往往是因为被逐出显存的会话在整段重算。本文给出三个不加卡的办法，以及 480B 模型在三档并发下的实测降幅。

网页地址: https://vuke.top/insights/reduce-ttft-without-adding-gpus · 更新于 2026 年 11 月 12 日

发布于: 2026-11-12

**问题**: 不增加 GPU，怎么降低大模型推理的首 token 延迟（TTFT）？

**结论**: 长上下文场景里，首 token 延迟高的主要原因往往是被逐出显存的会话在整段重算，而不是算力不够。给推理集群加一层外置全闪存储保存 KV Cache，会话回来时直接读回：480B 模型实测，相对本地 NVMe 单盘，TTFT p50 降低 26–32% [R2](https://vuke.top/evidence/R2)。

## 先确认延迟花在哪里

首 token 延迟主要由预填充阶段决定：模型要先处理完全部输入，才能输出第一个 token。输入越长，预填充越久。

如果一个会话的 KV Cache 还在显存里，新一轮请求只需要处理新增的那部分输入。如果它已经被逐出，整段历史上下文都要重新算。在 480B 模型、并发 16 的实测里，这样一次整段重算的 TTFT p50 是 149.5 s [R2](https://vuke.top/evidence/R2)。

所以第一步是看监控：延迟高的请求，是不是集中在隔了一段时间才回来的长会话上。

## 三个不加卡的办法

这三件事都是在存储和软件上做文章，不需要新增算力卡。

- 把被逐出的 KV Cache 存下来：用 vLLM + LMCache 把它写到外置全闪存储，命中时读回，跳过这部分预填充。
- 让读回足够快：LMCache 并行读补丁把单卡、并发 16 冷读盘的 TTFT 从 37.97 s 降到 9.30 s，读带宽从 0.98 GB/s 提高到 5.23 GB/s [R1](https://vuke.top/evidence/R1)。
- 让多个实例共用一份缓存：fs:// 共享池的跨实例热共享已经验证通过，会话被调度到另一个实例时不必重算 [R3](https://vuke.top/evidence/R3)。

## 实测能降多少

下面是 Qwen3-Coder-480B-FP8、TP=8、8 × AMD MI308X 的读数，对照基线是本地 NVMe 单盘。

- 并发 8：TTFT p50 从 10.17 s 降到 7.53 s [R2](https://vuke.top/evidence/R2)。
- 并发 16：TTFT p50 从 17.31 s 降到 11.85 s [R2](https://vuke.top/evidence/R2)。
- 并发 32：TTFT p50 从 35.73 s 降到 26.35 s [R2](https://vuke.top/evidence/R2)。

## 什么情况下还是得加卡

外置缓存省掉的是重复的预填充。如果请求的上下文从来没有出现过，没有缓存可读，这一层帮不上忙。

如果瓶颈在输出阶段，也就是每个 token 的生成速度不够，那是算力问题，需要的是更多或更快的卡。先分清延迟属于哪一种，再决定钱花在哪里。

## 相关实测报告

- [R1](https://vuke.top/evidence/R1) · FX100 大模型推理与训练综合性能测试报告（AMD MI308X × 8） (AMD Instinct MI308X × 8 · ROCm 7.2)
- [R2](https://vuke.top/evidence/R2) · FX100 KV Cache 性能测试报告（480B · TP8 长上下文） (AMD Instinct MI308X × 8 · ROCm 7.2)
- [R3](https://vuke.top/evidence/R3) · FX100 KV Cache 性能测试汇总报告（480B · TP4×2 · 全指标） (AMD Instinct MI308X × 8 · ROCm 7.2)

## 外部参考资料

- [Efficient Memory Management for Large Language Model Serving with PagedAttention](https://arxiv.org/abs/2309.06180) · arXiv (SOSP '23). vLLM 的 PagedAttention 显存管理与 KV Cache 分页的设计动机
- [LMCache (GitHub repository)](https://github.com/LMCache/LMCache) · LMCache Project. LMCache 的源码、架构与存储后端说明
