Qwen 3.5 122B MoE OC 在单张 3090 上以 35 t/s 运行——完整本地堆栈解析

Reddit r/openclaw 工具

摘要

在单张 RTX 3090 上使用定制版 llama.cpp(ik_llama.cpp)以 35 t/s 运行 Qwen 3.5 122B MoE 的详细解析,其中采用了融合 MoE 操作和专家层卸载到 CPU 内存的技术,性能显著优于原版 llama.cpp MTP。

我知道,这不是 27B 版本。实际上,我在两个月后替换掉了那个模型,因为 MTP 刚刚颠覆了我的计算方式。这是我用 LoRa 适配器和我的寄存器从 35B 模型写的初稿。TLDR:在你的硬件上塞进更大的模型,更强的性能。在单台桌面电脑上运行完全本地的推理堆栈。没有云服务,没有 API 费用。分享是因为这经过了很多迭代才调对,而 MoE 卸载的数据可能为他人节省时间。我是一名独立开发者,编写商业自动化工作流并开发游戏。 硬件:AMD 9900X,192GB DDR5-5200,两张 3090(Ti 和标准版),无 NVLink。内存是秘密武器。 显卡 1(工作卡):Qwen3.5-122B-A10B,Unsloth IQ3_S MTP GGUF,204K 上下文。75% 的专家层通过精确的 -ot 参数卸载到 CPU。运行在 ik_llama.cpp(非原版)上——这是关键发现。原版 llama.cpp 对卸载的 MoE 进行 MTP 几乎没什么帮助(仅 +4%)。ik 的融合 MoE 操作为推测令牌批量读取专家层,使 MTP 真正获得了 +20% 的提升。在单张 3090 上对 122B 模型达到 35 t/s 的解码速度。 显卡 2(推理卡):Qwen3.6-35B-A3B Q4_K_XL 带 MTP。262K 上下文。135 t/s。这是用于创意工作和对话的快速响应模型。 CPU 梦想家:三个仅使用 CPU 的 llama.cpp 实例(无 GPU 争用):Dialectic(35B heretic Q8)、Scribe-Logos(Gemma4 19B)、Moonshot(Gemma4 2B)。总共约 19GB 内存。用于后台处理、验证和辅助意见。 OpenClaw 框架将所有组件整合在一起。OpenClaw 的内嵌运行器负责故障转移——如果本地服务挂掉,可以回退到云端,不过对我来说这种情况尚未发生。 关于 ik_llama.cpp 的发现:这是我想向所有使用专家卸载的 MoE 用户强调的一点。原版 llama.cpp 的 MTP 通过 DDR5 顺序评估每个推测令牌的专家。在推理内容上甚至出现倒退——草案的开销超过了接受的节省。ik 的融合 MoE 操作完全解决了这个问题。保持相同的接受率,有效加速 5 倍。如果你在任何 MoE 模型上卸载专家到内存,在放弃 MTP 之前试试 ik 分支。 总成本:硬件方面,内存约 1600 美元,两张 3090 约 1600 美元,其他配件约 400 美元。运行成本就是电费。
查看原文

相似文章

4x RTX 3090 上的 Qwen3.5-27B、Qwen3.5-122B 和 Qwen3.6-35B —— MoE 模型在严格全局规则下的表现困境

Reddit r/LocalLLaMA

潜水多年的老用户,首次发帖。在 4 张 RTX 3090 上对三款 Qwen 模型分别进行了 20 多个会话的实时智能体工作测试——**Qwen3.5-27B** 稠密模型、**Qwen3.5-122B-A10B** MoE 和 **Qwen3.6-35B-A3B** MoE。以下数据均解析自持续真实负载下的 vLLM 日志,而非合成基准测试。**本文所有数据的关键负载背景:** 测试框架是一个多智能体编排器,同时运行 1-6 个并发的 OpenCode 会话,Prompt 长度为 30-60k token,并且强制执行**严格的 Bash 允许列表