欢迎光临
我们一直在努力

Bonsai:把 27B 大模型塞进手机的极端量化方案,到底靠不靠谱?


Bonsai:把 27B 大模型塞进手机的极端量化方案,到底靠不靠谱?

来源:PrismML-Eng/Bonsai-demo(GitHub README)交叉验证信源:博客园 @ninghg《把 27B 模型压到 4GB 跑在手机上》、Microsoft Azure Labs《BitNet b1.58 2B4T》


核心观点

PrismML 发布的 Bonsai 系列,是一组以 Qwen3.6 27B 为基底、通过端到端(而非事后压缩)极端量化训练得到的语言模型。旗舰是 Bonsai-27B,分两个量化档:

  • 1-bit Bonsai:有效比特数 ~1.125 bpw,模型文件 3.9 GB,目标跑上 iPhone 17 Pro(6 GB 内存预算)
  • Ternary-Bonsai:有效比特数 ~1.71 bpw,打包为 2-bit 加速核,模型文件 5.9 GB,官方默认推荐,质量更高

两个家族均支持视觉、工具调用(OpenAI 风格 tool_calls + MCP)、长上下文(256K+)和推理思考(reasoning effort 可调)。


关键机制:量化不是压缩,而是训练方式

理解 Bonsai 最关键的一个点:它不是把已有的 FP16/BF16 大模型事后量化,而是从训练阶段就把权重约束为极端低比特({-1, +1} 或 {-1, 0, +1}),再配合 FP16 的 group-wise scaling factor 做补偿。

这和传统 GPTQ/AWQ/4-bit PTQ 的逻辑根本不同:后者在一个已经训练好的全精度模型上做近似,损失是累积叠加的;而 BitNet/Bonsai 路线让模型在训练时就学会用极端低比特表达信息,理论上损失更小、泛化更自然。这也是 Microsoft BitNet b1.58(W1.58A8,同为三值权重 + 训练时设计)最核心的贡献——它们共享同一个范式,都在挑战"表达能力必须依赖高比特宽度"这个长期默认假设。

Ternary 的理论存储下限是 5 trits/8 bits ≈ 1.6 bits/trit,Bonsai Ternary 实际达到了 1.71 bpw,已经非常接近理论极限——这意味着后续在当前架构下靠 packing 继续压缩的空间几乎没有了,下一步必须动架构(MoE、稀疏、不同数值格式)。


性能数据

指标1-bit Bonsai-27BTernary-Bonsai-27B
有效比特 1.125 bpw 1.71 bpw
模型大小 3.9 GB 5.9 GB
vs baseline 能力保留 ~90% ~95%
RTX 5090 吞吐 163 tok/s 134 tok/s
M5 Max 吞吐 87 tok/s 58 tok/s
智能密度(per GB) 0.53(baseline 的 10×)
Context 长度 256K+ 256K+

Math/Coding 损失极小;Tool Calling 损失"几个点"(官方说法)——恰好是 Agentic 场景最依赖的能力,这个损失值得警惕。


快速上手(代码示例)

# 克隆仓库
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo

# 设置 HuggingFace token(27B 私有期需要)
export BONSAI_TOKEN="hf_your_token_here"

# 一键安装依赖 + 下载模型(默认 Ternary-Bonsai-27B)
./setup.sh

# 启动本地服务器,支持聊天/视觉/工具调用
./scripts/start_llama_server.sh
# 访问 http://localhost:8080

切换模型家族和尺寸:

# 下载并运行 Ternary-Bonsai 4B(更小,适合低内存机器)
BONSAI_FAMILY=ternary BONSAI_MODEL=4B ./scripts/download_models.sh
BONSAI_FAMILY=ternary BONSAI_MODEL=4B ./scripts/run_llama.sh -p "Hello!"

# 用 mainline llama.cpp 跑(CPU/Metal,无需 fork)
hf download prism-ml/Ternary-Bonsai-4B-gguf Ternary-Bonsai-4B-Q2_0_g64.gguf –local-dir models

模型尺寸矩阵

系列1.7B4B8B27B(含视觉)
1-bit Bonsai ✅ GGUF/MLX
Ternary-Bonsai ✅ GGUF/MLX(2bit) ✅(默认)

后端支持现状(2025年7月)

1-bit(Q1_0)已完整合并进 llama.cpp 主线,所有后端可用。Ternary(Q2_0/Q2_0_g64)仍处于分批合并中,当前状态:

后端状态
CPU(ARM NEON + generic) ✅ 已合并主线
Metal ✅ 已合并主线
Vulkan 🔄 PR 审核中
CUDA 🔄 PR 审核中
x86 AVX-512-VNNI ⏳ 待开发

