芯元一科技
XINYUANYI

首页 / 知识库 / GPU 利用率低显存却满了:KV Cache 占用的原因与判断

知识库

GPU 利用率低显存却满了:KV Cache 占用的原因与判断

GPU 利用率低但显存满了,常见原因是 KV Cache 占用。长上下文推理时,KV Cache 会随序列长度增长,挤占显存却不产生计算,导致利用率下降。

更新于 · 芯元一(天津)半导体设备有限公司

为什么 KV Cache 会占满显存?

KV Cache 保存历史 token 的键值对,避免重复计算。序列越长,缓存越大,显存占用越高,但计算量不增加,所以利用率可能很低。

推理时,模型为每个 token 计算 key 和 value 并缓存起来,后续 token 直接读取,避免重复计算。序列长度增加,缓存线性增长,显存很快被占满。

当显存不足时,系统会淘汰部分缓存,被淘汰的 token 需要重新计算,这会增加延迟。相关原理可参考 KV Cache 分层是什么?。

怎么判断是 KV Cache 导致的?

判断方法包括查看显存分配、对比不同上下文长度下的显存占用和利用率,以及检查缓存重算情况。

可以通过监控工具查看显存分配,确认 KV Cache 占用比例;也可以对比不同上下文长度下的显存占用和利用率变化。

检查推理框架日志中的缓存命中率和重算次数也能辅助定位。若需要复现验证具体数据,可参考 R8:KV Cache 代码导出包与原始数据,其中包含复现所需脚本和原始记录。

外置 KV Cache 能解决这个问题吗?

将 KV Cache 放到外部存储,可以释放显存给计算使用。芯元一 FX100 的实测显示,外置 KV 层能替代部分显存驻留。

在 8 卡 AMD MI308X 平台上,FX100 相对本地 NVMe 单盘,480B 模型长上下文推理吞吐提升 29% 到 40%,首 token 延迟中位数降低 26% 到 32%(R2)。

在沐曦 N260 单卡上,外置 KV 层可替代 128GB 级别的显存驻留(R5)。具体方案可参考 KV Cache 分层加速方案。

如何验证 FX100 在自有环境的效果?

芯元一提供约 10 周的门禁化联测,分四道门禁逐步验证。任何一道不达标即停止,降低采购风险。

联测包括到货验收、单机基线、联测主门禁和稳定性验收。主门禁要求首 token 延迟降幅不低于 25%,八卡单实例吞吐提升落在 29% 到 40% 区间(R2)。

流程细节见 四道门禁的联测流程。如需获取复现包或预约测试,可通过 联系页面 与我们沟通。

想用自己的模型和负载验证?从一次联测开始,不达标就停。
联系我们全部实测报告

常见问题

显存满了但 GPU 利用率低,一定是 KV Cache 吗?

不一定,也可能是模型权重、激活值或其他缓存占用。需要结合监控数据判断,建议用不同上下文长度测试对比。

FX100 能完全替代显存吗?

不能完全替代,但可以外置部分 KV Cache,释放显存给计算。具体效果取决于负载,显存替代效果见 R5,吞吐延迟效果见 R2。

如何获取 FX100 的测试数据?

R1 到 R4 可在 /benchmarks 页面公开下载,R9 需联系获取;R8 复现包需单独联系芯元一获取,不公开托管。具体信息以报告原文为准。

本文由芯元一的内容系统依据公司事实表自动起草,发布前经过数字校验和另一个模型的复审。文中的数字均来自带编号的测试报告,如与报告原件有出入,以报告原件为准。

延伸阅读