在老款GTX 1080(8GB显存,128k上下文)上,约30B的MoE模型达到24+ tok/s的推理速度
摘要
一位开发者展示了如何使用llama.cpp,通过MoE卸载和TurboQuant KV缓存量化技术,在老款GTX 1080(8GB显存)上以128k上下文运行Qwen 3.6 35B-A3B和Gemma 4 26B-A4B等MoE模型,达到24+ tok/s的推理速度,并揭示了针对Gemma MTP投机解码的优化技巧。
我在一台200美元的二手设备(i7-6700 / GTX 1080 / 32GB内存)上,使用llama.cpp运行了 **Qwen 3.6 35B-A3B** 和 **Gemma 4 26B-A4B**(TurboQuant/RotorQuant KV缓存量化技术使得128k上下文能够容纳在8GB显存内)。**结果(Q4\\_K\\_M模型,128k上下文):** |模型|tok/s|关键标志| |:-|:-|:-| |Qwen 3.6 35B-A3B|\\~24| \\--n-cpu-moe 30, K=turbo4 V=turbo3| |Gemma 4 26B-A4B(无MTP)|\\~20|\\--n-cpu-moe 20, K=V=turbo3, --flash-attn| |Gemma 4 26B-A4B + MTP(朴素)|\\~21|embedding table 静默位于CPU| |Gemma 4 26B-A4B + MTP(修复后)|\\~24.5|\\--override-tensor-draft \"token\\_embd\\.weight=CUDA0\"| 诀窍在于MoE卸载:llama.cpp可以将冷门专家权重存放在系统内存中,并通过PCIe流式传输到GPU,同时将热层+KV缓存保留在GPU上。系统完全受限于PCIe带宽(GPU利用率约40-50%,而PCIe 3.0 x16已满载)。**最大发现:** Gemma 4的MTP投机解码开箱几乎没什么帮助(约\\~5%提升)。原来llama.cpp无条件地将token嵌入表保留在CPU上。通常这没问题(只是一个`get_rows`查找),但Gemma 4的MTP辅助模型有一个绑定的LM头——因此每个草稿token都需要通过PCIe进行一次完整的262k×1024矩阵乘法。通过`--override-tensor-draft`强制将其放到GPU上,可以获得真正的约\\~22%加速和约\\~79%的草稿接受率。**设置痛点(Fedora 42 + Pascal GPU):** * 将akmod-nvidia固定在580xx分支(Pascal即将成为遗留架构) * 为CUDA 12.9强制使用gcc-14(更新的gcc被拒绝) * 为glibc 2.41兼容性修补CUDA的math\\_functions.h * 使用AtomicBot-ai/atomic-llama-cpp-turboquant分支来同时支持TurboQuant缓存和Gemma MTP功能 [包含所有繁琐构建细节的完整博客文章](https://mdda.net/blog/tech/dl/llama-cpp-moe-on-an-old-gtx-1080)(包含每条命令,以及对MTP嵌入表问题的深入调试)我很快还会计划一个YouTube视频讲解 - 上线后会更新。很高兴回答有关设置的问题。
相似文章
@analogalok: 在8GB显存上以20+ token/秒运行Gemma 4 26B MoE,支持250k上下文。如果你有8GB显存显卡,停下你正在做的事……
Alok演示了使用Unsloth的QAT量化以及llama.cpp中的-cmoe标志,在8GB显存上运行Gemma 4 26B MoE,实现了250k上下文下20 token/秒的速度,这标志着廉价本地AI的一个重要里程碑。
@analogalok:我的8GB显存游戏本肯定会恨我这么做,但我还是做了。跑了一个31B稠密模型(Gemma 4…
用户在8GB显存的游戏本上,使用llama.cpp配合MTP推测解码,以约3 tokens/s的速度运行了Gemma 4 31B稠密模型,展示了在消费级硬件上运行31B稠密模型的可行性,并提出了智能体工作流程:快速MoE模型将困难任务路由给这个较慢的稠密模型。
@outsource_: 全新 GLM+ Qwen 18B 可在消费级 GPU 上运行,仅用一半显存就打败 35B MoE
全新的 18B 融合量化模型 Qwopus-GLM-18B-GGUF,仅用一半显存即可在消费级 GPU 上运行,性能超越 35B MoE 模型。
在12GB显存上使用Gemma 4 12B QAT MTP实现120 tok/s
Google的Gemma 4 12B QAT模型通过llama.cpp的多令牌预测(MTP)在12GB GPU上达到120 tok/s。本文提供分步指南以及无MTP的基准对比,显示速度提升2倍。
Qwen 3.5 122B MoE OC 在单张 3090 上以 35 t/s 运行——完整本地堆栈解析
在单张 RTX 3090 上使用定制版 llama.cpp(ik_llama.cpp)以 35 t/s 运行 Qwen 3.5 122B MoE 的详细解析,其中采用了融合 MoE 操作和专家层卸载到 CPU 内存的技术,性能显著优于原版 llama.cpp MTP。