cpubrrr

3个月前发布 91 00

cpubrrr 是一个专为 Apple Silicon(特别是 M4 Max)CPU 设计的轻量级 LLM 推理运行时。它通过极致的手写优化和内存管理,实现了在完全不使用 GPU 的情况下,以显著高于 llama.cpp CPU 路径的速度运行前沿的混合专家(MoE)模型。

所在地:
美国
收录时间:
2026-07-29

cpubrrr 是一个专为 Apple Silicon(特别是 M4 Max)CPU 设计的轻量级 LLM 推理运行时。它通过极致的手写优化和内存管理,实现了在完全不使用 GPU 的情况下,以显著高于 llama.cpp CPU 路径的速度运行前沿的混合专家(MoE)模型。

cpubrrr

该项目最初是一个单模型实验,现已发展为一个配置驱动的引擎,支持多种架构和量化格式。其核心突破在于证明了通过精细的底层优化,CPU 也能成为高效运行大型 MoE 模型的主力军。

核心性能数据

在 Apple M4 Max CPU 上的解码吞吐量对比(多次运行平均值):

模型量化格式cpubrrr (tok/s)llama.cpp CPU (tok/s)提升倍数
gpt-oss:20bMXFP4~77~14~5×
Qwen3-Coder-30BQ4_K / Q6_K~92~82~1.1–1.2×

注:llama.cpp 的 CPU 模式通过 Ollama 服务器日志确认为仅 CPU 运行。所有输出均经过正确性验证。

为何如此快速?核心技术揭秘

MoE 模型的令牌生成主要受限于内存带宽而非计算能力。cpubrrr 通过以下技术将内存带宽利用率推向极限:

  1. 手写 NEON 整数内核:
    • 使用 sdot 和 tbl 指令在整数硬件上直接进行精确的 4 位算术运算。
    • 零浮点反量化:在内循环中完全避免了耗时的浮点转换步骤,大幅降低延迟。
  2. 四路交错权重布局:
    • 重新排列权重数据,使每个 CPU 核心都能读取连续的内存流,最大化缓存命中率和预取效率。
  3. 整数累加 Q8_K 内核:
    • 针对 Q4_K/Q6_K 量化格式,采用了从 llama.cpp ARM 源码中发现并优化的整数累加算法,进一步提升精度与速度的平衡。
  4. 工作线程驱动执行:
    • 使用 12 个持久工作线程运行整个前向传播。
    • 引入让步旋转屏障(Yielding Spin Barrier),在饱和所有核心的同时,避免了传统纯旋转屏障在高负载抖动下的性能崩溃。
  5. MoE 感知调度与 mmap:
    • 智能调度激活的专家模块,配合分块 Q8 激活量化和 mmap 权重加载,减少不必要的内存拷贝和开销。

支持的模型与架构

cpubrrr 是一个配置驱动的引擎,目前支持以下模型:

  • gpt-oss:20b:原始目标模型,经过端到端严格验证。
  • gpt-oss-120b:同家族更大模型(参数量大 6 倍),通过 mmap 技术在笔记本电脑 CPU 上流畅运行。
  • Qwen3-Coder-30B:支持不同的架构和量化格式,具备强大的代码生成能力。
  • Qwen3-30B (General):通用版 Qwen3,可直接替换使用。

技术透明性与严谨性

  • 纯 C 标准库依赖:二进制文件除了 C 标准库外不链接任何内容,物理上无法接触 GPU,确保测试环境的纯净。
  • 逐位验证:架构数学逻辑从 llama.cpp 源码恢复,4 位解包逻辑已逐位针对官方 gguf 库进行验证,确保数值正确性。
  • 公开纠错记录:项目完整记录了早期过度乐观数据的出错原因及证据,体现了极高的科研诚信和技术透明度。

适用场景

  • 隐私敏感环境:需要在完全离线、无 GPU 加速的设备上运行大模型。
  • Apple Silicon 用户:希望挖掘 M 系列芯片 CPU 潜力的开发者和技术爱好者。
  • MoE 模型研究者:关注内存带宽瓶颈优化及底层推理引擎设计的科研人员。
  • 边缘计算部署:在资源受限但需要高性能推理的边缘设备上部署大型语言模型。

相关导航