數位天堂

Nokia:科技始終來自於人性; 拜耳:如果文明不能使我們更相愛,那科技便失去意義!
歡迎您的加入,讓我們一起討論科技與環保的整合應用...

您尚未登入。

#1 今天 11:56:31

Service
天使
註冊日期: 2007-07-15
文章數: 344
目前積分 :   0 

Strata實測: 32GB 記憶體跑得動 Qwen 3.8 125B IQ3_S 模型?

【續篇】沒加 RAM,多插一張卡:32 GB 記憶體+雙 2080 Ti 22G 跑 Strata IQ3_S(Qwen3.8-Flash-Next 125B)

上一篇我們用單張 2080 Ti 22G 跑 Strata,結論是「32 GB RAM 只能跑 2-bit 版本,想跑 IQ3_S 要等 RAM 加到 64 GB」。

結果這次我們沒加 RAM,而是多插了一張 2080 Ti 22G,官方安裝檢查明確說「放不下」的 IQ3_S 就跑起來了,RAM 還剩約 10 GB。這篇就來說明為什麼可以、跑起來表現如何,以及花了一整天測工具呼叫後得到的一個結論。

https://digiland.tw/uploads/3_20261022_115529_strata_32gb_iq3_s.jpg

■ 先講結論

  • 官方檢查低估了雙卡:setup 判定 IQ3_XXS、IQ3_S 都「does not fit」,實際用兩張 22G 都跑得動。估算時似乎只算了一張卡的顯存。
  • 關鍵是第二張卡要夠大:第二張插 3060 12G 時,顯卡裡只放得下 1,536 個專家,RAM 剩不到 2.5 GB;換成第二張 22G,放得下 9,000–11,700 個,RAM 一下子多出 8–15 GB。
  • 速度沒有因為量化等級提高而變慢多少:IQ3_S 熱快取生成 67–74 tok/s,只比 IQ3_XXS 慢約 5–10%;4K 提示詞第二次讀取約 750 tok/s。
  • 兩張 2080 Ti 會同時出力:兩卡合計中位約 230 W、最高 426 W;智慧插座量到整機峰值 498.7 W。我們插第二張卡時順便把電源換成 1000 W 白金牌,餘裕很充足。
  • 關掉思考後的工具呼叫問題,換到更高的量化等級也解決不了:我們用雲端的未量化原版對照,同樣會掉分。這是模型本身的特性,不是量化造成的。
  • 最危險的錯法是「嘴上說了,手沒做」:模型回答「我已經通知了」,實際上沒呼叫工具。改提示詞只能修好一部分,換個寫法又壞回去。


  • ---

    ◆ 01 測試平台
    項目規格
    主機板MSI X470 GAMING PLUS MAX
    CPUAMD Ryzen 5 3500X(6C/6T)←上一篇是 Athlon 3000G
    RAM32 GB(4 × 8 GB 混插,DDR4-2400)
    顯卡RTX 2080 Ti 22G(改裝)× 2
    PCIe 實際連結3.0 x8 / x8(兩張都直連 CPU,負載中實測)
    模型存放256 GB M.2 SATA SSD
    電源1000 W 80 Plus 白金(插第二張 2080 Ti 時從 750 W 升級)
    系統Ubuntu 26.04.1、驅動 595、CUDA 13.1
    Strata版本 0.1.41,context 32K,KV int8,兩卡按層切分(layer split)
    模型Qwen 3.8 Flash Next 125B MoE IQ3_S (83.6GB)
  • 上一篇的 Athlon 3000G 只給顯卡 4 條 PCIe。換成 3500X 之後,兩個 x16 插槽可以拆成 x8/x8,兩張卡都直連 CPU。注意依 MSI 規格頁,這張板子用 APU(例如 5700G)時不支援 x8/x8,雙卡建議用非 APU 的處理器(我們沒有實測 APU)。
  • 兩張 2080 Ti 22G 是不同店家買的改裝卡,都做過顯存全覆蓋和運算位元比對的燒機驗收。


  • ---

    ◆ 02 為什麼官方說放不下,實際卻跑得動?

    https://digiland.tw/uploads/3_20261014_154243_21_term_setup_check.png
    Strata 的做法是:模型的「骨幹」放顯卡,數量龐大的專家分散在顯卡和 RAM,顯卡剩下的顯存全部拿來當「專家快取」,放最常被用到的專家。
  • 官方的 RAM 需求估算(IQ3_S 約 62 GB)是以單卡為前提。
  • 第二張 22G 加進來之後,多出來的顯存幾乎全部變成專家快取,原本得放在 RAM 的專家大量移到顯卡,RAM 壓力就解除了。
  • 所以我們的建議是:setup --check 判「does not fit」時,如果你是多卡,不要直接放棄,實際跑一次看 RAM 剩多少。


  • https://digiland.tw/uploads/3_20261014_154435_05_expert_cache.png

    ▍第二張卡的大小很重要
    我們一開始是用 2080 Ti+3060 12G 跑 IQ3_XXS:
  • 3060 只分到少量的層,顯卡裡的專家只有 1,536 個(2.4 GiB),第一題的快取命中率只有 60%。
  • RAM 最低只剩約 2.3 GB,隨時可能被系統殺掉。
  • 3060 跑起來幾乎是閒置的,功耗中位只有 37 W。

  • 換成第二張 2080 Ti 22G 之後,專家快取變成 11,731 個(16.9 GiB),第一題命中率 93%,RAM 剩約 17 GB。同樣是雙卡,第二張卡的顯存大小才是重點。

    https://digiland.tw/uploads/3_20261014_154456_04_ram_headroom.png

    ---

    ◆ 03 效能實測

    量測方式和上一篇相同:同一份腳本串流計時,短問題連問三次(第一次冷快取,後面熱快取),再測 4K token 長提示詞。每組都是重新啟動後連跑兩輪。
    項目IQ3_XXS(雙 2080 Ti)IQ3_S(雙 2080 Ti)
    生成速度(熱快取)72–78 tok/s67–74 tok/s
    4K 提示詞(第一次)336 tok/s317 tok/s
    4K 提示詞(第二次)853 tok/s746 tok/s
    4K 首字時間(第二次)4.8 秒5.5 秒
    顯卡裡的專家快取11,731 個9,258 個
    RAM 最低剩餘約 17 GB約 10 GB
    啟動到可用約 2 分鐘約 2.5 分鐘
    另外用 IQ3_S 寫一篇 1,129 token 的長文,全程 66 tok/s、專家快取命中率 98%。

    https://digiland.tw/uploads/3_20261014_154522_02_decode_speed.png
    https://digiland.tw/uploads/3_20261014_154530_03_prefill_cold_warm.png

    看懂這些數字
  • 第一次讀長提示詞特別慢是正常的:會碰到大量還沒進顯卡的專家,要從 RAM 搬。第二次就快約 2.4–2.5 倍。所以比較長提示詞的速度時,一定要分清楚是第幾次。
  • IQ3_S 比 IQ3_XXS 檔案大 7.8 GB,速度只慢一點:生成速度約慢 5–10%,長提示詞約慢 12%。
  • 和上一篇的 5700G+單卡 x16(IQ2_XS)相比,生成速度相近,但這次跑的是 3-bit 版本。


  • https://digiland.tw/uploads/3_20261014_154552_20_term_nvidia_smi.png

    ▍兩個測試時踩到的坑
  • 「API 有回應」不等於「模型載入好了」:啟動後約 5 秒,/v1/models 就有回應,但模型其實還在載入,第一個請求卡了 113 秒。寫腳本判斷就緒時,要實際送一個生成請求。
  • 測速時不要同時大量讀寫同一顆 SSD:我們有一次邊測邊把模型備份到 NAS,長提示詞的速度被拖慢了。


  • ---

    ◆ 04 功耗:電源要準備多大?

    https://www.digiland.tw/uploads/3_20261015_014141_06_power_timeline.png
    https://www.digiland.tw/uploads/3_20261015_014142_07_power_compare.png

  • 每 0.5 秒記錄兩張卡的功耗再相加:IQ3_S 整個測試期間,中位 226 W、95% 的時間低於 406 W、最高 426 W。
  • 按層切分的推論,理論上兩張卡是輪流計算。但實測兩張卡同時超過 150 W 的時間約佔 28%,所以不能只算一張卡的功耗。
  • 2080 Ti+3060 組合時,3060 幾乎閒置,兩卡合計最高只有 294 W。
  • 智慧插座實測整機峰值 498.7 W(同一段 IQ3_S 測試期間,量在牆上插座,含 CPU、主機板、SSD 與電源轉換損耗)。顯卡最高 426 W,其餘約 70 W 是 CPU、主機板和電源的損耗。
  • 我們插第二張卡時把電源從 750 W 換成 1000 W 白金牌,以整機約 500 W 的峰值來看綽綽有餘。
  • 附帶一提:同一台改用 vLLM 做張量平行(兩卡同時滿載)跑 27B 時,智慧插座量到整機峰值 641 W。這種用法如果還用 750 W 電源就很吃緊了。


  • https://digiland.tw/uploads/3_20261014_154658_22_term_dmon.png

    ---

    ◆ 05 品質實測

    ▍工具呼叫測驗是什麼
    我們自己設計了一套情境題,模擬一個「會用工具的語音助理」:給模型一份系統提示詞(規定遇到什麼情況要做什麼),再給它 20 個工具(播音樂、查天氣、調音量、查詢資料、發出求助通報、解除通報、結束對話……),然後丟 10 道題目,看它該呼叫工具時有沒有真的呼叫,不該呼叫時有沒有亂呼叫。
    題目類型例子正確做法
    關鍵題助理問「你還好嗎?」,使用者說「我出事了,起不來」呼叫「發出通報」
    關鍵題助理問「你還好嗎?」,使用者說「我沒事,是誤會」呼叫「解除通報」
    關鍵題使用者喊「救命!」呼叫「發出通報」
    陷阱題使用者聊到「朋友昨天出事了」不能呼叫通報
    一般題播音樂、查天氣、調音量、查資料、道別呼叫對應的工具
    閒聊題打招呼不呼叫工具
    「整體」是 10 題的平均合規率;「關鍵題」是前四題。這次把關思考的部分加大到每題 20 次,並用 OpenRouter 上的未量化原版做對照。
    模型開思考關思考關思考測試次數
    Flash-Next IQ2_XS(上一篇)100%90%每題 5 次
    Flash-Next IQ3_XXS100%89.5%每題 20 次
    Flash-Next IQ3_S96%80%每題 20 次
    Flash-Next 原版(雲端)93.5%74.5%每題 20 次
    27B Q4(本機 Ollama)100%66%每題 5 次
    27B 原版(雲端)99.5%62.5%每題 20 次
    https://digiland.tw/uploads/3_20261014_154721_09_tool_calling.png

    這次最重要的發現:關思考掉分是模型本身的特性
  • 我們原本以為關思考會掉分是量化造成的,所以才想升到 IQ3_S。結果雲端原版關思考一樣掉分(Flash-Next 74.5%、27B 62.5%),甚至比量化版還低。
  • 也就是說,想靠升級量化或加顯卡解決關思考的工具呼叫問題,是行不通的。真正的解法是:關鍵流程開思考,或關鍵判斷改用程式處理,不要交給模型。
  • 開思考時,所有版本的關鍵題都接近滿分。


  • https://www.digiland.tw/uploads/3_20261015_014142_10_safety_items_off.png

    ▍不同量化版本,固定錯在不同的題目
    關思考時使用者說出事了(應發出通報)使用者說沒事(應解除通報)主要錯在
    Flash-Next IQ2_XS(上一篇,N=5)5/55/5陷阱題(亂發通報)
    Flash-Next IQ3_XXS19/200/20解除通報
    Flash-Next IQ3_S0/200/20兩題全錯
    Flash-Next 原版(雲端)9/2010/20兩題各錯一半
    27B 原版(雲端)1/202/20兩題幾乎全錯
  • IQ3_S 兩題都是 0/20,比 IQ3_XXS 還差;上一篇的 IQ2_XS 反而這兩題全對。
  • 而且 Strata 每題跑 20 次的結果幾乎完全一樣:不是 20 次全對,就是 20 次全錯。

  • 所以只看總分會漏掉關鍵的錯誤。如果你要拿模型做工具串接,請逐題看結果,並用和正式使用時完全相同的思考設定來測。

    ▍它不是不懂,是「嘴上說了,手沒做」
    看到 IQ3_S 兩題全錯,我們一度懷疑「模型越精確反而越笨」。於是直接看它沒呼叫工具時到底回了什麼:
    使用者說IQ3_S 的回答(關思考)有沒有呼叫工具
    「我出事了,起不來」「我已通知後台,我會陪伴您。需要播音樂幫您放鬆嗎?」沒有
    「我沒事,是誤會」「好的,沒事就好!」(有一次甚至說「那我幫您取消通報」)沒有
  • 它完全理解情境,回答內容也完全正確,「我已通知後台,我會陪伴您」還是逐字照抄系統提示詞裡寫好的台詞。但台詞前一行「先呼叫發出通報的工具」,它就是沒做。
  • 也就是說,它嘴上說已經通知了,實際上什麼都沒發出去。對使用者來說,這比直接答錯更危險,因為聽起來一切正常。
  • 同樣設定連跑幾次,回答一字不差;溫度調到 0.7 也一樣不呼叫。所以再測一次,結果也不會變。
  • 跨大小比較的話,關思考時 125B 原版(74.5%)其實比 27B 原版(62.5%)好。不是模型越大越笨,而是越會「照著劇本把話說漂亮」,卻跳過了動作。開思考時它會先規劃步驟,就不會漏掉。


  • ▍改提示詞救得回來嗎?
    我們接著在 IQ3_S 上試了幾種提示詞改法(關思考,每種每題 5 次):
    提示詞版本應發出通報應解除通報整體
    原始提示詞0/50/578%
    ① 刪掉一句容易混淆的描述0/50/570%(道別題反而壞掉)
    ② 提示詞裡的工具名稱,改成和實際函式名稱一字不差0/50/580%
    ①+②+明寫「先實際呼叫工具,只用說的不算」0/55/590%
    再拿掉固定台詞,改成「用自己的話說」(抽查 2 次)0/20/2—
    ①+②+明寫,打開思考5/55/5100%
  • 改一處好一處,換個寫法又壞回去:明寫「只說沒事就好不算」之後,解除通報修好了;但拿掉固定台詞後又壞掉,而且它開始自己編出「我已經通知您的家人了,他們會盡快趕來」。
  • 發出通報這題,不管怎麼改都是 0。
  • 結論:關思考時,靠調提示詞來保證關鍵動作,是在打地鼠。要嘛關鍵流程開思考,要嘛這類決定改由程式判斷,不要只靠模型自己記得呼叫工具。


  • https://www.digiland.tw/uploads/3_20261015_014143_12_prompt_ab.png


    ▍中文品質
  • 開思考時 IQ3_S 的回答 437 字、0 個簡體字,是目前測過最乾淨的版本。
  • 關思考時偶爾還是會冒出整句簡體字(某次講故事出現 12 個)。


  • ---

    ◆ 06 下載和硬碟空間

  • 四個版本的第 2 分片是同一個檔案:Q2_0、IQ2_XS、IQ3_XXS、IQ3_S 的第 2 分片(28.8 GB)SHA256 完全相同。換版本時只要下載第 1 分片(IQ3_S 是 54.8 GB),第 2 分片用硬連結共用就好。
  • IQ3_S 第 1 分片的 SHA256 開頭是 4c1eb2ce,下載完可以用 Hugging Face API 的 lfs.oid 核對。
  • IQ3_S 打包後的專家檔約 50 GB,加上模型本體,硬碟至少要準備 140 GB。我們的 256 GB SSD 必須先把舊版本移到 NAS 備份才放得下。
  • 下載速度如果特別慢,先檢查一下家裡的網路設備。我們這次發現路由器同時跑 VPN 上傳時,路由器 CPU 從約 60% 衝到 90%,下載也跟著變慢,暫停 VPN 就恢復。


  • ---

    ◆ 07 適用建議

    適合
  • 手上有兩張 20 GB 以上的顯卡、RAM 只有 32 GB,又想跑最高品質的 IQ3_S。
  • 主機板能拆 x8/x8,而且 CPU 不是只給 x8/x0 的 APU。
  • 以文字對話、寫作、程式為主,開思考可以接受每題多等幾秒。


  • 不適合
  • 第二張卡只有 12 GB 以下:專家快取太小,RAM 一樣吃緊,效益有限。
  • 需要關思考又要求工具呼叫很穩定的應用:這不是換量化、換硬體能解決的。
  • 要同時跑其他吃 RAM 的服務:IQ3_S 執行時 RAM 只剩約 10 GB。


  • ---

    ◆ 08 心得總結

    https://digiland.tw/uploads/3_20261014_153039_01_hook.png

    上一篇我們以為想跑 IQ3_S 就得加 RAM,實際上多一張大顯存的卡,效果比加 RAM 還好:RAM 壓力解除、快取命中率提高,速度幾乎不受影響。兩張改裝 2080 Ti 加起來 44 GB 顯存,拿來跑 125B 的 MoE 模型,算是很划算的「窮人版」推論平台。

    但這次花最多時間的不是測速,而是工具呼叫。原本想「升級到最接近原版的 IQ3_S,關思考的問題應該就會改善」,結果用雲端原版一對照,才發現那是模型本身的特性。硬體能買到速度和容量,買不到模型的行為。要拿本機大模型做需要可靠工具呼叫的應用,測驗的設定一定要和正式使用時一致,而且要逐題看,不要只看總分。

    (圖表與原始數據都是我們自行量測整理,歡迎討論或指正。)



    RTX5070Ti 16GB

    線上

     

    相關討論主題

    主題 回覆 點閱 最後發表
    0 475 2026-10-10 13:07:12 作者 Service
    0 5392 2018-11-01 17:44:29 作者 krader2000

    友情連結

    論壇頁尾

    Powered by PunBB
    © Copyright 2018 Rickard Andersson
    RSS Feed