Magnitude:自优化本地推理引擎

来自 Hacker News · 期号 2026-10-01

摘要

本地跑 agent 的推理引擎,性能天花板一直卡在通用方案上。 Magnitude 的思路是:在用户设备上先编译再调优,让 kernel 适配具体硬件,而不是为兼容性牺牲速度。它用 Rust 写,完全开源(Apache 2.0)。 对比 llama.cpp,Qwen 3.6 35B A3B(4 bit)下:Mac M4 Pro 解码快 92%(30→57 tok/s),CUDA 快 19%(49→58 tok/s),每个 agent 内存少用近 30%。 评论区有用户指出,这个 benchmark 没开 speculative decoding,如果开了差距可能缩小。

深读

导读 本地运行 agent 的推理引擎长期在「为数据中心优化」和「为兼容性牺牲速度」之间二选一。Magnitude 走了一条不同的路:在用户设备上先编译再调优,让 kernel 适配具体硬件,而不是反过来。它用 Rust 写、完全开源(Apache 2.0),在 Mac M4 Pro 上解码速度比 llama.cpp 快 92%,内存占用低近 30%。如果你在本地跑 agent 且对延迟敏感,这个项目值得关注。 关键信息 - 对比 llama.cpp,Qwen 3.6 35B A3B(4 bit,64k context,无 speculative decoding)下:Mac M4 Pro 解码从 30 tok/s 提升到 57 tok/s(+92%),CUDA(DGX Spark)从 49 tok/s 提升到 58 tok/s(+19%)。 - 每个 agent 会话的内存占用:Mac 上减少 28%,CUDA 上减少 27%。 - 预填(prefill)速度:Mac 上从 466 tok/s 提升到 507 tok/s(+9%),CUDA 上从 2,033 tok/s 提升到 2,507 tok/s(+23%)。 - 支持 Mac、Linux、Windows,以桌面应用形式交付,可对接 Pi、OpenCode、Hermes、Codex 等 agent 框架。 - 团队此前做过一个开源浏览器 agent,获得 4000+ GitHub Stars 和 10 万+ 下载。 逐节讲解 现有推理引擎的取舍 作者将现有方案归为三类:为数据中心批处理优化的引擎(vLLM、SGLang)牺牲了单会话性能;追求广泛兼容性的引擎(llama.cpp、Ollama)没有为特定硬件做深度优化;为特定硬件或模型定制的引擎(oMLX、ds4)功能不完整。此外,这些引擎都不是为本地 agent 场景设计的——agent 会话时间长、常有多会话并发,同时用户还要用电脑做其他事。 Magnitude 的设计思路 核心策略是「在用户设备上编译并调优」。Kernel 用灵活参数写成,在模型运行前针对实际硬件做自动调优,从而在保持广泛硬件兼容性的同时,达到硬件专用 kernel 的性能天花板。引擎只聚焦最流行的开源权重模型家族,不追求过度泛化。 内存管理方面,Magnitude 初始只预留模型权重所需的内存,agent 会话增长时动态扩展堆内存,会话结束后自动释放,确保其他程序不受影响。注意力机制上,它借鉴了 SGLang 的 radix attention 思路,允许多个并发会话共享前缀缓存,但优化了内存布局以保持单会话性能。 性能数据与路线图 基准测试选择的是 llama.cpp(同模型、同量化、同上下文长度),结果如上节所示。作者特别注明未开启 speculative decoding…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。