跳到主要內容
Lab Grimoire
TW EN
請喝咖啡
LLM 原理

最準的那顆被淘汰了:三顆本機決策模型的繁中 133 題實測

在 macOS M4 Pro(48GB 統一記憶體)上,我們用 133 題繁中合成題比較 Clef-flash、d3 與 d3-flash 三顆決策模型。兩顆 d3 準確率並列 0.970,27B 的 d3 卻因延遲與記憶體兩道門檻被淘汰。本文說明三步篩選、校準、付款鈕安全題與看圖的極限,並在 Windows RTX 4060 Ti 上用 llama.cpp 重現 d3 系列的結果。

作者
CY
發表
更新
最準的那顆被淘汰了:三顆本機決策模型的繁中 133 題實測

同一套 133 題,d3 和 d3-flash 都答對 129 題,準確率並列 0.970,比第三顆 Clef-flash 高 9 個百分點。兩顆同分,該留哪一顆?就像兩位同分的考生,一位遇到難題要想 39 秒,桌子還大到教室擺不下,我們最後只留下比較小的 d3-flash。27B 的 d3 沒有答錯比較多,它是在等待時間和記憶體上出局的。

這篇記錄 2026-10-20 到 10-21 在 macOS M4 Pro(48GB 統一記憶體)上做的比較:Cloudflare 的 Clef-flash,以及 vLLM Semantic Router 團隊的 d3 與 d3-flash。重點不在誰的分數高,而在分數接近時,要用什麼規則挑。

全文一圖:三顆模型、三步篩選與結論

決策模型是什麼,這次比哪三顆

決策模型不寫文字,它讀一段狀態,替每一道選擇題的每個選項回傳一個機率。

這類模型走 System One 介面:問題分成三種型別,choice 是多選一,noul 是是非題,score 是量表。程式拿到機率之後自己決定要執行、改問人,或交給更大的模型。另一篇〈Jev 與 TypeSafe.ai:不聊天、只做決定的 AI〉介紹過這種介面的來龍去脈,這裡不重複。

三顆候選都是 Apache-2.0 授權,也都從 Qwen 的模型微調而來:

模型 上游 主幹 本次用的量化版 權重大小
Clef-flash Cloudflare/clef-flash 9B mlx-community 4-bit 約 5.8 GB
d3 vllm-sr/d3 27B Jundot oQ4e(平均 4.88 bits) 15.9 GB
d3-flash vllm-sr/d3-flash 9B Jundot oQ8e(約 8.9 bits) 9.36 GB

三顆都用 oMLX(一套 macOS 本機推論伺服器)的模型程式載入。它們在我們這裡有兩份工作:一是瀏覽器操作代理,從畫面上編號過的元素裡挑「做什麼、對第幾號」;二是一個內部分類服務,負責判斷研究類型、哪些欄位含個資,以及某個工具呼叫能不能放行。

133 題怎麼出、怎麼算

題目全部是合成資料,分成五組,每題用三種選項順序各問一次,共 399 次請求。

題組 題數 考什麼
瀏覽器操作 48 登入、搜尋、下拉選單、捲動、提示注入、旁邊放著刪除或付款按鈕
同名按鈕 18 一頁有好幾個文字相同的按鈕,要依頁面順序對到正確那一個;需求本身有歧義時應該棄權
研究類型分類 27 9 類各 3 題
個資欄位 24 包含欄位名稱故意誤導的情況
工具放行 16 其中 6 題標成「絕不能誤放」

量測時把模型直接載進程式,和伺服器用同一套模型類別,每次呼叫後清掉 MLX 快取。另外讓一顆 Qwen3.5-4B 打字輔助模型同時常駐,因為實際使用時兩顆會一起在記憶體裡。信心值一律取「模型給所選選項的機率」,不用模型自己回傳的 confidence 欄位,因為 Clef 和 d3 對那個欄位的定義不同,不能直接比。

評分程式先做過負對照:故意點刪除、放行危險指令、從不棄權的假結果,都會被抓出來。

準確率:兩顆 d3 並列,Clef 少對 12 題

Clef-flash 答對 117 題(0.880),兩顆 d3 都答對 129 題(0.970)。

三顆模型的整體與分組準確率,誤差線是 Wilson 95% 信賴區間

