LLM 推理服务跑着跑着显存不够了,工程师面前通常摆着两条路:要么加 GPU,把权重和 KV 缓存切分到多张卡上;要么把 KV 缓存原地压小,单卡继续跑,拿一点质量换空间。这两条路来自两个几乎不对话的社区——系统社区管扩容,算法社区管压缩,各自汇报各自的指标:压缩论文讲内存比例,扩容论文讲吞吐曲线,很少被放到同一张成本账单上比较。arXiv 8 月 25 日提交的新论文《More GPUs or a Smaller Cache? Tensor Parallelism versus KV Compression for Memory-Bound LLM Serving》补上了这个空白(论文地址)。

实验设计:把两条路线拉上同一根成本轴

作者用了一个经过性能剖析、在 A100、A40、H100 三种真实硬件上校准的模拟器,把张量并行配置(并行度 1 到 8)和 KV 压缩配置(16/8/4-bit 量化、保留率最低压到 0.25)放进同一坐标系:纵轴是每百万 token 成本,横轴是延迟。测试对象是 Llama-2 的 7B 和 70B 两档模型。

论文还点破了一个业界最常见的对比错误:算成本时省掉并行度 p,等于假装扩容不要钱。作者的原话是,省略 p 是他们见过最容易出错的地方,去掉 p 会推翻本文所有结论——这也是很多「加卡更快」的直觉经不起推敲的原因。

核心结论:交叉点不存在

作者原本想找「成本等效交叉点」——某个规模之上加卡反超压缩——结果是没找到。在他们构造的每一种显存压力水平下,压缩都比加卡便宜 1.20 到 2.00 倍,且显存压力越深差距越大。

更重要的是分水岭:对 80GB 单卡,大约 36B 参数是策略边界。低于这道墙,压缩全面占优,多买的 GPU 大概率是浪费的钱——论文甚至指出 7B 模型在 80GB 设备上根本无法在自己的上下文窗口内耗尽 KV 预算;高于这道墙,张量并行不再是选项而是入场券:Llama-2-70B 在单张 A100 上无论怎么设置 KV 都跑不起来,因为卡住的是权重本身,而 KV 压缩动不了权重。

两个杠杆各有不可替代的一侧:张量并行是唯一能改善延迟的杠杆,压缩反而让每 token 延迟变差 8% 到 93%(来自 batching 争用);压缩则是唯一能放大单位美元容量的杠杆——16.5 倍,而 8 倍的 GPU 开销只换来 1.21 倍。

所以呢

这篇论文的价值不在「永远选压缩」这样的口号,而在给出一套决策次序:先看模型权重相对单卡显存的比例——塞得进单卡,买卡扩容前先试压缩;塞不进去,讨论「要不要张量并行」本身就是伪问题。再问自己在优化延迟还是容量,因为这两个目标分别指向两根不同的杠杆。对正在做推理成本核算的团队,这篇账单值得放进收藏夹。