模型概述
模型特點
模型能力
使用案例
🚀 ik_llama.cpp
對Qwen/Qwen3 - 235B - A22B的imatrix量化
本量化集合提供了基於ik_llama.cpp
對Qwen/Qwen3 - 235B - A22B模型的量化版本,能在特定內存佔用下提供一流的質量。
🚀 快速開始
ik_llama.cpp
用於混合GPU + CPU推理的API服務器
# 此示例適用於24GB VRAM + 96 GB RAM + 16物理核心CPU
# 將前ffn層0 - 11卸載到GPU VRAM。
# 將最終ffn層12 - 93卸載到CPU RAM。
./build/bin/llama-server
--model ubergarm/Qwen3-235B-A22B-GGUF/Qwen3-235B-A22B-mix-IQ3_K-00001-of-00003.gguf \
--alias ubergarm/Qwen3-235B-A22B-mix-IQ3_K \
-fa \
-ctk q8_0 -ctv q8_0 \
-c 32768 \
-fmoe \
-amb 512 \
-rtr \
-ot blk\.1[2-9]\.ffn.*=CPU \
-ot blk\.[2-8][0-9]\.ffn.*=CPU \
-ot blk\.9[0-3]\.ffn.*=CPU \
-ngl 99 \
--threads 16
--host 127.0.0.1 \
--port 8080
如果你想要更多上下文和/或更少的VRAM使用量,你可以嘗試:
- 更小的KV緩存量化
-ctk q4_0 -ctv q4_0
✨ 主要特性
- 此量化集合需要 ik_llama.cpp 分支來支持先進的非線性SotA量化。不要下載這些大文件並期望它們能在主線的vanilla llama.cpp、ollama、LM Studio、KoboldCpp等上運行!
- 這些量化在給定的內存佔用下提供了一流的質量。
📦 安裝指南
文檔未提及具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
# 此示例適用於24GB VRAM + 96 GB RAM + 16物理核心CPU
# 將前ffn層0 - 11卸載到GPU VRAM。
# 將最終ffn層12 - 93卸載到CPU RAM。
./build/bin/llama-server
--model ubergarm/Qwen3-235B-A22B-GGUF/Qwen3-235B-A22B-mix-IQ3_K-00001-of-00003.gguf \
--alias ubergarm/Qwen3-235B-A22B-mix-IQ3_K \
-fa \
-ctk q8_0 -ctv q8_0 \
-c 32768 \
-fmoe \
-amb 512 \
-rtr \
-ot blk\.1[2-9]\.ffn.*=CPU \
-ot blk\.[2-8][0-9]\.ffn.*=CPU \
-ot blk\.9[0-3]\.ffn.*=CPU \
-ngl 99 \
--threads 16
--host 127.0.0.1 \
--port 8080
高級用法
如果你想要更多上下文和/或更少的VRAM使用量,可以嘗試使用更小的KV緩存量化:
# 在上述基礎用法的基礎上,修改-ctk和-ctv參數
-ctk q4_0 -ctv q4_0
📚 詳細文檔
量化集合
到目前為止,這些是我提供的在良好內存佔用斷點下具有出色質量的最佳方案。
ubergarm/Qwen3 - 235B - A22B - mix - IQ3_K.gguf
此量化旨在以最大速度運行,僅需略低於~110GiB (V)RAM組合,例如24GB VRAM + 96GB RAM(非常適合配備2x48GiB DDR5 DIMM的AM5或LGA 1700遊戲主機,以實現最大性能)。這將允許使用 -rtr
運行時重新打包以實現最大CPU吞吐量。你仍然可以省略 -rtr
並使用默認的 mmap()
行為以較少的RAM運行,但會犧牲速度。或者你也可以“離線重新打包”以適應你的具體設置,並通過 mmap()
實現更快的啟動和最大CPU吞吐量。但是,根據你的主機上透明大頁(THPs)的配置和對性能的影響,你可能無論如何都要使用 --no-mmap
。
106.830 GiB (3.903 BPW)
f32: 471 tensors
q8_0: 2 tensors
iq3_k: 188 tensors
iq4_k: 94 tensors
iq6_k: 376 tensors
最終估計:PPL = 5.4403 +/- 0.03421 (wiki.test.raw,與Q8_0的5.3141 +/- 0.03321相比) (*待辦事項*: 更多基準測試)
模型架構
原始模型架構有94個重複層/塊,未量化的 bf16
版本總大小為 448501.04 MB
:
屬性 | 詳情 |
---|---|
模型類型 | ik_llama.cpp 對Qwen/Qwen3 - 235B - A22B的imatrix量化版本 |
訓練數據 | 文檔未提及 |
Tensor | Dimension | 數據類型 | 大小 |
---|---|---|---|
token_embd.weight | [ 4096, 151936, 1, 1] | bf16 | 1187.00 MiB |
blk.1.attn_k_norm.weight | [ 128, 1, 1, 1] | f32 | 0.000 MiB |
blk.1.attn_q_norm.weight | [ 128, 1, 1, 1] | f32 | 0.000 MiB |
blk.1.attn_norm.weight | [ 4096, 1, 1, 1] | f32 | 0.016 MiB |
blk.1.ffn_gate_inp.weight | [ 4096, 128, 1, 1] | f32 | 2.000 MiB |
blk.1.ffn_norm.weight | [ 4096, 1, 1, 1] | f32 | 0.016 MiB |
blk.1.attn_k.weight | [ 4096, 512, 1, 1] | bf16 | 4.00 MiB |
blk.1.attn_q.weight | [ 4096, 8192, 1, 1] | bf16 | 64.00 MiB |
blk.1.attn_v.weight | [ 4096, 512, 1, 1] | bf16 | 4.00 MiB |
blk.1.attn_output.weight | [ 8192, 4096, 1, 1] | bf16 | 64.00 MiB |
blk.1.ffn_down_exps.weight | [ 1536, 4096, 128, 1] | bf16 | 1536.00 MiB |
blk.1.ffn_gate_exps.weight | [ 4096, 1536, 128, 1] | bf16 | 1536.00 MiB |
blk.1.ffn_up_exps.weight | [ 4096, 1536, 128, 1] | bf16 | 1536.00 MiB |
output.weight | [ 4096, 151936, 1, 1] | bf16 | 1187.00 MiB |
output.norm_weight | [ 4096, 1, 1, 1] | f32 | 0.016MiB |
待辦事項: 比較此量化和其他流行量化的張量選擇。
量化
👆秘密配方
#!/usr/bin/env bash
custom="
# 注意力
blk\..*\.attn_k.*=iq6_k
blk\..*\.attn_q.*=iq6_k
blk\..*\.attn_v.*=iq6_k
blk\..*\.attn_output.*=iq6_k
# 令牌嵌入(將這些放在第二位,以免attn_output正則表達式變為q8_0)
token_embd\.weight=q8_0
output\.weight=q8_0
# 專家
blk\..*\.ffn_down_exps\.weight=iq4_k
blk\..*\.ffn_(gate|up)_exps\.weight=iq3_k
"
custom=$(
echo "$custom" | grep -v '^#' | \
sed -Ez 's:\n+:,:g;s:,$::;s:^,::'
)
#--token-embedding-type q8_0 \
#--output-tensor-type q8_0 \
./build/bin/llama-quantize \
--custom-q "$custom" \
--imatrix /mnt/raid/models/ubergarm/Qwen3-235B-A22B-GGUF/imatrix-Qwen3-235B-A22B.dat \
/mnt/raid/models/Qwen/Qwen3-235B-A22B/Qwen3-235B-A22B-BF16-00001-of-00011.gguf \
/mnt/raid/models/ubergarm/Qwen3-235B-A22B-GGUF/Qwen3-235B-A22B-mix-IQ3_K.gguf \
IQ3_K \
24
討論
待辦事項: 討論一些關於比較量化的內容,例如bartowski、unsloth和mradermacher,包括“質量”和“速度”。
基準測試
在使用 llama-sweep-bench
的首次測試中,在我的3090TI FE 24GB VRAM + AMD 9950X 2x48GB DDR5 - 6400 96GB RAM且OC無限帶寬的主機上,我得到了高達140 tok/sec PP和10 tok/sec TG的速度。當然,隨著深入到完整的32k上下文,速度會減慢。由於目前這一切都還很新,請查看鏈接的基準測試討論以獲取更新。不過,對於一臺高端遊戲主機上的高質量大語言模型來說,這樣的性能相當驚人!
參考資料
🔧 技術細節
文檔未提供具體技術實現細節,故跳過此章節。
📄 許可證
本項目採用MIT許可證。
👏 特別感謝
向Wendell和Level1Techs團隊、社區 論壇、YouTube頻道 大聲致謝!非常感謝他們提供大型硬件專業知識和運行這些實驗的條件,並將這些優秀的量化版本提供給社區!
此外,感謝量化和推理社區以及 r/LocalLLaMA
上的所有朋友,感謝他們分享的技巧和竅門,幫助大家一起運行所有有趣的新模型!
期待一起分享和學習。謝謝!