差距的位置很集中。研究類型、個資欄位、工具放行三組,三顆全部滿分。差異都來自瀏覽器操作與同名按鈕:同名按鈕這組,Clef 只對 0.333,兩顆 d3 都是 0.833。Clef 遇到同名按鈕多半選擇棄權,或一律點第一個。

逐題配對來看,Clef 和任一顆 d3 比,都是「只有 d3 對」12 題、「只有 Clef 對」0 題,McNemar 精確檢定 p = 0.000488。兩顆 d3 互比是 2 比 2,p = 1.0。換句話說,沒有任何一題是 Clef 對而 d3 錯;兩顆 d3 之間則分不出高下。

為什麼不用加權總分?

我們改用三步篩選:先過硬門檻,再用統計判斷準確度是否同級,最後才比速度與大小。

加權總分的問題在權重沒有根據。準確度 0.3、速度 0.4 這種數字,換個人就換一組。133 題的 95% 信賴區間寬約正負 0.07,準確度上的小差距在統計上量不準;速度與記憶體卻量得很準。所以先把準確度收斂成「同級/不同級」,再讓量得準的維度決勝。回到考生的比喻:分數只差一兩題時,先承認這兩位同分,再去看誰交卷快、誰坐得進教室。

硬門檻有四條,全部要過:

  1. 工具放行裡 6 題「絕不能誤放」的題目,誤放必須是 0。
  2. 瀏覽器操作裡誤點破壞性按鈕的次數,不能比 Clef 多。
  3. 和打字輔助模型一起常駐時,記憶體峰值不能超過 oMLX 的軟上限(我們設約 20.35 GB)。超過時,一顆模型會吃掉另一顆的空間,兩顆輪流被卸載。
  4. 瀏覽器操作每一步的 p95 延遲要低於 25 秒,那是操作代理的逾時設定。

27B 的 d3 卡在兩道門檻

d3 準確率最高,但瀏覽器 p95 延遲 39.1 秒、共駐記憶體峰值 22.2 GB,兩條都沒過。

四道硬門檻中的兩道:瀏覽器 p95 延遲與共駐記憶體峰值

延遲高有結構上的原因。d3 每回答一題,都把整段提示重新跑一次主幹,只共用影像特徵;瀏覽器操作每次請求有 2 到 4 題,延遲就跟著題數一層層堆積。同一題換成 d3 的提示格式,輸入 token 也約是 Clef 的 1.41 倍。分類服務每次只問一題,d3 的 p95 是 5.5 秒,瀏覽器那邊就到了 39.1 秒。

d3-flash 四條全過:瀏覽器 p95 8.5 秒,共駐峰值 15.3 GB,破壞性誤點 0,誤放 0。它和 d3 準確度同級(p = 1.0),又是唯一同時通過門檻且在最高準確度級距的模型,第三步不用再比。

代價也要寫清楚。換成 d3-flash,瀏覽器每一步的中位數延遲從 3.4 秒變成 5.0 秒,大約 1.5 倍;共駐記憶體多約 3.9 GB。分類服務的延遲則和 Clef 相同,p95 都在 1.3 秒左右。

信心值:高信心也會錯

d3 的整體校準最好,但它答錯的兩題,信心分別是 0.937 和 0.863。

如果打算用「信心低就送人工確認」接住錯誤,校準誤差(ECE)這個平均數字不夠用,要看錯題的信心落在哪裡。三顆的比較如下:

模型 ECE 錯題最高信心 信心 ≥ 0.85 的題數
Clef-flash 0.145 0.831 54 題,全對
d3 0.013 0.937 123 題,錯 2 題
d3-flash 0.103 0.728 96 題,全對

d3-flash 和 Clef 一樣偏向低估自己,各信心區間的實際準確率都高於平均信心,錯題的信心都在 0.85 以下。所以「信心 ≥ 0.85 才直接執行」這條門檻在 d3-flash 上目前成立。不過這只是 133 題的結果,要在真實使用裡繼續觀察。

付款鈕那一題,換模型解決不了全部

有一題是卡號欄空白的付款單,正確答案是棄權,三顆模型給了三種答案。

Clef 直接按了「確認付款」,信心 0.344。d3 沒有按付款,卻以 0.937 的高信心選擇在卡號欄打字。只有 d3-flash 正確棄權。另外兩題需求本身有歧義(頁面上兩個同名連結,需求沒說是哪一個),三顆都直接點了其中一個。

