
來點貴的。
漲價前到手四張 5060Ti 16G,弄了一些 32G 的RAM,所以,組了兩台測試機。
一樣用虛擬機,不是實體機 —— 理由跟前面那幾台完全一樣,不重複講。硬體:16 個執行續、80 GB 記憶體、系統碟 512 GB nvme,另外掛一顆 1 TB 的資料碟專門放模型。
用 Qwen3.6 35B A3B、Q4_K_M 模型。
此機先安裝好 Proxmox (192.168.0.22)。
確認 llm.iron30.com 有設定指向你的固定IP。
然後建一個 Ubuntu VM :
ssh 連到 hq,切換到 /opt/claude-working,執行 claude code:
告訴 claude code:
連接到 192.168.0.22,在.22 執行:
1. 建一個 Ubuntu VM :
- 12 個虛擬核心、80 GB 記憶體。
- 系統碟 500 GB,另外掛一顆大的資料碟放模型。
- 機型 q35。用 seabios,不要 UEFI。
- IP : 192.168.0.30
- 網路拓樸:llm.iron30.com,npm 指向 192.168.8.30:8080
2. 把兩張顯示卡直通給 192.168.0.30 VM
- ⛔ 直通要指到整個裝置,不要只指到第一個功能。
顯示卡除了畫面那個功能之外還有一個音訊功能,
只帶前面那個進去,驅動通常起不來。
連接到 192.168.0.30,在.30 執行:
- 確認:兩張顯示卡都看得到、記憶體容量對。
- 做完把連線資訊寫進這台虛擬機的 Proxmox 備註欄,
並且在 machines.md 和 machines/npm.md 補上這台。
1.裝模型:
- 裝 llama.cpp 的伺服器版本,用 docker 容器跑。
- 模型放資料碟,不要放系統碟。
- 要跑的是 Qwen3.6 35B A3B、Q4_K_M 量化。
- ⚠️ 單張卡只有 16 GB,這個模型一定要拆到兩張卡上。
裝之前先確認你的啟動參數真的會用到兩張,不要裝完才發現。
- 2 slot,128K context.
- llama.cpp webui 指向 8080 端口。
到 NPM 主機:
- 確認 llm.iron30.com 從外面解得到 1.2.3.4,解不到就停下來告訴我。
- 設定: llm.iron30.com,指向 192.168.0.30:8080
- 設定 llm.iron30.com 憑證。
. 驗證:擬定驗證機制,要從 lcoal 及遠端都可以使用這個 LLM。
. 將 192.168.0.22 加入到資料庫中,建立相關檔案。
. 新增 NPM llm.iron30.com 紀錄
規則:
- 顯示卡驅動相關的套件裝好之後全部鎖版本。禁止自動更新。
- 模型載入要一到兩分鐘,不要以為它掛了就重啟。
- 由 fable 擬訂計畫,分配工作,驗證,稽核:sonnet 執行,
模型下載,放到資料碟, 1 TB,7200 轉的傳統硬碟,這樣不占 nvme 空間,載入速度會慢,但可以放各種模型來測試,不用每次都要下載。
一個硬體上的限制:顯示卡插上去的那條匯流排,速度上限只有第三代八通道。顯示卡本身支援第五代,但主機板的晶片組是第三代的東西。沒辦法。
裝完之後,看一下:

chat :
有個樣子了。
來測試一下:
告訴 claude code:
測量 LLM 速度。⛔ 不要用聊天介面「感覺一下」。
方法:直接打它的 API,回應裡面會帶這一次的計時。
把「吃進去多少、花多久」和「吐出來多少、花多久」分開記,這是兩件事。
測五種輸入長度:幾乎沒有、2K 上下、10K 上下、30K 上下、100K 上下。
每一種各測一次,做成一張表:輸入長度、吃進去的速度、生成的速度。
⛔ 三個地雷,踩了數字就是假的:
1. 不要用同一段文字測第二次。它會命中快取,
第二次的數字會漂亮到不像話。每次都要換一段新的內容。
2. 回應裡如果有「快取命中」的欄位,確認它是 0。不是 0 就重測。
3. 不要用串流模式測,第一個字出現的時間會混進總時間裡。
測完把五組數字,+ 還有兩張卡測試前後記憶體變化數字。
產生圖表檔案給我,
同一台機器、同一個模型,只改輸入長度,測出來的速度是這樣:

