Ternary Bonsai:1.58-bit 量化、8B 模型壓進 1.75GB、iPhone 跑 27 tok/s——PrismML 把邊緣推論的極限又往前推
來源:PrismML Blog
8B 的模型,1.75GB。不是 quantized 之後掉一半分數的那種——benchmark 平均 75.5,在同參數規模裡只輸 Qwen3 8B,其他全贏,但記憶體佔用是它們的九分之一。
這是 PrismML 發布的 Ternary Bonsai,繼 1-bit Bonsai 之後的下一步:把精度從 1-bit 提升到 1.58-bit,用多出來的一點點空間換來明顯更好的分數。
什麼是 Ternary(三值)量化
標準量化是把 32-bit 或 16-bit 浮點數壓縮到較低精度(INT8、INT4)。Ternary 更激進:每個權重只能是 1 三個值之一。
為什麼是 1.58-bit?因為 log₂(3) ≈ 1.58——三個狀態理論上需要 1.58 bit 才能完整表示。
技術細節:Ternary Bonsai 使用 group-wise quantization,每 128 個權重共享一個 FP16 scale factor。這個設計讓整個網路——embedding、attention、MLP、LM head——全部用 ternary 表示,沒有任何高精度的「逃生艙」。
數字
Benchmark 平均分比較(MMLU Redux、GSM8K、HumanEval+ 等)
記憶體佔用 GB 比較
幾個值得注意的數字:
- 75.5 平均分,比 1-bit Bonsai 8B(70.5)提高了 5 分
- 1.75GB vs 標準 16-bit 8B 的 16GB——9 倍差距
- M4 Pro:82 tok/s,比 16-bit 版本快 5 倍
- iPhone 17 Pro Max:27 tok/s,實際可用的速度
- 能耗:M4 Pro 0.105 mWh/tok,iPhone 0.132 mWh/tok——比 16-bit 省 3-4 倍
三個尺寸
| 模型 | 參數量 | 記憶體 |
|---|---|---|
| Ternary Bonsai 8B | 8B | 1.75 GB |
| Ternary Bonsai 4B | 4B | ~0.9 GB |
| Ternary Bonsai 1.7B | 1.7B | ~0.4 GB |
全部 Apache 2.0,可商用。格式支援 GGUF(llama.cpp)和 MLX(Apple Silicon)。
怎麼跑
macOS(最快路徑):
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
./setup.sh
./scripts/run_llama.sh -p "Your prompt"
setup.sh 會自動處理依賴、下載模型、取得 binary,不需要手動配置。
iOS:透過 Locally AI app(App Store)。
瀏覽器 demo:HuggingFace Space(WebGPU),不需要安裝任何東西就能試。
和 1-bit Bonsai 的差別
Ternary 是 1-bit 的升級版,多了一個零值狀態。
這個差別比聽起來重要:零值允許稀疏表示,模型可以「不啟動」某些連接,讓注意力機制更有選擇性。代價是記憶體從 1.15GB 增加到 1.75GB,但換來的是 5 分的 benchmark 提升——這個交換在大多數部署場景下是值得的。
值得說清楚的事
Ternary Bonsai 不適合所有場景。 在純雲端推論、對品質要求極高的任務,或者記憶體不是瓶頸的環境,選標準精度模型更合理。
它的目標場景很明確:邊緣設備上的本地推論——手機、筆電、不想送資料到雲端的私有部署。在這個場景裡,75.5 分加上 1.75GB、27 tok/s 在手機上能跑,是一個目前很難找到競爭對手的組合。
1-bit Bonsai 建立了這條技術路線,Ternary 版本證明在極限壓縮的框架內還有優化空間。下一步是 4-bit 還是繼續在 1-2 bit 範圍精煉,PrismML 沒說——但這個 repo 值得持續追蹤。