今日学到:为什么我的双5060 Ti配置卡在50%使用率上不去——不是它坏了。

Reddit r/LocalLLaMA 新闻

摘要

探讨双RTX 5060 Ti GPU在运行Qwen 27B等大型LLM时利用率仅达50%左右的原因:内存带宽是瓶颈,逐层拆分导致空闲时间,这更像是接力赛而非并行计算。

我一直在用两张5060 Ti运行Qwen 3.6 27B(Q6,约22GB),一直以为配置哪里不对,因为每张卡的使用率从未超过50%左右。昨晚花了很长时间才弄清楚原因,老实说,这其实是个挺有意思的坑。原来生成一个token就意味着GPU要从内存中拉取整个模型的权重——是内存读取,不是计算。一个22GB的模型,每生成一个token就要读取22GB数据。我的卡带宽大约448GB/s,不管你改什么设置,速度上限也就25-30 tok/s。光是这一点就解释了很多问题。但真正让我恍然大悟的是:由于模型无法放进一张16GB的卡,它会被拆分到两张卡上。默认的拆分方式是逐层拆分,这意味着卡1处理完自己的那部分,然后交给卡2,而卡1就只能...等着。所以算一下平均值,50%左右基本上就是天花板,不是bug。这是接力赛,不是团队协作。据说还有一种行拆分模式,两张卡可以同时处理同一层,而不是轮流干活,但这需要两张卡之间频繁通信,如果没有NVLink(这些卡没有),实际快不快完全取决于你的PCIe通道数。我得自己跑基准测试,网上没有这个组合的通用答案。我还偶然发现Google的DiffusionGemma是一次生成一整块256个token,而不是一个接一个生成,这基本上就是为了在单用户环境下规避这个问题——他们直接在发布说明里承认这会牺牲质量。看起来没有免费的午餐,每个架构都有自己的取舍。总之,如果你的本地设备在拆分模型时感觉利用率卡在半截,那很可能不是你的问题,而是两张卡轮流干活而不是协同工作的必然结果。
查看原文

相似文章

2 x 5070ti Qwen 27B 完整配置/统计

Reddit r/LocalLLaMA

技术帖分享了在 2x RTX 5070 Ti GPU 上使用 vLLM cu129-nightly 运行 Qwen 27B 的性能数据,解码速度最高可达 94-87 tps,GPU KV 缓存达 170k。

探寻4x 3090的甜点

Reddit r/LocalLLaMA

一位用户分享了在运行Qwen3.6-27B与vLLM的4x RTX 3090平台上进行的功耗限制测试,发现220W是在最小化吞吐量损失下实现峰值效率的甜点。