PrismML Ternary Bonsai 2 模型家族與 9B GGUF 完整解析:把 Qwen3.5 壓縮逾 9 倍的端側視覺語言代理模型
在個人電腦、智慧型手機與穿戴式裝置上運行本地 AI 代理(On-Device AI Agents),模型必須在有限的記憶體與電力預算內做出準確決策。出自加州理工學院(Caltech)研究團隊、獲 Khosla Ventures、Cerberus、Google 與 Samsung 支持的 AI 公司 PrismML,於 2026 年 10 月 15 日正式發布 Ternary Bonsai 2 模型家族,推出基於 Qwen3.5 的 2B、4B 與 9B 三款三元權重(Ternary Weights)視覺語言模型,與既有的 Bonsai 2 27B 共同組成橫跨四種規模的產品線。
透過將權重編碼為 {-1, 0, +1} 三種數值,Ternary Bonsai 2 系列將 2B、4B 與 9B 模型的最小部署體積分別縮減至 0.43 GB、0.95 GB 與 2.00 GB,較全精度(FP16)版本縮小逾 9 倍。其中針對 llama.cpp 生態系釋出的 prism-ml/Ternary-Bonsai-2-9B-gguf,將原本約 17.9 GB 的 Qwen3.5-9B 語言模型壓縮至 2.00 GB(PTQ1_0 封裝)至 2.42 GB(預設 PQ2_0 封裝),完整保留 262K(262,144)Tokens 上下文視窗、視覺理解與工具呼叫能力,並以 Apache 2.0 授權開源。
Ternary Bonsai 2 家族定位與開發重點
根據 PrismML 官方發布文,研發團隊在今年 9 月的 Snapdragon 高峰會上,曾展示在搭載 Snapdragon AR1 Gen 1 平台的 AI 智慧眼鏡上本地運行第一代 1-bit Bonsai 視覺語言模型。此次推出的新一代 Ternary Bonsai 2 2B、4B 與 9B 模型則建構於第一代 Bonsai(1.7B、4B 與 8B)的基礎上,進一步強化推理、視覺理解與工具驅動工作流(Tool-Driven Workflows)。
為了讓小型模型在記憶體與算力受限的手機與邊緣裝置上具備實用價值,Ternary Bonsai 2 系列特別針對四項核心行為進行最佳化:
- 避免重複迴圈(Avoiding Repetitive Loops):減少小尺寸模型在生成過程中陷入重複語句的現象。
- 強化指令遵循(Following Instructions):確保模型能準確理解並完成日常任務。
- 行動端工具呼叫(Calling Tools on Mobile Devices):支援在行動裝置上解析使用者需求並呼叫應用程式工具以執行短序列動作(例如從文件中擷取資訊並傳遞給應用程式)。
- 控制輸出冗長程度(Controlling Verbosity):提供精簡實用的回答,減少非必要的長篇輸出。在本地助理場景的標準指令遵循與日常數學任務中,Bonsai 2 9B 消耗的 Tokens 數量較基準模型減少約 40%。
Ternary-Bonsai-2-9B-gguf 架構規格與檔案封裝解析
根據 prism-ml/Ternary-Bonsai-2-9B-gguf 官方模型卡,該模型衍生自 Qwen3.5-9B,底層架構維持不變,核心規格如下:
| 規格項目 | 詳細規格說明 |
|---|---|
| 基礎模型(Base Model) | 衍生自 Qwen3.5-9B(架構維持不變) |
| 參數規模(Parameters) | 約 8.95B 語言模型(32 個區塊、Hidden Size 4096、獨立詞嵌入與 LM Head)+ 約 0.46B 視覺編碼器(27 個區塊) |
| 網路架構(Architecture) | 3:1 混合注意力機制(24 層線性注意力 Linear-Attention + 8 層全注意力 Full-Attention)、SwiGLU MLP、RoPE、RMSNorm |
| 上下文長度(Context Length) | 262,144 Tokens(262K,繼承自基礎模型) |
| 權重格式(Weight Format) | 涵蓋詞嵌入、注意力投影、MLP 投影與 LM Head 的三元權重 {-1, 0, +1},搭配分組 FP16 縮放因子(Group-wise FP16 Scale),封裝為 PTQ1_0、PQ2_0 或 Q2_0 |
| 權重基底(Weight Basis) | 將區塊化阿達瑪旋轉(Blockwise Hadamard Rotation)預先摺疊至儲存權重中,執行期再對激活值(Activations)套用對應轉換 |
| 高精度張量(Higher-Precision Tensors) | 正規化層權重(Normalization Weights)與線性注意力狀態路徑(ssm_alpha、ssm_beta)維持 F32 精度 |
| 視覺模組(Vision Tower) | 選配的獨立 mmproj 封裝檔,提供 Q8_0(0.62 GB,推薦使用)與 BF16(0.92 GB,參考精度),僅在輸入圖片時載入 |
| 支援後端與授權 | 透過 PrismML 分支版 llama.cpp 支援 CUDA、Metal 與 CPU,採用 Apache 2.0 授權 |
七個 GGUF 倉庫檔案與三種封裝格式差異
在 prism-ml/Ternary-Bonsai-2-9B-gguf 中,三款主語言模型封裝檔皆儲存相同的三元權重,並由自訂算子直接讀取運算,推論過程不會將權重還原回 FP16,僅在儲存佈局與算子解包速度上有所差異(有效位元率是以檔案大小除以約 8.95B 語言模型參數計算,因此包含 F32 張量與 Metadata):
| 檔案名稱 | 檔案內容 | 檔案大小 | 語言模型有效位元率 | 官方模型卡選用建議 |
|---|---|---|---|---|
Ternary-Bonsai-2-9B-PTQ1_0.gguf | 語言模型(緊密三元打包 Dense Trits) | 2.00 GB | 約 1.78 bits/weight | 體積最小的檔案,適合在記憶體最吃緊的環境中使用。 |
Ternary-Bonsai-2-9B-PQ2_0.gguf | 語言模型(2-bit 插槽佈局) | 2.42 GB | 約 2.16 bits/weight | 官方預設推薦格式。解包成本較低,且為 Apple Silicon 實測所採用的封裝。 |
Ternary-Bonsai-2-9B-Q2_0.gguf | 語言模型(Q2_0 替代佈局) | 2.56 GB | 約 2.28 bits/weight | 替代儲存佈局,也是唯一可由近期上游原版 llama.cpp(master 分支)直接執行的格式。 |
Ternary-Bonsai-2-9B-mmproj-Q8_0.gguf | 視覺編碼器(Q8_0 量化) | 0.62 GB | 獨立視覺模組 | 多模態推論推薦首選。畫質與 BF16 幾乎相同,且不會在多圖片請求併發時發生崩潰。 |
Ternary-Bonsai-2-9B-mmproj-BF16.gguf | 視覺編碼器(BF16 參考精度) | 0.92 GB | 獨立視覺模組 | 參考精度版本(目前分支在 llama-server 同時執行多個圖片請求時可能會崩潰)。 |
Ternary-Bonsai-2-9B-PQ2_0-MTP-Q8_0.gguf | 內建 MTP 草稿頭的 PQ2_0 模型 | 2.68 GB | 含額外 1 層草稿層 | 投機解碼推薦首選。將 PQ2_0 主模型與一層額外草稿層整合,直接單獨載入以取代一般版 PQ2_0。 |
Ternary-Bonsai-2-9B-DFlash2-Q8_0.gguf | DFlash2 區塊草稿模型(選配) | 1.57 GB | 獨立外掛草稿模型 | 搭配 PQ2_0 主模型一起載入,適合程式碼修改與文本重寫等大量複製類型的任務。 |
六大領域、19 項基準測試完整數據
根據 PrismML 官方發布文,官方在橫跨代理與工具呼叫、數學、指令遵循、程式設計、知識與推理以及視覺理解等 6 大技能領域的 19 項基準測試中,評估了 Bonsai 2 2B、4B 與 9B 相較於對應全精度 Qwen3.5 模型的性能保留率(Retention):
| 評估類別 | 基準測試項目 | Bonsai 2 2B / Qwen3.5 2B(保留率) | Bonsai 2 4B / Qwen3.5 4B(保留率) | Bonsai 2 9B / Qwen3.5 9B(保留率) |
|---|---|---|---|---|
| Agentic & Tool Calling | BFCLv3 | 60.53 / 62.06(97.5%) | 70.16 / 71.52(98.1%) | 71.81 / 73.81(97.3%) |
| Agentic & Tool Calling | BFCLv4 Mobile | 61.85 / 66.13(93.5%) | 76.49 / 78.42(97.5%) | 78.02 / 82.02(95.1%) |
| Agentic & Tool Calling | Tau2Bench | N/A | 61.87 / 81.65(75.8%) | 73.02 / 85.25(85.7%) |
| Agentic & Tool Calling | 類別整體保留率 | 95.5% | 90.0% | 92.4% |
| Math | MATH500 | 82.40 / 85.40(96.5%) | 97.60 / 99.00(98.6%) | 98.60 / 99.00(99.6%) |
| Math | GSM8K | 80.74 / 65.96(122.4%) | 94.54 / 94.54(100.0%) | 95.07 / 95.45(99.6%) |
| Math | AIME26 | N/A | N/A | 82.50 / 86.67(95.2%) |
| Math | 類別整體保留率 | 107.8% | 99.3% | 98.2% |
| Instruction Following | IFBench | 48.00 / 34.33(139.8%) | 56.33 / 50.33(111.9%) | 57.00 / 57.33(99.4%) |
| Instruction Following | IFEval | 85.77 / 75.79(113.2%) | 88.91 / 86.69(102.6%) | 90.02 / 89.65(100.4%) |
| Instruction Following | 類別整體保留率 | 121.5% | 106.0% | 100.0% |
| Coding | HumanEval+ | 50.00 / 45.12(110.8%) | 85.37 / 83.54(102.2%) | 89.02 / 87.80(101.4%) |
| Coding | MBPP+ | 52.65 / 44.18(119.2%) | 69.31 / 70.11(98.9%) | 71.96 / 73.02(98.5%) |
| Coding | 類別整體保留率 | 115.0% | 100.7% | 100.1% |
| Knowledge & Reasoning | MMLU-Redux | 67.60 / 79.39(85.1%) | 81.98 / 88.63(92.5%) | 86.95 / 91.11(95.4%) |
| Knowledge & Reasoning | GPQADiamond | 39.60 / 58.48(67.7%) | 63.84 / 78.08(81.8%) | 69.90 / 82.53(84.7%) |
| Knowledge & Reasoning | MuSR | 59.13 / 62.83(94.1%) | 62.57 / 62.43(100.2%) | 66.53 / 66.67(99.8%) |
| Knowledge & Reasoning | 類別整體保留率 | 82.9% | 90.9% | 93.0% |
| Vision | A_OKVQA | 78.60 / 81.05(97.0%) | 82.53 / 85.94(96.0%) | 84.02 / 88.38(95.1%) |
| Vision | Charxiv | 69.86 / 72.06(96.9%) | 72.46 / 78.06(92.8%) | 76.20 / 80.10(95.1%) |
| Vision | OCR Bench v2 | 44.20 / 52.60(84.0%) | 50.60 / 53.68(94.3%) | 55.04 / 58.31(94.4%) |
| Vision | MMMU Pro | 50.23 / 59.25(84.8%) | 64.86 / 68.09(95.3%) | 68.73 / 72.43(94.9%) |
| Vision | Omni_doc | 55.64 / 71.78(77.5%) | 71.22 / 86.51(82.3%) | 73.80 / 88.73(83.2%) |
| Vision | Real World QA | 63.90 / 70.70(90.4%) | 69.80 / 78.30(89.1%) | 75.20 / 80.00(94.0%) |
| Vision | 類別整體保留率 | 89.0% | 91.3% | 92.5% |
推論吞吐量、能源效率與實際展示案例
根據 PrismML 官方發布文公布的硬體測試數據,在 RTX 4090 與 M5 Pro 等硬體平台上,Bonsai 2 模型相較於對應的全精度模型,最高可提供 5 倍的生成吞吐量與 3 倍的能源效率:
- Apple M5 Max Pro:Bonsai 2 9B 生成速度最高可達 179 toks/s,Bonsai 2 2B 則可達 310 toks/s。
- Apple iPhone 18 Pro Max:在行動裝置端部署時,Bonsai 2 9B 最高可提供 34 toks/s 的生成速度,Bonsai 2 2B 則可達 120 toks/s。
官方同時於 發布頁面展示了兩項實機運作成果:第一項是在 M5 MacBook Pro 上以 Bonsai 2 9B 驅動 HybridAI 進行敏感資料遮罩(Sensitive Data Redaction),第二項則是在 iPhone 18 Pro Max 上運行由 Bonsai 2 9B 驅動的多模態代理(Multimodal Agentic)應用情境。此外,開發者可在 Darkbloom 控制台(console.darkbloom.dev)線上試用 Bonsai 2 9B,前 100 名使用者可獲得 2.5 億免費 Tokens。
本地部署與最佳實踐指南
根據 prism-ml/Ternary-Bonsai-2-9B-gguf 官方模型卡,三元算子位於 PrismML 維護的 PrismML-Eng/llama.cpp 分支(prism branch)中,可支援倉庫內所有檔案(含 MTP 與 DFlash2)。上游原版 llama.cpp(近期已包含 Hadamard 激活轉換執行期的 master 分支)僅能執行 Q2_0 格式,並會將 PQ2_0 與 PTQ1_0 視為未知型別而拒絕載入。
1. 編譯與啟動純文字、多模態及 OpenAI 相容伺服器
下載預編譯執行檔或從 PrismML-Eng/llama.cpp 原始碼編譯後,可執行以下指令:
# 方式 A:解壓縮對應平台的預編譯執行檔
tar -xzf llama-<tag>-bin-<platform>.tar.gz -C bin --strip-components=1
# 方式 B:從原始碼編譯(macOS 預設啟用 Metal,可移除 -DGGML_CUDA=ON)
cd llama.cpp
cmake -B build -DGGML_CUDA=ON && cmake --build build -j
# 1. 純文字推論
./bin/llama-cli -m Ternary-Bonsai-2-9B-PQ2_0.gguf -ngl 99 -fa on \
-p "Explain in three sentences why the sky is blue."
# 2. 圖片加文字多模態推論(若圖片包含細小或密集文字,可加上 --image-min-tokens 1024 提高圖片 Token 預算)
./bin/llama-mtmd-cli -m Ternary-Bonsai-2-9B-PQ2_0.gguf \
--mmproj Ternary-Bonsai-2-9B-mmproj-Q8_0.gguf -ngl 99 \
--image photo.jpg -p "Describe this image."
# 3. 啟動 OpenAI 相容本地伺服器
./bin/llama-server -m Ternary-Bonsai-2-9B-PQ2_0.gguf \
--mmproj Ternary-Bonsai-2-9B-mmproj-Q8_0.gguf -ngl 99 -fa on -c 32768 --port 8080
2. 官方推薦取樣參數(Thinking Mode vs. Non-Thinking Mode)
根據 prism-ml/Ternary-Bonsai-2-9B-gguf 官方模型卡,官方針對所有封裝格式與 MLX(Apple Silicon 可透過 mlx-vlm 0.7.8 以上版本載入 Ternary-Bonsai-2-9B-mlx-2bit)建議使用以下取樣參數,並將懲罰視窗設為最後 64 個 Tokens:
- 思考模式(Thinking Mode,預設):
temperature=1.0、top_p=0.95、top_k=20、min_p=0.0、presence_penalty=1.0、repetition_penalty=1.0。開啟思考模式時請避免使用貪婪解碼(temperature=0),以免在某些提示詞上卡在推理迴圈中。此外,簡單提示詞也可能消耗 3,000 個以上的思考 Tokens,建議保留至少 8,192 個輸出 Tokens 空間。 - 非思考模式(Non-Thinking Mode):
temperature=0.7、top_p=0.80、top_k=20、min_p=0.0、presence_penalty=1.5、repetition_penalty=1.0。若只需簡短回答,可關閉思考模式並在每次 API 請求中傳入"chat_template_kwargs": {"enable_thinking": false}。
# 開啟思考模式啟動伺服器(presence_penalty 無 GGUF metadata 欄位,需透過指令列或單次請求傳入)
./bin/llama-server -m Ternary-Bonsai-2-9B-PQ2_0.gguf -ngl 99 -fa on \
--temp 1.0 --top-p 0.95 --top-k 20 --min-p 0 --presence-penalty 1.0 --repeat-penalty 1.0 --repeat-last-n 64
# 關閉思考模式啟動伺服器(搭配每次請求傳入 "chat_template_kwargs": {"enable_thinking": false})
./bin/llama-server -m Ternary-Bonsai-2-9B-PQ2_0.gguf -ngl 99 -fa on \
--temp 0.7 --top-p 0.8 --top-k 20 --min-p 0 --presence-penalty 1.5 --repeat-penalty 1.0 --repeat-last-n 64
3. 投機解碼(Speculative Decoding)設定
prism-ml/Ternary-Bonsai-2-9B-gguf 提供兩款選配草稿機制(皆需使用 PrismML 分支版 llama.cpp):
- MTP(官方推薦):直接載入內建多 Token 預測頭的
Ternary-Bonsai-2-9B-PQ2_0-MTP-Q8_0.gguf,草稿深度設為 2 效果最佳。若在 CUDA 上搭配 MTP 使用 8-bit 量化 KV Cache(--cache-type-k q8_0 --cache-type-v q8_0),需使用prism-b10776-d00e252之後的版本(較舊 CUDA 版本請維持預設f16KV Cache 或僅量化 K,Metal 則不受影響)。 - DFlash2(選配區塊草稿模型):搭配
Ternary-Bonsai-2-9B-PQ2_0.gguf主模型外掛Ternary-Bonsai-2-9B-DFlash2-Q8_0.gguf,對程式碼編輯與文本改寫等大量複製的任務有幫助,但在一般對話上比普通解碼慢,日常使用建議優先選擇 MTP。
# 推薦方案:使用內建 MTP 草稿頭的模型檔
./bin/llama-server -m Ternary-Bonsai-2-9B-PQ2_0-MTP-Q8_0.gguf -ngl 99 -fa on \
--spec-type draft-mtp --spec-draft-n-max 2 --spec-draft-n-min 0 --spec-draft-p-min 0
# 選配方案:主模型搭配 DFlash2 區塊草稿模型
./bin/llama-server -m Ternary-Bonsai-2-9B-PQ2_0.gguf -md Ternary-Bonsai-2-9B-DFlash2-Q8_0.gguf \
-ngl 99 -ngld 99 --spec-type draft-dflash
相關連結
- PrismML 官方技術發布頁:https://prismml.com/news/bonsai-2-family
- Ternary-Bonsai-2-9B-gguf Hugging Face 模型倉庫:https://huggingface.co/prism-ml/Ternary-Bonsai-2-9B-gguf