实际结论:Mac 用户用 mainline llama.cpp + *-Q2_0_g64.gguf 无需 fork;CUDA 用户目前需要用 PrismML 的 fork 预编译二进制,不能开箱即用 Ollama/LM Studio。


交叉验证

信源一:博客园 @ninghg《把 27B 模型压到 4GB 跑在手机上》

总体认同官方核心主张,并补充了独立实测数据和批判性发现:

  • 实测吞吐数字(RTX 5090 163 tok/s、M5 Max 87 tok/s)与官方数字吻合
  • 指出了 LM Studio / Ollama 当前均无法直接运行,需要自编译 PrismML fork——这是官方 README 没有明确强调的
  • 引用了 HN 用户 verdverm 的第三方评测(wikitext 困惑度 16.75 vs 官方数字),与官方数字存在显著 gap,作者认为可能是 eval bug,但无法完全排除模型实际质量的问题
  • 明确指出"Tool Calling 损失几个点"这一点对 Agentic 场景是实质性风险,不是可以忽略的尾注
  • 独立结论:端侧隐私敏感场景有真实价值,但"一行命令快速部署"的叙事当前不成立

信源二:Microsoft Azure Labs《BitNet b1.58 2B4T》

提供了技术路线的背景参照系,部分佐证了 Bonsai 的底层逻辑,但并不直接评价 Bonsai:

  • BitNet b1.58(同为三值权重、训练时极端量化)在 ARM CPU 上实现 1.37x–5.07x 加速,能耗降低 55–82%,证明这条路线在 2B 规模确实成立
  • 然而 BitNet 目前公开验证的最大规模是 2B(4 万亿 token),Bonsai 直接做到 27B 是一个规模上的大跳,Microsoft 自己在这个参数量上尚未有对应成果
  • BitNet 的核心贡献也强调"训练时设计而非事后压缩",与 Bonsai 技术路线一致,说明这不是 PrismML 孤立的论断,而是一个有独立研究支撑的方向

综合判断:官方的核心技术方向(端到端极端量化 > 事后压缩)被 BitNet 路线的学术工作所支持,是可信的;但 27B 规模下质量保留的具体数字尚未经过充分的第三方独立复现,存疑。


个人启发:该怎么用,不该怎么用

现在就可以做的:

  • 隐私敏感的本地 Agent(医疗问答助手、法律合同审阅、内部知识库 QA):Apache 2.0 开源、本地运行、27B 级推理能力,这是目前最小内存需求和最强能力的组合,有真实的采用价值
  • Apple Silicon 开发者:Mac 上 CPU/Metal 已进主线,用 Ternary-Bonsai-4B-Q2_0_g64.gguf 配合 mainline llama.cpp 现在就能稳定跑,是代码补全/文档摘要的可用选项
  • 希望在端侧跑视觉理解的场景(截图分析、文档 OCR 辅助):值得试用,但要自己验证多模态精度,官方未披露详细的视觉 benchmark

现在还不适合做的:

  • 生产环境 CUDA 服务:Ternary 的 CUDA kernel 还在 PR 审核中,需要依赖 PrismML 私有 fork 的预编译二进制,引入了不可控的依赖风险
  • 高频 Agentic Tool Calling 流水线:Tool Calling 能力有明确损失,在多轮 Agent 循环中的可靠性未经验证
  • 替代 Claude / GPT-4o 做前沿任务:27B 无论量化与否,当前能力天花板仍远低于顶级闭源模型,这不是量化可以弥补的差距

延伸思考

  • "端到端训练量化"路线的扩展极限在哪里? BitNet 和 Bonsai 都证明了 2B–27B 可以做,但从 27B 到 100B+,三值权重能否保持 90%+ 的能力保留率?训练成本和数据需求会不会成为决定性瓶颈,让这条路线只能在小公司手里停在 30B 以下?

  • 极端量化会不会改变"参数量"的意义? 当 1-bit 27B 体积和速度都接近甚至优于 4-bit 7B,"X B 模型"的直觉对比就失效了。业界评测体系(MMLU、HumanEval 等)是否需要专门针对极端量化模型重新设计,以更准确反映其真实可用性?

  • iPhone 上的 27B LLM 是否真的改变了移动端 AI 的格局? 官方说 1-bit-27B 能跑上 iPhone 17 Pro,但 90% 能力保留 + 手机 SoC 推理速度(远低于 M5 Max 的 87 tok/s)的实际用户体验,能否超越当前苹果 Intelligence 或 Gemini Nano 的路线?还是说这只是一个工程可行性演示,并不代表实际产品体验的跃升?


  • 📚 参考来源

  • GitHub – PrismML-Eng/Bonsai-demo: Bonsai Demo · GitHub
  • 赞(0)
    未经允许不得转载:171主机测评 » Bonsai:把 27B 大模型塞进手机的极端量化方案,到底靠不靠谱?
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址