在没有 GPU 的 13 年旧 Xeon 上以 5 个令牌/秒运行 Gemma 4 26B
我的地下室里有一台不应该运行现代语言模型的服务器。这是一台重新利用的 HP StoreVirtual 存储盒,约十三岁,配有两颗 Ivy Bridge Xeon,没有 GPU。它是为了存放硬盘而建造的,而不是做数学运算。截至本周,它以大约每秒五个令牌的速度运行 Google 的 Gemma 4 ,这是一个 260 亿参数的开放权重专家混合模型,阅读速度。硬件重新利用的 HP StoreVirtual:双 Xeon E5-2690 v2(Ivy Bridge,2013 年),DDR3,无 GPU 指令集仅为 AVX1 - 不支持 AVX2,无 FMA3 模型 Gemma 4 26B-A4B(MoE),Q8_0 解码 ~5.2 个令牌/秒 提示评估 ~16 个令牌/秒 设备成本低于 300 美元。任何人都可以租用 GPU。将现代 MoE 模型与一台已损坏的企业设备结合在一起更难,而这个差距正是我撰写此文的原因。“精通 AI”已经悄然意味着“支付订阅费用”。我认为真正的技能有所不同:足够了解一个模型,以便将其指向没有人为打包的问题,并判断它返回的答案是否真正正确。因此,与其声称我们擅长这个,不如给出一个在不应该合作的硬件上工作的示例。引发此帖的文章几周前在 Hacker News 上流传,标题为“你只需要一台 10 年旧的 Xeon”。作者在一台没有 GPU 的 2016 年 Xeon 上运行 Gemma 4 ,使用了 ik_llama.cpp 和大约 25 个精心选择的标志。这是一篇很棒的阅读,利用了现代推断手册中的每一个技巧:投机解码、CPU 感知的专家混合路由、移植到 CPU 的快速注意力、运行时权重重新打包。真正的工程。 "我也有一台 Xeon,"我想。实际上有几台。因此我尝试了它。结果没有运行。一个 AI 代理实际上有什么用 该构建在启动时崩溃了。我把失败的结果交给 Claude,并询问问题所在。答案很快且具体。作者的2016年芯片是 Broadwell 部件。而我的则是 Ivy Bridge,英特尔称其为“v2”。该分支中的快速内核假设 AVX2 和 FMA3,这些指令集直到 2014 年 Haswell “v3” 这一代才发布。我的 CPU 比代码编写时的指令还要旧。优化路径不存在,因此无法执行。于是我问了一个显而易见的后续问题:我们能否让它运行?我已经尝试过一个免费的模型,接近但无法成功。Claude 接过这个半成品的方法,认为这是正确的,并完成了它,重新设计了热路径,使其能够平稳地回退到不支持 AVX2 的芯片,而不是力图使用不存在的指令。这就是我关心的部分。这不是通过输入“修复它”一次并得到一个有效补丁的结果。有人不得不阅读另一个人性能关键的 C++ 代码,弄清楚为什么某个内核在这个特定微架构上无效,并在不丢弃使该分支值得使用的优化的情况下进行绕过。Claude 完成了这项工作。我的工作范围更窄:运行正确的实验,并在输出最终正确时识别出来。我对此感到印象深刻。结果 Gemma 4 的 26B 专家混合模型现在在硬件上以阅读速度生成文本,而这台硬件在模型架构存在之前就已经退役。原始文章没有发布每秒令牌数的数字,仅仅提到“阅读速度”,因此这里是具体的:在这台十三年的硅上,大约每秒五个令牌,几乎是免费的。运行证明:Gemma 4 26B 在地下室的盒子上,CPU 独立操作。补丁作为 ikawrakow/ik_llama.cpp#2138 上架,如果您想要确切的差异——在我撰写时仍处于开放状态,等待维护者审核,因此现在请从该分支运行。希望任何其他坐在古老企业铁器上的人都可以保留一个本地模型:在付费 API 出现故障时的后备,或者在按令牌付费不合理时以便宜的方式处理慢批处理作业。对于那些想要实际错误的人 在我深入之前请全盘披露。我不是 C++ 程序员。我可以读取堆栈跟踪,也知道如何使用构建系统,但我并没有为量化 matmul 引擎手动编写内核回退,我也不会假装我是这样做的。我所做的是驱动。我运行实验,阅读输出,问下一个问题,并知道“正确”的样子是什么。诊断和补丁是 Claude 实例在服务器本身上运行得到的。我请它写下它修复的内容,接下来本部分是该摘要,经过轻微编辑。如果您是从 Hacker News 来的真实拆解,这部分就适合您。 实际上有什么问题需要解决的引擎是 ik_llama.cpp ,这是 ikawrakow 对 llama.cpp 的分支,添加了 Gemma 4 的 MoE 推断所依赖的优化。它假设 AVX2 是其最低要求。这个盒子中的 Xeon E5-2690 v2 支持 AVX1,但不支持 AVX2。在构建时关闭 GGML_USE_IQK_MULMAT,代码库中的大部分代码会尊重这一点:快速路径会编译,模型会回退到简单的标量/SSE 数学。这对于一个
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