📌 项目地址:PrismML-Eng/Bonsai-demo | ⭐ 1,459 颗星 | 🔧 Shell | 📜 未标注
核心价值:极致量化带来的本地AI民主化
大型语言模型(LLM)能力的提升往往伴随着计算资源的海量需求——7B模型至少需要6GB显存,27B模型则需16GB以上。但Bonsai通过1-bit和Ternary(三值)量化,将27B模型压缩至约1.125 bits/weight(1-bit版)或约1.7 bits/weight(Ternary版),使其能直接运行在iPhone这类移动设备上,无需显存卸载。
这不仅是内存的胜利。Bonsai 27B还是该家族的首个视觉语言模型,支持发送图片、截图、PDF并进行问答,原生支持OpenAI风格的tool_calls函数调用和MCP服务器,同时具备256k+的上下文窗口和可调节的推理(reasoning)力度。也就是说,在本地硬件上跑一个能“看”能“推理”的多模态Agent,成为可能。
实际用法:两条命令启动
快速安装
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo
# (可选) 选择模型大小:27B(默认)、8B、4B或1.7B
export BONSAI_MODEL=27B
# 设置HuggingFace Token(仅27B需要,因其模型仓库当前为私有)
export BONSAI_TOKEN="hf_your_token_here"
# 一行命令完成:安装依赖,下载模型和二进制文件
./setup.sh
Windows用户使用PowerShell:
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo
$env:BONSAI_MODEL = "27B"
$env:BONSAI_TOKEN = "hf_your_token_here"
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.setup.ps1
启动聊天/视觉/工具服务器
./scripts/start_llama_server.sh
默认监听 http://localhost:8080,带聊天、视觉和工具调用界面。
切换模型家族与大小
Bonsai提供两类量化选择:ternary(默认,质量更高)和1-bit(更小)。示例运行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!"
Windows相应命令:
$env:BONSAI_FAMILY="ternary"; $env:BONSAI_MODEL="4B"
.setup.ps1
.scriptsrun_llama.ps1 -p "Hello!"
与同类工具的差异:并非又一个gguf量化
当前主流本地推理方案(llama.cpp搭配gguf)通常支持4-bit、8-bit量化,部分实验支持2-bit。Bonsai的1-bit和Ternary量化更加激进,将权重压缩到1-2比特级别,使得27B模型的内存占用仅约3.5GB(1-bit)或约5.7GB(Ternary)。而同样尺寸的常规4-bit量化模型则需要约13.5GB。
代价是精度损失:Bonsai论文显示1-bit模型在某些任务上性能会下降,但通过精细的训练和量化补偿,其在大多数对话、摘要、代码生成任务上仍保持可用水平。Ternary-Bonsai作为“高质量选项”,在推理、视觉理解方面表现更接近原始BF16模型,是该demo的默认选择。
此外,Bonsai内置了视觉编码器(支持PDF/图片)和工具调用框架,而纯gguf方案需要额外配合多模态模型(如LLaVA)和工具库(如OpenAI API适配层)才能实现类似功能。
注意事项
- 授权与隐私:README未明确许可证,但提及模型仓库当前为“private”(需要HuggingFace Token)。建议仅用于研究/演示目的,商业使用需查询PrismML官方政策。
- 硬件要求:虽然可在移动设备运行,但demo当前仅提供了macOS/Linux/Windows的安装脚本。iOS/Android本地部署需要自行移植,官方未提供现成应用。
- 性能瓶颈:1-bit模型推理速度可能低于同尺寸的4-bit模型,因为量化内核尚未完全优化。社区基准测试结果见
community-benchmarks/目录。 - 早期阶段:27B模型是“最新最大的代际”,视觉和工具调用功能更新(来自README的VISION.md和TOOLS.md),可能仍有Bug或不稳定。
适合谁用?
- AI硬件研究者:需要实际测试1-bit、Ternary量化对模型能力的真实影响。
- 嵌入式/移动开发者:希望验证在手机级硬件上运行多模态Agent的可行性。
- 离线LLM用户:在无网络环境下,需要本地运行一个足够聪明且能处理文档/图片的模型。
- Agent系统构建者:想要一个本地可部署、支持函数调用和MCP的模型底座,减少对云API的依赖。
如果上述任何一个场景符合你的需求,Bonsai的demo仓库值得花30分钟跑一遍。用./setup.sh开始,一切都在本地。