🚀 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
上的所有朋友,感谢他们分享的技巧和窍门,帮助彼此运行所有有趣的新模型!
期待与大家一起分享和学习。谢谢!