1. 首Token延迟(TTFT)的本质与挑战
当你在ChatGPT中输入一段文字后,那个令人焦虑的等待光标闪烁的瞬间,背后隐藏着大语言模型推理过程中最复杂的计算阶段。首Token延迟(Time To First Token, TTFT)作为衡量交互体验的核心指标,直接反映了从用户发送请求到模型开始生成响应的时间间隔。这个看似简单的数字,实际上凝结了现代AI基础设施面临的最严峻挑战。
在Llama-3 70B这样的模型上,处理一段5000 tokens的输入文本时,Prefill阶段需要执行约7万亿次浮点运算(FLOPs)。这相当于让GPU在几百毫秒内完成普通电脑需要数小时才能完成的计算量。更棘手的是,这些计算并非简单堆砌算力就能解决——当输入长度达到32K tokens时,注意力机制产生的中间矩阵需要占用惊人的40GB显存空间,这已经超过了大多数消费级显卡的总容量。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. LLM推理的双相特性解析
2.1 Prefill阶段的计算密集型特征
Prefill阶段的工作机制类似于全连接神经网络的前向传播,但规模呈数量级放大。以70B参数模型为例:
- 输入token经过embedding层转换为7680维向量(Llama-3配置)
- 每层Transformer需要执行:
- Q/K/V投影矩阵乘法(7680×7680)
- 注意力分数计算(序列长度×序列长度)
- 输出投影(7680×7680)
- 最终通过LM head生成第一个输出token
这个过程中的计算密度令人咋舌。使用NVIDIA的FLOPS利用率公式:
code复制实际FLOPS = (模型参数数量 × 2 + 注意力计算量) / 耗时
在A100 GPU上,理想情况下Prefill阶段可以达到150 TFLOPS的算力利用率。但现实往往骨感,由于内存带宽限制和调度开销,实际利用率通常只有60-80%。
2.2 Decode阶段的访存瓶颈
与Prefill形成鲜明对比的是,Decode阶段虽然单步计算量小,但面临完全不同的瓶颈。我们通过Roofline模型分析:
code复制算术强度 = (每token计算量) / (每token数据搬运量)
≈ (2×70B FLOPs) / (140GB权重+KV Cache访问)
≈ 1 FLOP/byte
这个数值远低于A100的算力带宽比(312TFLOPS/1.5TB/s≈208),说明Decode阶段完全受限于显存带宽。这就是为什么即使用最顶级的GPU,生成速度也很难突破50 tokens/秒的理论上限。
3. KV Cache的时空博弈
3.1 缓存机制的精妙设计
KV Cache的创新之处在于它重构了
