在MLX中使用turboquant(及自定义内核)运行Gemma4 26b MoE

Reddit r/LocalLLaMA 工具

摘要

一位开发者成功在Apple MacBook Air M5上使用MLX、turboquant和自定义内核运行了Gemma4 26b MoE,实现了比llama.cpp更快的提示处理和生成速度,且内存占用更低。实现方式包括本地部署说明。

TL;DR 过去这一周我花了几个疯狂的夜晚,测试能否让Gemma4在正确的turbo quant和旋转KV缓存支持下运行。答案是肯定的,我现在可以在我的MacBook Air M5上以128k上下文和4个并发批次运行Gemma4 26b 😄 在8k上下文且不使用mmap的情况下,它在提示处理、生成速度和运行内存方面都超越了llama.cpp: |backend|model|bpw|pp tok/s|gen tok/s|runtime mem| |:-|:-|:-|:-|:-|:-| |llama.cpp|IQ4\_XS + q4\_0 KV + flash-attn|4.25|260.6|14.66|16.0 GB| |MLX (ours)|nvfp4 + polar2|4.5|348.4|17.15|15.22 GB| 要达到这个速度需要大量手动调优,包括为SWA层编写自定义内核,以便在实际运行时实现2bit内存节省,从而在保持接近全fp16提示处理速度的同时实现更高的批次大小。 提示处理速度随批次大小的扩展性相对较好——但主要提升来自文本生成——在32 GB M5上运行512 token长度的提示: |B|pp tok/s|gen tok/s| |:-|:-|:-| |1|353|16.0| |4|429|24.9| |8|451|32.4| |16|451|44.2| |32|450|48.0| |64|448|54.6| |128|440|54.0| 如果你想自行下载并运行它,可以在终端中进入你想下载仓库的目录,然后运行: git clone https://github.com/lovelacemadeline/gemma4-turboquant-mlx 然后如果你安装了uv(也可以用pip3完成,但我更喜欢uv),接着运行: cd gemma4-turboquant-mlx uv tool install --from . --reinstall gemma4-turboquant-mlx 安装完成后,你可以通过以下命令启动后端: mlx_lm.server --model mlx-community/gemma-4-26b-a4b-it-nvfp4 然后它就应该能工作了 😄(注意,如果你在16 GB RAM的Mac上运行,则需要执行wired memory hack,以便让Gemma MoE模型的大部分量化版本运行——我在仓库中包含了相关说明)
查看原文

相似文章

我在 MacBook Air M5 上对 21 款本地大模型进行了代码质量与速度的性能评测

Reddit r/LocalLLaMA

一位开发者在 MacBook Air M5 上使用 HumanEval+ 对 21 款本地大模型进行了基准测试,发现 Qwen 3.6 35B-A3B (MoE) 以 89.6% 的得分和 16.9 tok/s 的速度位居榜首,而 Qwen 2.5 Coder 7B 仅需 4.5 GB 内存即可达到 84.2% 的性能,拥有最佳的内存性价比。值得注意的是,Gemma 4 系列的表现远低于预期(31B 版本仅得 31.1%),这可能是受 Q4_K_M 量化策略的影响。