标签题目
KV Cache相关面试题
LLM 长上下文推理中,KV Cache 压缩如何降低显存占用,和 Prefix Cache 的作用有什么区别?
这题考长上下文 LLM 推理中的显存管理。回答要把 Prefix Cache 的跨请求前缀复用和 KV Cache 压缩的单次/多次请求显存降载区分开,再说明压缩策略、精度损失、服务集成和评估指标。
大模型推理变慢时,如何从序列长度、batch、KV Cache、量化、FlashAttention 和 GPU 资源排查?
这题考 LLM 推理性能诊断闭环。高质量回答应先定义慢在哪里,再拆分队列、prefill、decode、KV Cache、batch 调度、attention kernel、量化、GPU 利用率和服务链路,用指标定位瓶颈,而不是一上来堆优化名词。
同题还出现在 1 个公司岗位
长上下文推理中 KV Cache 为什么可能被污染,如何做缓存隔离、清理和复用边界控制?
这题考的是大模型推理缓存的正确性与安全边界:KV Cache 本身是某个模型、某段 token、某套位置编码和注意力 mask 下的中间状态;一旦跨请求、跨会话、跨租户、跨模板版本或跨可变上下文错误复用,就可能产生答案串扰、隐私泄漏、事实陈旧或位置错乱。
Transformer 推理阶段为什么 KV Cache 只缓存 K 和 V,而通常不缓存当前步的 Q?
这题考的是自回归推理中 attention 计算复用的本质:历史 token 的 K/V 会在未来每一步被反复访问,而 Q 只属于当前查询 token,用完即可丢弃,所以缓存 K/V 能省重复计算,缓存 Q 通常没有收益。
LLM 推理引擎中 GPU 内存管理机制应如何设计,如何管理 KV Cache、显存碎片、并发 batch 和 OOM 降级?
这题考的是推理引擎的显存资源治理能力:不能只会调用 CUDA malloc,而要能把 KV Cache、临时 workspace、权重、并发请求、碎片控制和 OOM 降级统一成可预测、可观测、可调度的内存系统。
大模型推理时出现 OOM,如何从 batch、输入长度、KV Cache、临时张量峰值和算子实现排查?
这题考推理 OOM 的系统化排障能力:要能把显存占用拆成权重、KV Cache、prefill 临时峰值、decode 并发、算子 workspace 和碎片,并用可复现实验逐步定位,而不是一句降低 batch size。
LLM 推理中做 KV Cache sparse 计算时,vLLM/Triton 实现为什么可能选择稀疏索引或稀疏块,而不是直接用 dense mask?
这题考的是稀疏注意力在推理引擎里的真实性能取舍。dense mask 在数学上能表达稀疏模式,但计算和访存仍接近 dense attention;而稀疏索引或稀疏块能让 kernel 只读取和计算被选中的 KV cache,从而节省显存带宽、减少无效 FLOPs,并更适合 vLLM 这类分页 KV 和 Triton 块级并行实现。
vLLM 和 SGLang 在 LLM 推理引擎中分别解决什么问题,如何从 PagedAttention、前缀复用和请求调度角度比较?
这题考 LLM 推理引擎的系统理解,而不是问两个项目谁更快。好答案要说明 vLLM 的核心公共概念是提升 serving 吞吐和显存利用率,典型抓手包括 PagedAttention、KV cache 分页管理、continuous batching 和 prefix caching;SGLang 更强调面向复杂 LLM 应用的编程/运行时,围绕结构化生成、多轮/多调用流程、前缀复用、调度和缓存优化降低复杂请求的执行成本。比较时要从 KV 管理、前缀复用、请求调度、结构化输出、内存压力和 workload fit 讲边界,避免虚构版本特性。
LLM 推理中 KV Cache 大小如何计算,哪些参数决定显存占用?
这题考 LLM 推理显存估算的基础功。高质量回答要给出 KV Cache 公式,说明 batch、上下文长度、层数、KV head 数、head_dim、数据类型、beam/并发和 GQA/MQA 都会影响显存,并区分权重显存、激活显存和 KV Cache 显存。
LLaMA 2 中的 GQA 是什么,它如何减少 KV heads、降低 KV Cache 和带宽开销,并影响训练与推理效率?
这道题考察 GQA 的注意力结构和 KV Cache 推理瓶颈。回答要先把 MHA、MQA、GQA 放在一条线上:MHA 每个 query head 有自己的 K/V head,MQA 所有 query head 共用一组 K/V,GQA 则让一组 query heads 共用一个 K/V head。它减少的是 KV heads 数量,从而降低 K/V projection 输出、KV Cache 存储、decode 阶段缓存读取带宽和跨卡通信压力。关键是不要把 GQA 只说成训练加速;它对长上下文自回归推理的内存带宽收益更直接,同时在质量和效率之间比 MQA 更折中。
如何将已有 MHA 大模型改造成 GQA?KV Head 权重合并初始化和继续训练分别解决什么问题?
这题考察的不是“GQA 是什么”这一层概念,而是如何把一个已经训练好的 MHA checkpoint 工程化迁移成 GQA,并解释初始化和继续训练各自承担的职责。核心答案应先说明结构变化:MHA 中每个 Query Head 通常有独立的 K/V Head,而 GQA 把多个 Query Head 分成一组,共享同一组 K/V 投影,从而减少 KV Cache、显存带宽和解码阶段访存。迁移时不能随机初始化 K/V,否则模型等于突然丢失大量注意力记忆能力;因此通常用 KV Head 合并做 warm start,例如按组平均、加权平均、选择代表头或用聚类合并 K/V 权重。这个初始化解决“结构对齐和功能尽量连续”的问题;继续训练或 uptraining 解决“合并带来的表达能力损失、注意力分布偏移和层间统计不匹配”的问题。高质量回答还要补充训练数据配比、学习率、冻结策略、评估指标和推理收益验证。
如何用 PyTorch 实现 Grouped Query Attention?当 Q heads 多于 KV heads 时,K/V heads 应如何分组、repeat 或 broadcast,并完成 attention score、mask、softmax 和输出投影?
这道题考察候选人是否理解 Grouped Query Attention 的 head 形状和实现细节。回答要讲清 Q heads 与 KV heads 的分组关系,如何 repeat K/V,如何计算 mask、softmax 和输出投影。