胡嘉璽:Qwen3-30B-A3B-QAT-Instruct-Q4_K_M_MTP-NSFW 是什麼鬼?玩地端模型不要被參數名稱搞死了

來源: Facebook — 胡嘉璽 日期: 2026-06-10(約略) 平台: Facebook 個人貼文 擷取方式: agent-browser(public-meta profile)

貼文全文

貼文主題是在拆解地端 LLM 模型名稱裡常見的縮寫,避免使用者只看名字就被規格嚇到。

● 先看參數大小

玩地端模型的人,一開始最想知道的就是要下載哪一個模型。最基本的就是看參數量大小,評估能不能塞進自己的 GPU 記憶體中。舉例來說,如果你有一台 128GB UMA 的 DGX Spark 或是 Mac,最簡單的判斷標準就是看參數量,例如 GPT-OSS 120b 大概就可以塞得下。

● 接下來要知道什麼是量化

接下來你要面臨的就是量化。量化基本上就是把模型參數的精度降低,讓它不需要佔用這麼多記憶體。大家都知道浮點數的 mantissa(尾數)不用這麼高,0.1234 和 0.12345678 對模型本身的準確度影響沒這麼大,但對記憶體的佔用差別卻很大。因此業界重新設計了新的浮點數精度方法,讓原來需要佔用 2 位元組的參數,用更精簡的位元組數來表示,同時也不會犧牲太多性能。

量化的種類很多,通常 fp16 代表 16 位元的浮點數;以此類推,下降一半就是 fp8,如果能用整數來表示就是 int,整數下降到 4 位元就是 int4。量化有很多方法,有些是模型先產出 fp16 版本,然後再轉換成量化版本,這種叫 PTQ(訓練後量化)。有些模型在訓練時就知道要量化,一邊訓練(微調)一邊調整量化誤差,這種稱為 QAT(量化感知訓練)。目前市面上大部分都是 PTQ,而有做 QAT 的例子如最新的 Gemma4-12b-qat。另外值得一提的是,NVIDIA 也有自己的量化格式叫做 NVFP4,這只能跑在 NV 最新的硬體架構上。

● 知道什麼是 MoE

我們都知道一個 LLM 模型有固定的參數量,當你進行推理時,理論上你的輸入是要前向傳播(Forward pass)跑過所有模型參數的。但這樣不但耗時又非常耗電,這種架構稱為 Dense 模型。事實上要跑出好的結果,全量運算並非必要,可能只要跑過部分「有用」的參數就可以了。

因此有了混合專家(MoE)模型:在正向傳播時,模型裡有很多 expert,每個 token 進來時,路由(router)會選幾個 expert 來處理。這樣模型總參數可以很大,但每一步真正啟用的參數比較少。MoE 模型可以大幅加快速度,但很多人有個誤解,以為記憶體就不用這麼大了。事實上,如果你跑的是 30b 的 MoE 模型,你的記憶體還是要載入整個 30b 的權重,只是 token 不用經過這完整的 30b。那到底經過了多少參數呢?這就是 A3B 的意義。

例如 Qwen3-30B-A3B,30B 是總參數量(模型檔案裡大約有 30B 規模的權重),A3B 是 activated 3B,代表每個 token 大約只啟用 3B 的參數來計算。所以 MoE 的核心概念是:記憶體要放得下整個大模型,但每一步的算力成本比較像小模型。

● E2B 又是什麼?

E 代表有效參數(Effective)。模型的總參數可能很多,以 Gemma 3n 為例,雖然本身有超過 5B 的參數,但透過條件式參數載入(conditional parameter loading)和 PLE caching(每層嵌入快取),可以把有效的記憶體負載降到約 1.91B 參數。如此一來,模型檔案裡可以有超過 2B 甚至 5B 的參數,但推理時不一定都要常駐在記憶體中。

不過這裡有個大坑:如果你的推理框架不支援這些機制,可能會直接把所有參數硬載入記憶體。如果 runtime 支援 Gemma 3n 的 PLE caching 或 MatFormer 選擇性啟動,就可以少載入一部分,只跑比較小的有效模型。至於有沒有 E2B 模型同時也是 MoE 架構的?目前市面上還比較少見。

● 那 Q4_K_M 或 Q5_K_M 是什麼鬼?

這要和 GGUF 放在一起說。GGUF 是一種比較特殊的檔案格式,主要是 llama.cpp 生態圈在使用,被視為一種「模型包裝格式」。除了支援量化之外,它最棒的地方在於部署便利且佔用記憶體低。它把「模型權重、量化資訊、tokenizer、模型 metadata」全部包在同一個檔案裡,讓本機端推理變得很無腦方便。

GGUF 自己的量化格式就是你看到的 Q4_K_M 或 Q5_K_M。其中 Q4/Q5 很好懂,就是變成 4 位元或 5 位元的精度;而 K 是 GGUF 專屬的 k-quants 量化方法;M 則是 Medium(中型),另外也有 S(小型)等變體。GGUF 的格式非常多,但只要下載一個單一檔案就能直接跑,這是它最大的優點。至於 llama.cpp 這個話題太龐大,以後有機會再深聊。

● 那 MTP 又是什麼?

MTP 是多 token 預測(Multi-Token Prediction)。簡單來說,就是在玩「文字接龍」時,模型會一次多預測後面好幾個 Token,而不是傻傻地一個一個吐出來。一般來說,如果模型在命名上標榜自己是 MTP,表示它在訓練階段就原生支援(native MTP)。如果模型在訓練時不支援怎麼辦?推理時利用投機解碼(speculative decoding)、draft model 或 EAGLE 這類方法,也是可以做到類似「一次猜多個 token」的加速效果。

但要注意,推理時不能把一個普通的 Dense / MoE 模型隨便「打開 MTP 開關」就當作原生 MTP 來用,還是得依靠上述的投機解碼框架來輔助。

● Qwen3.6-Instruct-27b 中的 Instruct 呢?

這個就相對簡單了,通常看到英文後綴就是字面上的意思。例如 IT(Instruction Tuned/經過問答指令微調)、Reasoning(推理增強)、Thinking(思考模型)、Code(專門使用程式碼微調)等。

● 同場加映:18 禁模型

如果你有耐心看到這裡,這就是給你的特別獎勵。當你看到模型名稱中有 Uncensored、NSFW(Not Safe For Work)或 Abliterated 這種字眼,表示這就是把原來模型的安全、道德、法律等對齊限制給拔掉的「18 禁模型」。你可以用這個模型生成非常不受限(或不適宜)的內容,但記住,千萬別拿來做犯法或害人的事就對了。

看完這篇,現在你搞懂這些長得鬼畫符的模型名字了吧?

互動與留言

  • Like: 162
  • Comments: 2
  • Shares: 59

留言

  • Nelson Fish: 還好,我看完了~
  • 王嘉楓: 特別獎勵 🤣