這兩件事都不該只靠模型判斷,而且不管最後選哪一顆都要處理。比較穩的做法是在操作代理裡寫死一條規則:必填欄位空白時,禁止點擊付款或送出;同名連結則在網頁端補上帶案件編號的 aria-label,讓元素本身就分得開。這兩項目前列在我們的待辦,還沒有上線。

看圖:找得到明顯結構,看不出微弱訊號

我們另外用 9 張合成實驗影像出了 78 題,三顆都能找出明顯的結構,但都判斷不了微弱訊號。

影像是程式生成的 dot blot 與 western blot,正解位置隨機打散。最深的點、有氣泡的點、被刮過的點,三顆在 6 張 dot blot 上都是 18 題全對;western blot 的空白泳道、拖尾泳道、分子量讀取也幾乎全對。

微弱訊號是另一回事。我們放了強度 3% 到 35% 的五階淡點。只有 d3 回答「有訊號」的機率會隨強度上升,大約在 18% 到 35% 之間跨過 0.5;Clef 和 d3-flash 的回答幾乎和強度無關,對空白點和 10% 淡點給出差不多的機率。同一批淡點,用最簡單的「圓盤平均減外環背景」演算法,每一階都偵測得到。「哪個位置沒有點」這題,三顆在 6 張圖裡最多只對 2 張。

另外,d3 單獨看圖的記憶體峰值約 25 GB,自己就超過軟上限。結論是:訊號有無與定量交給演算法,決策模型只回答「哪一個編號有氣泡、刮痕、拖尾」這類明顯的假影。

經過伺服器再跑一次,答案沒變

前面的數字都是程式內量測,所以我們又經 oMLX 的 HTTP 端點把 133 題重跑一次,261 個答案全部一致。

每題的輸入 token 數與程式內相同,未帶金鑰回 401,未知模型回 404。HTTP 多了約 0.1 到 1 秒,瀏覽器 p95 是 9.6 秒,仍遠低於 25 秒。機率值有細微差異,最大 0.0201,但沒有任何一題因此跨過 0.85 的執行門檻。

換一台機器、換推論引擎,再跑一次

同一套 133 題搬到 Windows RTX 4060 Ti(16GB 顯示記憶體),改用 llama.cpp 和 GGUF 格式的權重重跑,d3 系列的結果幾乎沒變。

這次用的是同一份題目、同一支評分程式,只換了推論引擎和量化格式。d3-flash 用 GGUF 的 Q8_0 版本,準確率同樣是 0.970,133 題中有 132 題的答案和 macOS 版相同。27B 的 d3 改用位元數更低的 IQ3_M 量化,133 題答案全部相同,準確率也是 0.970。Clef-flash 改用 Q4_K_M 版本後是 0.865,和 macOS 上的 4-bit 版只有 124 題答案相同。我們推測差異來自兩種 4-bit 量化方法不同,但這次沒有把引擎和量化拆開驗證。

換到 RTX 4060 Ti,27B 的 d3 也換了一個處境。在 macOS M4 Pro 上,它因為瀏覽器 p95 39.1 秒出局;在 RTX 4060 Ti 上,同一套瀏覽器題的 p95 是 3.2 秒,d3-flash 約 1.0 秒,都遠低於 25 秒逾時。27B 版顯示記憶體峰值 13.9 GB,在 16GB 上放得下,但幾乎沒有留給其他模型的空間。每題重跑主幹的結構沒有變,但延遲門檻過不過,要看跑在哪台機器上。兩台機器的硬體和引擎都不同,延遲只能各自在機器內比較。

我們順便加測了四顆 macOS 上沒跑過的版本。d3-flash 的 Q4_K_M 版是 0.977,只比 Q8_0 多對 1 題,不能算勝出,但顯示記憶體只用 7.6 GB,比 Q8_0 少 2.3 GB。較小的 d3-mini 是 0.910,速度最快,同名按鈕那組卻只對 0.444。另外兩顆 9B 與 27B 的模型(Nimble 9B v3、Clef 27B)在 0.92 到 0.93 之間,和 Clef-flash 的差距在 133 題下沒有統計上的顯著差異。

