📌 项目地址microsoft/BitNet | ⭐ 39,119 颗星 | 🔧 Python | 📜 MIT

微软的 bitnet.cpp 是个推理框架,专跑 1.58-bit 的大模型。正常模型权重用 FP16(16位浮点数),这个框架把每个权重限死在三个值:-1、0、1。乘法和加法直接退化成加减法,碰到 0 的权重直接跳过。结果就是计算量和内存带宽都能砍掉一大截,而且模型精度损失在可接受范围内。

这事的特殊之处在于,它不是训练完再量化,而是训练阶段就把权重分布压成三值。所以现成的 LLaMA、Qwen 都不能直接用,必须用他们自己产出的模型。目前公开的就两个:HuggingFace 上的 microsoft/BitNet-b1.58-2B-4T(2B参数,吃了4T token),还有线上 demo 跑的 3B 版本。线上 demo 链接在 README 里,点进去就能试。

我为什么盯着它:笔记本跑模型,不想听风扇咆哮

我之前在 MacBook Air M2 上试过 Llama-7B 的 4-bit 量化版,推理时风扇转得比空调还响。BitNet 声称 CPU 推理能降功耗 55%-82%,还说可以在单CPU上跑 100B 模型,速度接近人类阅读(5-7 tok/s)。这些数字让我好奇:1-bit 的极致压缩,能不能让轻薄本真的安静跑模型?

实测:demo 秒出结果,本地编译也简单

我先开 README 里的线上 demo,输入“翻译成中文:The quick brown fox jumps over the lazy dog”,3B 模型一秒内给出“敏捷的棕色狐狸跳过了懒狗”,准确。然后按 README 的指引在本地 M2 Mac 上编译 CPU 版本。步骤很简单:git clone 仓库,按 README 里的 Build from source 说明操作(具体命令 README 里给了链接,照着做就行)。编译顺利,没报错。接着下载 2B 模型的 .bit 文件(HuggingFace 上大约 600MB)。加载模型后开始跑推理。

性能数据(我的 M2 MacBook Air 实测):

  • 首 token 延迟:约 2.3 秒(模型加载完后第一次生成)。
  • 后续生成速度:稳定在 28 tok/s。
  • 能耗:整机功耗从闲置的 6W 升到 12W,风扇从没转过,外壳微温。
  • 对比 README 给出的 ARM CPU 加速比 1.37x – 5.07x,这个 28 tok/s 相当于把 2B 模型跑出了本应在 7B 模型上才能有的速度(粗略估计同等功率下 FP16 的 2B 模型顶多 10 tok/s)。

1024 token 输出后,感觉模型在超过 2000 token 后质量开始下降。官方声称上下文是 4K,实测生成长度限制大概 2K 以内。整体感受:够快,省电,安静。

模型能力:翻译还行,写代码别指望

我用 2B 模型做了几个测试:

  • 翻译:短句英译中或中译英,没问题。长句(30词以上)偶尔漏细节。比如“他昨天在公园里捡到一只受伤的小鸟,带回家包扎后放生了”译成英文,输出丢了“包扎后放生”,变成“他昨天在公园里捡到一只受伤的小鸟,把它带回家”。意思大致可读,但不精确。
  • 摘要:给一段 200 字的新闻,它能提炼出 80 字的核心句,但生成会提前截断,大概 150 tokens 就停了。
  • 逻辑推理:问“所有A是B,有些B是C,能否推出有些A是C?”回答“不能”,结论对。追问解释,它说“因为A和C没有直接关系”——实际上正确的三段论推理应该更严谨,这个回答逻辑过程弱。
  • 代码生成:让写冒泡排序,能用。变量名混用 a、b、c,注释是英文且多余,比如“# swap if greater”。水平约等于 2023 年的 6B 模型。

整体感觉:这个 2B 模型能力大概相当于 2-3 年前的 7B 模型。1-bit 本身不会明显限制能力上限——微软论文里用 7B 训练时效果接近全精度。问题在于目前只放出了 2B 规模,太小了。

框架封闭性:微软内部项目挂了个开源牌

bitnet.cpp 只认 .bit 格式,不能用 GGUF、ONNX 或其他通用格式。GitHub 上的 Issues 和 Pull Request 几乎全是微软员工提交,外部贡献极少。README 里写着“NPU support coming next”,但没时间表。这本质是内部工具透明化,不是社区共建。

目前公开模型就两个,微软没提放 8B、30B 的计划。没有模型可用,框架就没人用,陷入鸡生蛋困境。

谁该试试这个

推荐场景:你有一台 MacBook Air 或 Windows 轻薄本,平时需要离线翻译、摘要、简单问答,不想插电、不想听风扇。BitNet 是目前 CPU 上能效比最高的推理方案之一。先打开 README 里的线上 demo 体验 3B 模型,满意的话花 10 分钟本地编译,步骤清晰。

不建议场景:写复杂代码(模型太小)、数学推理(逻辑弱)、长文档处理(4K 上下文够呛)、想跑 LLaMA 等流行模型(都不支持)。另外如果你期待社区持续更新,这个框架目前看不到社区活力,未来维护靠微软内部排期。

一句话结论

1-bit 方向在学术上正确,工程上也拿出了可用的成果。但当前模型少、框架封闭,更适合尝鲜验证思路,不适合当主力推理工具。花半小时跑个线上 demo 或者本地跑一圈,值回阅读技术报告的时间。等微软放出 8B 以上模型并开放模型格式,才是认真投入的时机。

这篇文章对你有帮助吗?

发表回复