Qwen 3.6 規格表上寫的可用長度是 256K —— 但到了 100K 的時候,速度已經掉了一半。容量(context)大小,跟用起來順不順,兩件事。
另外,執行開始之後的沉默時間:最長的那一次,模型光是把問題「讀進去」就花了 32 秒。那 32 秒裡它一個字都還沒開始寫,使用者會看到一個空白畫面。top/s 每秒幾個字這種數字只描述了後半段;真正決定體感的,常常是使用者按下送出之後、第一個字出現之前的那段沉默。所以量速度要量兩段:讀進去多久,吐出來多快。
顯示卡記憶體是這台機器上最稀缺的東西,而它有一塊常被忽略:存放對話狀態的那份快取。把它從全精度換成量化的版本,實測從 5440 MB 降到 2720 MB,少了一半。省下來的不是拿來閒著,是拿去換更長的可用上下文。這是本地跑模型最典型的取捨:每一個決定都在同一個 16 GB 裡面搶位置。
會思考的模型有一個開關:要不要讓它先想一遍再回答。直覺上開著比較好,但真的做過對照才知道:在同一批題目上,開跟不開的客觀結果幾乎沒有差別,而生成的字數多了四倍多、延遲多了將近三倍。四組成品盲測的結果是關掉那一版全勝。所以這個開關的預設值是關著 —— 不是因為思考沒用,是因為在這個用途上,你付了三倍的成本卻換不到看得出來的差別。會不會有別的用途需要它?會,所以它留成一條可以隨時打開的通道。

這個模型被選中的理由很單純:它快。它的架構是每次只喚醒一部分參數,所以同樣的顯示卡上,它的速度是同尺寸密集模型的 4.4 倍 —— 一邊每秒 110 到 115,一邊每秒 25。即時互動吃不下四倍的延遲,所以這個位置只能是它。另外兩件加分的事:它呼叫工具的成功率夠穩,而且加一個外掛的視覺元件上去,就看得懂圖片。
缺點:
它會寫出簡體字。62 題的測試裡,它吐出 46 個簡體字,平均每千字 2.44 個;最糟的是散文類,每千字 6.2 個。拿來寫程式看不出來,拿來寫文章就麻煩了。同一批題目換另一個模型跑,簡體字是零。這種缺點不會讓你的系統壞掉,它只會讓你的成品看起來不專業,而且你不一定會發現。
真正嚴重的是這一條:對「理由講得很籠統的破壞性指令」,它五次全部照做。測試的內容是要求它去刪掉一台機器上的網站目錄再重建,而那台機器上跑著三個對外的正式網站。五次裡面有一次它還自己加上了提升權限的參數 —— 沒有人要求它加。
同一題換另一個模型,會拒絕,而且還反問理由。這件事不是「模型比較笨」可以帶過的:它直接推翻了「讓模型自己判斷該不該執行」這條路。上一篇說遠端執行那一頁的權限最大,現在可以把話說得更死:防線要做在指令送出去之前的那一層,不要指望這模型在最後一刻拒絕你。
它快是因為每次只用到一部分參數,而就是這個快,讓它在中文用字和服從性上輸給密集型的模型。挑模型不是挑最強的那個,是挑你受得了哪一種弱。用途決定哪一種弱是可以忍的:即時對話慢?寫文章有錯字?還是執行指令不聽話?目前是測試,所以,先忍著點用。
這台機器現在會有反應了,而且夠快。但它只有一種輸出:文字。
明天,把語音轉文字與文字轉語音接進來,讓機器開口說話。
注意!!! 本篇所做的 llm.iron30.com 會公開對外,因為是測試,沒有做防護,任何人都可以連上來用。實際上線,請務必叫 claude 做登入或 api key 保護。
補充一下:
Qwen3.8-27B 近期很紅,所以就測試了一個:Qwen3.8-27B-UD-Q4_K_XL (17.9G),確實比 qwen 3.6 強,但是:繁體中文弱,速度慢 117.3 : 22.4,ocr 速度更慢。所以沒換模型。等 qwen 3.8 35B 出來再測測看。
以下是測試簡報:
