实验 3-3 KV 缓存省下了哪些计算
每一格代表"在某一步里,某个位置被重新算了一次"。涂得越满,浪费越多。
生成长度 N
50
提示词长度 P
7
看到第几步
50
▶ 播放
朴素写法
每生成一个字,把
整段前缀
重算一遍。 第 t 步涂满 0..P+t 一整行。
累计 token 前向:
0
次
带 KV 缓存
预填充涂一次三角形,之后每步只涂
一个新格子
。
累计 token 前向:
0
次
计算量之比
—
理论值
—
动手:
N = 20 时比一下两个计数器;N = 50;N = 100。
比值是随 N 变大还是变小?
把提示词 P 从 7 拉到 20。比值怎么变?
为什么 P 变大反而让缓存"占便宜"变少了?
盯住右边那张图的形状:为什么它是
三角形 + 一条竖线
, 而左边是
一整块实心三角
?
正文 3.4.4 节说:省了 28 倍计算,GPU 上只快 1.0 倍。
看了这张图, 你觉得"省下来的时间去哪了"?