正在把AI對話功能塞進App裡,讓病患不用等真人客服也能先問到基本問題,但診間地下室網路訊號常常忽有忽無
這篇文章介紹的 Cactus Hybrid,是一套讓「端側模型直接裝在手機、筆電等你自己的裝置裡執行的AI模型,不用連網路就能回答問題」變聰明的方法——重點不是讓它變得更會答題,而是讓它學會「知道自己可能答錯」。開發團隊在訓練完模型之後,額外加裝了幾個小小的判斷器,也就是「探針額外訓練、嵌進模型權重檔裡的小型判斷器,專門負責評估目前這個答案有多可信」,讓模型在回答的同時,也吐出一個0到1之間的「信心分數模型對自己這次回答有多少把握的量化分數,0代表完全沒把握,1代表非常確定」。
這個信心分數不是模型自己嘴巴說的(那種常常是硬掰的),而是以結構化資料的形式直接回傳,程式可以直接拿數字來做判斷,不用再去猜模型講的話是真心話還是幻覺。運作邏輯很簡單:如果信心分數低於某個門檻(文章示範用0.85),系統就自動把這一題「轉手把問題轉交給另一個更強的模型來處理,原文用handoff或routing表達,也就是路由/轉交」給雲端上更強的大模型(Gemini 3.1 Flash-Lite)來答;如果信心分數夠高,就讓端側的小模型(示範用的是Gemma 4 E2B這顆超輕量模型)自己回答就好,完全不用連網。
這套機制還搭配了一個叫「量化把模型內部數字的精細程度壓縮,例如從16位元壓到4位元甚至3位元,讓模型檔案變小、跑得更快,但也可能讓答案的準確度打折扣」的技巧一起用——開發者可以依照手機的記憶體和算力,選擇壓縮程度不同的模型版本。文章用「基準測試用一組標準化的題庫來測試AI模型表現好壞的方法,方便不同模型之間互相比較,例如ChartQA、MMLU-Pro」數據證明,即使模型被壓縮到3-bit這麼小,只要肯多轉交一些題目給雲端(大約四到六成),整體表現依然能追上完全用雲端大模型的水準。
| 測驗項目 | FP16(原始精度) | 4-bit量化 | 3-bit量化 |
|---|---|---|---|
| ChartQA(圖表理解) | 15–20% | 25–30% | 40–50% |
| MMBench(多模態能力) | 30–35% | 40–45% | 50–55% |
| LibriSpeech(語音辨識) | 25–30% | 35–40% | 55–65% |
| MMLU-Pro(綜合知識推理) | 45–55% | 約90% | 不適用 |
這段程式碼是文章附的官方範例,示範怎麼用cactus-compute套件載入Gemma 4 E2B模型、發問,並且直接讀出這次回答的信心分數——重點不在模型多厲害,而在最後一行『confidence』是怎麼被取出來的。
import jsonfrom cactus.bindings.cactus import cactus_complete, cactus_initfrom cactus.cli.download import download_bundlelm = cactus_init(str(download_bundle("Cactus-Compute/gemma-4-E2B-it")))result = cactus_complete( lm, [{"role": "user", "content": "What is the capital of France?"}], json.dumps({"max_tokens": 512, "auto_handoff": False}), None, lambda *_: None,)print(result["response"].strip())print("confidence:", result["confidence"])