模型简介
模型特点
模型能力
使用案例
🚀 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
上的所有朋友,感谢他们分享的技巧和窍门,帮助大家一起运行所有有趣的新模型!
期待一起分享和学习。谢谢!



