章节 01
导读 / 主楼:Project Zero:纯C语言打造的BitNet推理引擎,CPU上跑出GPU级性能
一个从零构建的单二进制LLM推理引擎,用C99实现,在消费级CPU上高效运行微软BitNet b1.58-2B-4T模型,无需GPU、无需Python、无需任何框架依赖。
正文
一个从零构建的单二进制LLM推理引擎,用C99实现,在消费级CPU上高效运行微软BitNet b1.58-2B-4T模型,无需GPU、无需Python、无需任何框架依赖。
章节 01
一个从零构建的单二进制LLM推理引擎,用C99实现,在消费级CPU上高效运行微软BitNet b1.58-2B-4T模型,无需GPU、无需Python、无需任何框架依赖。
章节 02
章节 03
Project Zero是一个从零构建的单二进制LLM推理引擎,完全用C99编写。它的核心目标是:在消费级CPU上高效运行微软的BitNet b1.58-2B-4T模型,无需GPU、无需Python、无需任何框架依赖。这个项目代表了边缘计算和本地AI部署的一个重要里程碑——证明纯CPU推理可以达到令人惊讶的性能水平。
BitNet b1.58-2B-4T是一个20亿参数的大型语言模型,采用三元量化权重(-1, 0, +1)。传统上,这类模型需要GPU才能获得可接受的推理速度,但Project Zero通过极致的CPU优化,成功打破了这一假设。
章节 04
Project Zero选择C语言作为实现基础,带来了几个关键优势:
章节 05
BitNet的核心是三元权重(每个权重仅为-1、0或+1)。Project Zero实现了16宽AVX-512打包内核,相比AVX2实现了2倍吞吐量提升。权重以每字节4个值的密度打包存储,大幅降低了内存带宽需求。
章节 06
引擎采用滑动窗口KV缓存,支持int8量化,可在合理内存占用下处理131K上下文长度。这对于长文档分析和对话应用至关重要。
章节 07
在Intel Xeon @ 2.10 GHz(Emerald Rapids架构,4核,260MB L3缓存)上:
| 配置 | 速度 | 备注 |
|---|---|---|
| 基线(AVX-512F浮点FMA) | 16.47 tok/s | 三元浮点路径 |
| + INT8 VNNI分类器 | 21.20 tok/s | 提升28.7% |
| + VBMI 3指令解包 | 32.65 tok/s | 三元层快2.7倍 |
| + INT4分类器 + PGO/LTO | 36.25 tok/s | 达到DRAM带宽上限的95% |
章节 08
| 引擎 | 平均速度 | 最佳速度 |
|---|---|---|
| Project Zero | 34.75 tok/s | 36.25 tok/s |
| bitnet.cpp | 19.33 tok/s | 19.83 tok/s |
| 优势 | 1.80倍 | 1.83倍 |
这意味着在相同硬件上,Project Zero的吞吐量几乎是官方bitnet.cpp的两倍。