很多同学会问:为什么大模型训练看起来吞吐很高,但在线生成速度却不快?
关键在于训练和推理的计算模式完全不同。
训练阶段:并行友好
训练时我们有完整序列,可以一次性并行计算多个 token 的前向和反向传播。
这非常适合 GPU 的并行矩阵运算,因此总体吞吐可以做得很高。
推理阶段:自回归串行
生成文本时,模型通常采用自回归方式:
先生成第 1 个 token,再基于它生成第 2 个,再生成第 3 个。
这意味着时间维度上天然串行,难以像训练那样完全并行。
KV Cache 为什么重要
如果每生成一个 token 都重算整段历史,代价会非常高。
KV Cache 的作用是复用过去 token 的 Key/Value,避免重复计算,显著降低延迟。
这也是推理优化里的基础能力。
工程上的常见优化方向
- 更高效的注意力实现
- 批处理调度和请求合并
- 量化与更小模型蒸馏
- 更合理的上下文长度控制
它们都在同一个目标上努力:在效果可接受的前提下,把单位 token 成本降下来。
小结
理解训练与推理差异之后,你会更容易看懂为什么“模型很强”不等于“上线就快”。
模型能力、系统架构和成本之间,始终是三方平衡。