单张 24G 卡要部署一个 13B decoder 模型,FP16 权重约 26G,业务需要支撑 8 并发、平均 2K 序列长度。请按优先级列出你会用的显存优化手段,每个手段说明它省的是权重、KV cache、激活还是碎片,以及代价是什么;并说明为什么「把 batch 调小」解决不了这个问题。
面试官在考什么
考察候选人是否能把显存拆成权重/KV/激活/碎片四块并分别归因,是否知道权重是常数占用、batch 调参只影响后两块,以及优化手段之间是否存在顺序依赖。
回答框架 · 前两步
- 第一优先级是权重:13B × 2B ≈ 26G,是装不下的直接原因;weight-only INT4 可把它降到 7G 量级,一步解决容量问题。
- 第二是 KV cache:PagedAttention 去碎片、限制 max_model_len、KV 量化(FP8 减半);GQA/MQA 是模型侧既定配置,部署时改不了。
还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。
同一能力域的其他题
- 解释一下 KV Cache 是什么、为什么能加速推理,以及它带来的显存代价怎么算。
- 推理服务里 continuous batching 和静态 batching 有什么区别?为什么前者吞吐更高?
- 模型量化你了解哪些方案?训练后量化(PTQ)和量化感知训练(QAT)怎么选?量化后精度掉了怎么定位?
- 显存优化除了量化还有哪些手段?请按"省的是什么"把它们分类。
- 线上大模型服务的延迟怎么拆解?哪些部分你能优化、哪些是硬上限?
- 你有单卡 A100 80G,要上线一个 7B decoder-only 模型,同时承接两个业务:业务 A 是长 prompt(约 4k tokens)短输出(约 100 tokens)的摘要,业务 B 是短 prompt(约 200 tokens)长输出(约 1k tokens)的代码补全。团队让你在 vLLM 和 TensorRT-LLM 之间二选一。请给出你的选择和判断依据,并具体说明 PagedAttention 在 A、B 两个业务上带来的收益分别体现在哪里、哪个业务上收益相对不明显,为什么。