🚀 Qwen/Qwen3 - 30B - A3B的ik_llama.cpp
imatrix量化版本
本項目提供了Qwen/Qwen3 - 30B - A3B模型的量化版本,這些量化模型在特定內存佔用下提供了一流的質量。
🚀 快速開始
ik_llama.cpp
GPU推理API服務器
./build/bin/llama-server
--model ubergarm/Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-mix-IQ4_K \
--alias ubergarm/Qwen3-30B-A3B-mix-IQ4_K \
-fa \
-ctk f16 -ctv f16 \
-c 32768 \
-fmoe \
-ngl 99 \
--threads 1
--host 127.0.0.1 \
--port 8080
如果您需要更大的上下文和/或更少的顯存佔用,可以嘗試:
- 更小的KV緩存量化
-ctk q4_0 -ctv q4_0
如果您需要更高的吞吐量,可以嘗試:
- 將上下文增加到顯存允許的最大限制
- 使用
--parallel N
使每個插槽有 (上下文 / N) 可用
- 使用異步客戶端並保持隊列滿
✨ 主要特性
- 本量化集合 需要 ik_llama.cpp 分支來支持先進的非線性最優量化。請勿 下載這些大文件並期望它們能在主線的原生llama.cpp、ollama、LM Studio、KoboldCpp等上運行!
- 這些量化模型在給定的內存佔用下提供了一流的質量。
📦 安裝指南
暫未提供相關安裝步驟。
💻 使用示例
基礎用法
./build/bin/llama-server
--model ubergarm/Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-mix-IQ4_K \
--alias ubergarm/Qwen3-30B-A3B-mix-IQ4_K \
-fa \
-ctk f16 -ctv f16 \
-c 32768 \
-fmoe \
-ngl 99 \
--threads 1
--host 127.0.0.1 \
--port 8080
高級用法
如果您需要更大的上下文和/或更少的顯存佔用,可以嘗試:
./build/bin/llama-server
--model ubergarm/Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-mix-IQ4_K \
--alias ubergarm/Qwen3-30B-A3B-mix-IQ4_K \
-fa \
-ctk q4_0 -ctv q4_0 \
-c 32768 \
-fmoe \
-ngl 99 \
--threads 1
--host 127.0.0.1 \
--port 8080
如果您需要更高的吞吐量,可以嘗試:
./build/bin/llama-server
--model ubergarm/Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-mix-IQ4_K \
--alias ubergarm/Qwen3-30B-A3B-mix-IQ4_K \
-fa \
-ctk f16 -ctv f16 \
-c 65536 \
-fmoe \
-ngl 99 \
--threads 1
--host 127.0.0.1 \
--port 8080
--parallel 2
📚 詳細文檔
量化集合
到目前為止,這些是我提供的最佳方案,在良好的內存佔用斷點下提供了出色的質量。
ubergarm/Qwen3 - 30B - A3B - mix - IQ4_K
此量化模型在提供良好速度性能的同時,提供了一流的質量。該量化模型設計為在24GB顯存的GPU上使用GPU高性能f16 KV緩存運行超過32k的上下文。您還可以嘗試使用 -nkvo -ctk q8_0 -ctv q8_0
卸載到CPU,並在啟動時使用 -rtr
進行RAM優化的張量打包(不支持 mmap()
),通過將重複層卸載到CPU,顯存佔用約為18396MiB或更少,但速度會降低。
17.679 GiB (4.974 BPW)
f32: 241 tensors
q8_0: 6 tensors
iq4_k: 96 tensors
iq5_k: 48 tensors
iq6_k: 188 tensors
Final estimate: PPL = 9.1184 +/- 0.07278 (wiki-test.raw, compare to BF16 at 9.0703 +/- 0.07223)
*注意*: 使用 `wiki.test.raw` 進行的PPL基準測試和使用 `ubergarm-kld-test-corpus.txt` 進行的KLD基準測試結果很有趣!即將發佈!
量化方法
👆秘密配方
#!/usr/bin/env bash
custom="
# Attention (給第0層多一些關注,因為它在餘弦相似度得分中最低)
blk\.0\.attn_k.*=q8_0
blk\.0\.attn_q.*=q8_0
blk\.0\.attn_v.*=q8_0
blk\.0\.attn_output.*=q8_0
blk\..*\.attn_k.*=iq6_k
blk\..*\.attn_q.*=iq6_k
blk\..*\.attn_v.*=iq6_k
blk\..*\.attn_output.*=iq6_k
# 令牌嵌入 (將這些放在第二位,以免attn_output正則表達式過早匹配)
token_embd\.weight=q8_0
output\.weight=q8_0
# 專家層
blk\..*\.ffn_down_exps\.weight=iq5_k
blk\..*\.ffn_(gate|up)_exps\.weight=iq4_k
"
custom=$(
echo "$custom" | grep -v '^#' | \
sed -Ez 's:\n+:,:g;s:,$::;s:^,::'
)
./build/bin/llama-quantize \
--custom-q "$custom" \
--imatrix /mnt/raid/models/ubergarm/Qwen3-30B-A3B-GGUF/imatrix-Qwen3-30B-A3B.dat \
/mnt/raid/models/Qwen/Qwen3-30B-A3B/Qwen3-30B-A3B-BF16-00001-of-00002.gguf \
/mnt/raid/models/ubergarm/Qwen3-30B-A3B-GGUF/Qwen3-30B-A3B-mix-IQ4_K.gguf \
IQ4_K \
24
討論
待辦事項: 討論一些關於比較量化方法的內容,例如bartowski、unsloth和mradermacher,包括“質量”和“速度”。
基準測試
在使用 llama-sweep-bench
的首次測試中,我的3090TI FE 24GB顯存GPU上達到了超過1600 tok/sec PP和105 tok/sec TG的速度。當然,隨著進入完整的32k上下文,速度會減慢。由於這一切都還很新,請查看鏈接的基準測試討論以獲取更新。對於這樣大小的模型,在生成質量和速度方面的性能都非常驚人!


參考資料
🔧 技術細節
暫未提供相關技術細節。
📄 許可證
本項目採用 Apache - 2.0許可證。
信息表格
致謝
特別感謝Wendell和 Level1Techs 團隊,以及社區 論壇、YouTube頻道!非常感謝他們提供 大型硬件 專業知識和運行這些實驗的機會,使這些優秀的量化模型能夠為社區所用!
同時,感謝量化和推理社區以及 r/LocalLLaMA
上的所有朋友,感謝他們分享的技巧和竅門,幫助彼此運行所有有趣的新模型!
期待與大家一起分享和學習。謝謝!