我不知怎么就在 4070 Ti + 32GB 内存上本地跑起了 GPT-OSS 120B,速度 21 tok/s lol🏗😤🤣
摘要
一位开发者通过在 4070 Ti + 32GB 内存上利用 GPT-OSS 120B 的 MoE 架构,将冷专家从 NVMe 流式加载、热专家缓存在 GPU 上,并采用 top-1 近似,最终达到了 21 tok/s 的本地运行速度。
说实话,这件事我原本都没觉得在我这台 PC 上是现实可行的 lol。我的配置是 4070 Ti 12GB、32GB 内存、7800X3D 和一块相当快的三星 NVMe。我基本默认任何 120B 级别的模型都完全超出我的能力范围,除非我搞一台蠢贵的 workstation,比如 128GB+ 内存或者多卡。显然并不是这样 😂😂 我让 Codex 折腾一个我称之为 CRANE 的想法,基本上就是想办法在不需要把整个模型同时塞进内存/显存的情况下运行 GPT-OSS 120B。这个模型在 MXFP4 下大约 59GB,所以我 32GB 内存 + 12GB 显存正常情况下显然装不下 lol。第一次用普通的 llama.cpp 尝试基本上直接把 Windows 的提交内存干爆了,我的看门狗在整台电脑变成土豆泥之前把它杀了。几乎瞬间就进入 94%+ 的提交占用区间。所以与其尝试正常加载,我们干脆开始利用 GPT-OSS 120B 是 MoE 这一事实。最终的大致思路是:共享/静态模型部分驻留,热专家留在 GPU 上,冷专家放在 NVMe 上;当需要某个专家时,它被流式传输到固定缓冲区,然后随着时间推移,系统会判断哪些专家被反复使用,并把它们保留在持久 GPU 缓存中,而不是每个 token 都从 SSD 重新读取。一开始慢得离谱,但居然真的能跑。第一次成功生成 120B 内容时大约是:2.63 tok/s 生成,3 左右 tok/s 提示处理,而且只评估了 18 个 token 就流式传输了大约 18GB 的专家数据 LOL。所以基本上 SSD 被干得死去活来,因为每个 token 大约要拉取 1GB 的专家数据。不过一旦我们知道这确实能行,Codex 就开始逐步缓存热专家。过程大致是:2.6 tok/s,然后 3.7,4 个热槽位时大约 7 tok/s,12 个槽位持续约 9.2 tok/s,然后缓存热起来之后,下一个 agent turn 冲到大约 13.8 tok/s,14 个槽位大约 15.1 tok/s。这时候我跟 Codex 说,去他妈的,干到 20 😂😂😂 结果这货居然真做到了。在 16 个自适应 GPU 热专家位置和更激进的 top-1 近似模式下,达到了:GPT-OSS 120B 生成 21.16 tok/s,提示处理约 60 tok/s。还是他妈的 4070 Ti。😭😭😭😭 重要星号,因为我知道肯定有人会指出:21 tok/s 模式使用了 top-1 近似,所以我这不是在声称未经改动的完整原生 GPT-OSS 120B 推理奇迹般地在 4070 Ti 上跑到了 21 tok/s。我也保留了一个较慢的高保真模式,这样我就能实际比较近似对输出/模型质量的影响。但实际 59GB 的 GPT-OSS 120B checkpoint 确实在本地运行,而且即使是在激进的近似之前,一旦热专家缓存开始工作,就已经可用了。最搞笑的是,我最初问的是做一个完整自定义运行时,最初的估计基本上是 4 到 7 个月和几百个工程小时 😂😂😂 然后我基本上告诉 Codex,别想着重新发明一切了,直接去找能拼在一起用的现有开源东西,直到能跑通。大约 2 小时后,我们就在本地跑起了一个 120B 模型。经典穴居人工程学:找块好石头,拿石头砸另一块石头,跑基准测试,扔掉烂石头,再砸一次。结果最后这块石头跑起了 120B LLM,每秒 21 tokens 💀 我也在做一个叫 JANUS 的本地 AI 沙盒/agent 应用,所以下一个蠢主意就是把这个接进去,让 120B 模型在本地跑自主模拟和工具调用。我现在还是没法相信这玩意居然能在我这台 PC 上跑 lol。
相似文章
4090 + 5060 Ti + 64GB RAM:35B-A3B 达 206 t/s,122B 达 37 t/s
一位用户分享了在双 GPU(RTX 4090 和 RTX 5060 Ti)上运行大语言模型(Qwen 27B-122B)的基准测试结果,实现了极高的 token 生成速度(例如 35B-A3B 达到 206 t/s,122B 达到 37-41 t/s)。帖子包含配置详情以及指向 GitHub 仓库的链接,其中包含脚本和原始数据。
在老款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投机解码的优化技巧。
我在一台6GB RTX 4050笔记本上尝试运行1.56TB MoE模型,结果如下
在配备6GB RTX 4050的笔记本上测试1.56TB混合专家模型,需借助NVMe进行修补式内存流式传输,解码速度达到0.106 tokens/s。
@sudoingX: 那些用16GB显卡的,别再滑了。@pupposandro 和 @davideciffa 把 qwen 35b-a3b 压缩到13.3GB,在……上实测
一种名为 luce spark 的技术让 Qwen 35B-a3B MoE 模型能够在16GB GPU(如RTX 3090)上运行,通过学习哪些专家被频繁使用,并将其余专家从内存流式加载,实现约100 tok/s,且不受显存瓶颈限制。
@witcheer: 难以置信 gpt-oss-20b 在 8GB 显存上的表现。21B 总参数,3.6B 活跃参数(MoE)。OpenAI,Apache 2.0。仅使用 1.8 GB 显存…
一个全新的开源 MoE 模型,gpt-oss-20b(总共 21B,活跃 3.6B),仅需 1.8GB 显存即可运行,并在代理编程任务上获得满分,性能优于其他本地模型(如 Gemma 和 Qwen)。