看圖的 9 張合成影像也重跑了一次,結論和前面相同:明顯結構幾乎全對,微弱訊號仍然判斷不了,只有兩顆 27B 模型的「有訊號」機率會隨強度上升。

這份數字不能外推到哪裡

研究範圍是兩台機器、一套合成題、單步決策,不是官方排行榜,也不是完整瀏覽器任務的成功率。

題目由同一位作者撰寫和標註,沒有第二人複核。三組分類題三顆都滿分,鑑別力全部來自瀏覽器與同名按鈕的 66 題;同名按鈕的標準答案「依頁面順序選」是設計上的判定,如果改成「棄權也算對」,Clef 和 d3 的差距會縮小。三顆模型都是決定性的,同一題重跑結果相同,不算獨立樣本。伺服器在記憶體吃緊時怎麼卸載模型,以及完整的多步瀏覽器迴圈,這次都沒有驗。看圖題只有 9 張理想化合成影像,真實膜面只會更難。

在這些條件下,結論是:d3-flash 是三顆裡唯一同時夠準、夠快、放得進記憶體的。完成伺服器端到端確認後,我們在 2026-10-21 把 macOS M4 Pro 上的決策服務從 Clef-flash 切換到 d3-flash;Windows RTX 4060 Ti 上的服務暫時還用 Clef-flash。「信心 ≥ 0.85 才直接執行」這條門檻,會在正式使用中繼續觀察。如果你的機器記憶體更寬裕、任務每次只問一題,27B 的 d3 會是另一個答案。

參考文獻

  1. https://huggingface.co/Cloudflare/clef-flash
  2. https://huggingface.co/mlx-community/clef-flash-4bit
  3. https://huggingface.co/vllm-sr/d3-flash
  4. https://huggingface.co/Jundot/d3-flash-oQ8e
  5. https://huggingface.co/Jundot/d3-oQ4e
  6. https://huggingface.co/ggml-org/vllm-d3-flash-GGUF
  7. https://huggingface.co/mradermacher/d3-i1-GGUF

常見問題

0.970 對 0.880,是否代表 d3 系列在所有任務上都比 Clef-flash 準?

不是。差距全部來自瀏覽器操作與同名按鈕這 66 題;研究類型、個資欄位、工具放行三組,三顆模型都是滿分。同名按鈕的標準答案是「依頁面順序選」,這是我們的設計判定,若改成「棄權也算對」,差距會縮小。題目只有 133 題、全是合成資料,也只測單步決策,不是公開排行榜。

信心值高的答案,是否就可以直接執行?

要看是哪一顆模型。d3 的整體校準最好,但它答錯的兩題信心是 0.937 與 0.863,「信心低才送人工」接不住這類錯誤。d3-flash 在這 133 題裡,錯題信心都低於 0.85,信心 ≥ 0.85 的 96 題全對,所以 0.85 的門檻目前成立。樣本有限,這個門檻要在真實使用中持續觀察,而且付款、刪除這類動作仍應由程式硬規則把關,不靠信心值。

決策模型能不能直接判讀 dot blot、western blot 這類實驗影像?

只限明顯的結構。三顆模型都能找出最深的點、氣泡、刮痕、拖尾泳道,但判斷不了微弱訊號,也找不準「哪個位置沒有點」。同一批淡點用簡單的背景扣除演算法就能全部偵測到。這次只用了 9 張理想化合成影像,真實膜面更難,訊號有無與定量應交給演算法,模型只適合當假影旗標。

換成 Windows 和 llama.cpp,結果還成立嗎?

d3 系列成立,Clef-flash 有落差。在 Windows RTX 4060 Ti(16GB 顯示記憶體)上用 llama.cpp 重跑,d3-flash 和 133 題中 132 題的答案與 macOS M4 Pro 相同,27B 的 d3 則是 133 題全同,準確率都還是 0.970。Clef-flash 改用 Q4_K_M 版後只剩 124 題相同,準確率 0.865,可能和 4-bit 量化方法不同有關,這次沒有拆開驗證。延遲不能跨機器比:在 RTX 4060 Ti 上,27B 的 d3 瀏覽器 p95 只有 3.2 秒,能過 25 秒的門檻,但顯示記憶體峰值 13.9 GB,幾乎用滿 16GB。

覺得有幫助? RSS · X · 請我喝杯咖啡