桃子桃子快讯
返回首页
工具

llama.cpp 为 ARM 端 NVFP4 添加查表优化,CPU 推理速度提升超 5 倍

llama.cpp 项目合并 ARM 平台 NVFP4 点积查表优化,在 Qwen3 4B 模型上将 CPU 推理速度从…

2026.07.06 · 周一2 分钟阅读

llama.cpp 项目近日合入一项针对 ARM 平台的 NVFP4 量化推理优化:开发者 ragz4125 提交的 PR #25331 将此前用于 x86 实现的 UE4M3 查表优化(LUT)扩展到 ARM 路径,使两条 CPU 架构在 NVFP4 点积解码上复用同一套查表基础设施,避免在每次点积计算时重复执行 UE4M3 到 FP32 的浮点转换。

优化机制

NVFP4 是一种 4 位浮点量化格式,推理时需要把 UE4M3 这类 4 位 scale 值解码回 FP32 再参与点积。直接解码涉及浮点运算,开销不可忽视。该 PR 的做法是预先构建一张 UE4M3 到 FP32 的查找表,在点积热路径中以查表替代实时计算,从而降低指令数和延迟。

实测数据显示 ARM 端收益明显:在 Qwen3 4B NVFP4 量化模型(GGUF,2.63 GiB)、4 线程、pp512 测试条件下,主线版本吞吐仅 2.85 ± 0.03 t/s,引入查表优化后达到 9.97 ± 0.07 t/s,相比此前约 1.89 t/s 的基线提升超过 5 倍。

与 x86 路径的对比

作为参照,x86 平台在此前 PR #23961 中已经走过类似演进:

  • 初始 AVX2 实现:约 5.65 t/s
  • 加入 LUT 之后的最终 AVX2 实现:约 30.48 t/s

可以看到 LUT 化在两条架构上都能带来 3 到 6 倍的吞吐跃升。ARM 端目前的速度绝对值仍远低于 x86,这与 SIMD 宽度和内存带宽差异一致,但相对加速比已经达到实用水平。

社区反应

帖子在 r/LocalLLaMA 引发讨论,有用户表示「很高兴看到 CPU 相关的优化,让老旧笔记本也能跑得更高效」,并建议在 NVFP4 GGUF 生态成熟后,尝试将小型/微型模型推向纯 CPU 推理场景。

小结

此次更新填补了 llama.cpp 在 ARM 上 NVFP4 推理的性能短板,把原本主要依赖 NVIDIA GPU 的低比特路径向低功耗设备延伸了一步。对于没有独立显卡、但持有 Apple Silicon 或 ARM 服务器的用户来说,这意味着可以在 CPU 上以可用的速度运行 4 位量化的中小模型,而无需额外投入专用硬件。

信源