一个 llama.cpp PR 在 GPU 上缓存“热”MoE 专家 — 8GB VRAM 下报告 33 → 56 tok/s

Reddit r/LocalLLaMA 工具

摘要

一个 llama.cpp PR 增加了基于热力图的“热”MoE 专家 GPU 缓存,在 8GB VRAM 下对某些模型将 tok/s 提升了约 1.7-2 倍,但对其他模型结果不一。

一个全新的 llama.cpp PR(#26563)增加了一个热力图,用于追踪哪些 MoE 专家最常被使用。它不会将所有专家都放在 GPU 上,也不会全部卸载到 CPU,而是将频繁被选中的专家缓存在显存中,同时让冷专家继续在 CPU 上运行。作者在 Qwen3.6-35B-A3B + 8GB VRAM 上的结果: Q2_M: 33.25 → 56.0 tok/s(1.68 倍) Q5_K_P: 17.34 → 35.93 tok/s(2.07 倍) 使用 --expert-hot-s -1 启用 Autofit 负面结果可能更有意思:启用缓存后,Qwen3.5-122B-A10B 和 Laguna-S-2.1 实际上变慢了。所以这显然不是一个通用的“让 MoE 更快”的开关。我猜测,只有当专家复用度足够高,足以抵消额外的追踪和缓存管理开销时,它才会有帮助。 目前的局限性: 仅支持 CUDA 仅在单 token 解码期间生效 根据缓存的专家不同,输出可能会有轻微差异 仍是一个开放的 PR,尚未合并进 llama.cpp 这看起来是一个有用的方向,可以让我们在消费级 GPU 上运行更大的 MoE 模型,而不用使用极低量化来“毁掉”它们。有人在 3060、4060 或其他 8–12GB 显卡上测试过这个分支吗?我特别想看看在编程、普通聊天和长上下文工作负载下的命中率和 tok/s 对比。 来源:llama.cpp PR #26563
查看原文

相似文章

专家优先的llama.cpp

Reddit r/LocalLLaMA

一位开发者创建了llama.cpp的实验性分支,该分支仅将已使用的专家(expert)而非完整层卸载到显存,从而在RTX 2060 12GB等显存有限的GPU上为MoE模型带来了速度提升。作者正在寻找测试者,以验证其在其他Nvidia GPU上的性能表现。

Llama.cpp PR 带来 8% 速度提升

Reddit r/LocalLLaMA

一个 llama.cpp PR 将采样从 CPU 移至 GPU,在 RTX 5090 上为 Qwen3.6-35B 推理带来 8% 的 token 速度提升,在 Tesla P40 上约为 4%。