Administrator
发布于 2026-10-12 / 0 阅读
0
0

部署优化面试题 DEP-021—DEP-030:KV Cache 与批处理

750题总目录 · 部署优化模块目录

本篇 10 题|覆盖初级到高级|KV Cache 与批处理。先用自己的话回答,再核对参考要点,最后练习工程追问。

部署优化知识导图:100题,10个专题
部署优化知识导图:100题,10个专题;点击图片查看大图。

本篇目录

  1. DEP-021 KV Cache 为什么能加速解码?
  2. DEP-022 KV Cache 容量如何粗略估算?
  3. DEP-023 静态批处理有什么局限?
  4. DEP-024 连续批处理的核心是什么?
  5. DEP-025 PagedAttention 解决什么问题?
  6. DEP-026 前缀缓存适合哪些场景?
  7. DEP-027 分块预填充有什么价值?
  8. DEP-028 KV Cache 量化有什么取舍?
  9. DEP-029 缓存不足时可以怎样处理?
  10. DEP-030 批处理优化应该遵守什么约束?

DEP-021 KV Cache 为什么能加速解码?

难度:中级

参考答案:自回归生成复用历史 token 的键和值,避免每一步重复计算其投影。缓存仍占内存,注意力读取历史也有成本,长上下文并非免费。

工程追问:为什么一般不缓存所有历史 Query?

DEP-022 KV Cache 容量如何粗略估算?

难度:中级

参考答案:可按层数、KV 头数、头维度、序列长度、精度与并发估算键和值存储。不同架构和缓存实现有差异,需要考虑分块与运行时开销。

工程追问:GQA 为什么能减少缓存?

DEP-023 静态批处理有什么局限?

难度:中级

参考答案:请求通常一起开始或等待整个批次结束,长度差异导致空闲和等待。它实现简单,但对持续到达且输出长度不同的在线请求利用率可能较低。

工程追问:离线任务什么时候仍适合静态批处理?

DEP-024 连续批处理的核心是什么?

难度:中级

参考答案:在生成过程中动态加入新请求并移除完成请求,提高设备利用率。调度仍需兼顾公平、上下文预算和延迟,吞吐最大不等于体验最好。

工程追问:长请求会不会饿死短请求?

DEP-025 PagedAttention 解决什么问题?

难度:中级

参考答案:以分块方式管理 KV Cache,减少传统连续分配带来的浪费并支持更灵活共享。收益依负载与实现而定,不意味着注意力计算量消失。

工程追问:碎片减少如何转化为并发提升?

DEP-026 前缀缓存适合哪些场景?

难度:中级

参考答案:大量请求共享稳定系统提示或文档前缀时,可复用相关预填充结果。需满足模型与输入一致性,并管理租户隔离、有效期和内存占用。

工程追问:只有语义相似前缀可以直接复用吗?

DEP-027 分块预填充有什么价值?

难度:中级

参考答案:将长输入预填充分段调度,减少一次长预填充对正在解码请求的阻塞。块大小需要权衡调度开销、吞吐和首字延迟。

工程追问:为什么长输入会影响别人的输出节奏?

DEP-028 KV Cache 量化有什么取舍?

难度:中级

参考答案:降低缓存精度可减少显存并扩大并发,但可能影响数值精度和任务质量。是否加速取决于内核与硬件,需单独评估长上下文任务。

工程追问:权重量化与缓存量化有何不同?

DEP-029 缓存不足时可以怎样处理?

难度:中级

参考答案:限制准入、排队、缩小上下文或采用运行时支持的换出与重算机制。必须明确延迟与失败策略,避免无上限接收请求后集中 OOM。

工程追问:重算与换出如何选择?

DEP-030 批处理优化应该遵守什么约束?

难度:中级

参考答案:在显存和 SLO 范围内提高吞吐,同时控制不同租户与长度请求的公平性。记录每类请求的等待和生成速度,避免总体收益掩盖局部退化。

工程追问:如何设置最大等待时间?

复盘练习

任选一题,用“场景与约束 → 方案 → 验证方法 → 失败边界”组织一段回答。初级先讲清概念,中级补实现与测试,高级补成本、权限和故障取舍。难度标签是学习建议,同一题可继续深入。

延伸阅读

以下为本模块相关原始论文与官方文档,用于继续学习;本文为原创面试要点整理,具体框架行为以所用版本为准。

继续学习

上一篇:性能指标与压测 · 下一篇:量化与精度 · 返回部署优化目录


评论