要在单张 24GB 卡上部署一个 13B 对话模型,支持 8K 上下文。模型是 40 层、GQA 8 个 KV head、head_dim 128。要求稳定服务至少 4 路并发对话。请给出你的显存预算表(权重 / KV / 激活 / 框架与 CUDA graph 各占多少),说明哪一项是你能动的、哪一项动不了,并给出最终的量化与部署配置。
面试官在考什么
判断候选人做显存规划时是否分项建账,能否区分“可调项”与“结构硬约束”,并用 GQA 的 KV 账解释这题到底能不能做成。
回答框架 · 前两步
- 预算表分四项:W4 权重约 7GB(含 scale/zero 约 0.5GB)、KV 约 5GB(4 路 × 8K)、激活峰值 1-2GB(受 prefill chunk 大小支配)、框架与 CUDA graph 1-2GB,合计约 15GB,剩余留给碎片与突发。
- 算对 KV/token:2 × 40 层 × 8 KV head × 128 × 2B = 160KB,8K 序列 1.25GB。并指出 GQA 是这题能成立的关键——若是 MHA(40 KV head)则 800KB/token,4 路 8K 要 25.6GB,直接出局。
还有 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 两个业务上带来的收益分别体现在哪里、哪个业务上收益相对不明显,为什么。