AI PLAY玩法更新持续收录
← 回到更新流

2026-09-17 · 原文发布日

本地跑Bonsai 2 27B三值压缩模型的具体步骤

Simon Willison给出在Mac上试跑Prism三值压缩模型Bonsai 2 27B的实操:它的GGUF必须用Prism自己的llama.cpp分支才能跑,先从GitHub releases下载macOS运行时解压,再从Hugging Face拉约5.95GB的GGUF文件,用llama-server指定端口、GPU层数和32K上下文启动,之后打开本地网页UI或把端点接进llm CLI工具发提示词。作者称在M5 Pro上大约每秒20个token、重启后一度到44,但启动时有Metal tensor API不支持的警告,可能哪里没配置对。

原文要点

Simon Willison在Hacker News评论中给出跑Prism三值压缩模型Bonsai 2 27B的具体方法:这些GGUF不能用普通llama.cpp,必须用Prism自己的llama.cpp分支。步骤是在/tmp下用curl从GitHub releases下载macOS arm64运行时压缩包(prism-b10685-7dffb15)并解压,再从Hugging Face的prism-ml/Ternary-Bonsai-2-27B-gguf仓库下载约5.95GB的PTQ1_0 GGUF文件,然后用llama-server以-m指定模型、--port 8331、-ngl 99、-fa on、-c 32768启动。之后可打开localhost:8331的内置网页UI,或用llm CLI通过openai endpoint接入http://127.0.0.1:8331/v1。他报告在M5 Pro上约每秒20个token,重启服务器后一度44个,原因不明;且启动时Metal提示tensor API不受支持,他怀疑有配置没生效。

这次做成什么

在一台Apple Silicon Mac上把Bonsai 2 27B的GGUF跑起来:装好Prism版运行时、拉取模型文件、以32K上下文启动本地服务器,并从网页UI和llm CLI两个入口各发一条测试提示词验证可用,同时学会识别启动警告的含义。

准备什么

  • 一台Apple Silicon芯片的Mac(arm64),可用磁盘空间至少约8GB
  • 终端环境及curl、tar命令(macOS自带)
  • 能访问GitHub releases和Hugging Face下载约5.95GB文件的网络
  • 可选:用uv运行llm CLI所需的Python环境(uvx会自动处理)

具体怎么做

  1. 下载并解压Prism专用运行时

    打开终端执行:cd /tmp,然后curl -fL下载https://github.com/PrismML-Eng/llama.cpp/releases/download/prism-b10685-7dffb15/llama-prism-b10685-7dffb15-bin-macos-arm64.tar.gz为bonsai-runtime.tar.gz,再tar -xzf解压。注意这是Prism的分支构建,不能用Homebrew装的普通llama.cpp替代。

  2. 下载约5.95GB的GGUF模型

    仍在/tmp执行curl -fL从https://huggingface.co/prism-ml/Ternary-Bonsai-2-27B-gguf/resolve/main/Ternary-Bonsai-2-27B-PTQ1_0.gguf下载到同名文件。文件较大,下载中断可重跑curl续传(加-C -参数)。下载完用ls -lh确认大小约5.9GB。

  3. 启动llama-server

    运行./llama-prism-b10685-7dffb15/llama-server -m Ternary-Bonsai-2-27B-PTQ1_0.gguf --port 8331 -ngl 99 -fa on -c 32768。-ngl 99表示尽量全部层放GPU,-fa on开启flash attention,-c 32768是32K上下文。留意启动日志中是否出现Metal相关警告。

  4. 网页UI验证

    浏览器打开http://localhost:8331,使用llama-server自带的聊天界面发一条短提示词,例如让它用三句话解释什么是三值量化。能流式输出即说明模型、GPU加载和端口都正常。

  5. 接入llm CLI发提示词

    另一终端执行uvx llm openai endpoint http://127.0.0.1:8331/v1 --model bonsai-2-27b --responses hi,把本地服务器当作OpenAI兼容端点使用。--model后的名字是本地自定义标签,可换成你喜欢的名称。

可直接复制的材料

完整启动命令序列(macOS终端)

命令按原文给出的真实下载地址整理;端口8331是作者的选择,可改;版本标签prism-b10685-7dffb15如有更新release可替换。

cd /tmp
curl -fL https://github.com/PrismML-Eng/llama.cpp/releases/download/prism-b10685-7dffb15/llama-prism-b10685-7dffb15-bin-macos-arm64.tar.gz -o bonsai-runtime.tar.gz
tar -xzf bonsai-runtime.tar.gz
curl -fL https://huggingface.co/prism-ml/Ternary-Bonsai-2-27B-gguf/resolve/main/Ternary-Bonsai-2-27B-PTQ1_0.gguf -o Ternary-Bonsai-2-27B-PTQ1_0.gguf
./llama-prism-b10685-7dffb15/llama-server \
  -m Ternary-Bonsai-2-27B-PTQ1_0.gguf \
  --port 8331 -ngl 99 -fa on -c 32768

llm CLI接入命令

需要先确保llama-server已启动;--model名称为本地标签,不影响服务器端加载的模型。

uvx llm openai endpoint http://127.0.0.1:8331/v1 \
  --model bonsai-2-27b --responses hi

输入与输出示例

本站虚构演示输出,未在本站机器上运行该模型;实际回答内容与速度以你的硬件为准。

输入

在网页UI对话框输入:「用三句话向会计背景的人解释三值(ternary)量化为什么能把27B模型压到约6GB。」

对应输出

模型流式输出大意:三值量化把权重限制为-1、0、1三种取值,每个权重只需约1.58比特而非16比特;配合专用 kernels 跳过很多乘法运算;因此27B参数的模型文件可压缩到约6GB并能在单台Mac上运行(输出为示意,实际措辞取决于模型与采样参数)。

做完检查这些

  • tar解压后/tmp下出现llama-prism-b10685-7dffb15目录,内含llama-server可执行文件
  • GGUF文件下载完成后大小约5.9GB,启动时不报文件损坏或格式不支持错误
  • 浏览器打开localhost:8331能看到聊天界面并对测试提示词产生流式回复
  • llm CLI命令能返回响应而不是连接拒绝(说明8331端口的/v1端点可用)
  • 启动日志中能看到GPU/Metal相关行,便于判断-ngl 99是否生效

容易卡住的地方

  • 必须用Prism的llama.cpp分支构建,用官方llama.cpp加载这类GGUF会失败或不被支持
  • 作者报告启动时出现『the tensor API is not supported in this environment - disabling』的Metal警告,他自己也怀疑配置有问题;遇到相同警告不要视为本站能保证消除
  • 作者称速度约每秒20个token、重启后一度44个,这是他在M5 Pro上的个人观察,不构成你机器上的性能承诺
  • -c 32768占用较多内存,内存较小的Mac可能需要降低上下文长度
  • GitHub与Hugging Face的下载地址和版本标签可能随时间变化,以原文所列页面为准

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Comment My comment on Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint — Hacker News If you want to try out out the GGUFs f
原作者
Simon Willison
原始发布日期
2026-09-17
来源
https://simonwillison.net/2026/Sep/17/hn-49747390/