第 8 章 · 约 26 分钟
推理优化
如何安排批处理、请求和缓存,提高给定加速器的服务效率?
阅读中·实验未完成·考核未交
服务
同一份权重,尽量让更多请求分摊读取
推理优化的主旋律,是在容量允许的范围内提高权重复用,同时控制每条请求经历的等待。连续批处理让新请求在步边界加入、完成的请求退出,避免等待整段生成结束。容量账仍是 MW + Σ M_KV + M_work ≤ Mcap。
d(B, L) = D_W / B + L · k
第一项是共享权重,第二项是本请求的 KV。B 增大时第一项下降,第二项不动。上下文一长,曲线很快被 KV 托住。
PagedAttention:向操作系统借分页
预留连续的最大长度 KV,会在短请求上留下大量空洞。PagedAttention 把 KV 切成块,用块表映射逻辑 token 到物理页。碎片上限大约是一块的大小,换来的是更高并发。块越小越省,块表和分配次数也越多。
前缀缓存让共享系统提示或同一文档的请求复用已经算好的 KV。命中时 prefill 变成“只算增量”。推测解码用草稿模型向前多走几步,再用目标模型一次验证:接受长度的期望值决定加速比,草稿太长或接受率太低就会倒亏。
实验
连续批处理
每输出读取
2.11 GB
读取下界
0.63 ms
粗 TPOT
0.85 ms
粗 TTFT
384.00 ms
权重复用让每输出读取下降,但整批变胖。KV 项 L·k 不随 B 分摊。
考核
第 8 章考核
3 题
1.PagedAttention 主要解决什么?
2.连续批处理把 batch 从 1 加到 64,吞吐大涨。用户侧常见的副作用?
3.推测解码何时会变慢?
全部作答后交卷。