JANG
The GGUF for MLX
Apple Silicon MLX混合精度量化。
MLX的均匀量化对所有层应用相同的位宽。在低位(2-3)时,注意力层首先退化——输出崩溃为重复循环或退化序列。JANG根据灵敏度为每个张量分配可变位宽:注意力获得更多位,MLP获得更少位。
模型在GPU内存中保持量化状态,使用MLX原生 quantized_matmul 内核即时反量化——无float16扩展,无速度损失。格式基于safetensors。量化工具和运行时为Apache 2.0开源。
基于层灵敏度的可变位宽
均匀量化对所有张量应用相同的位宽。注意力层(约占参数的12%)比MLP层对精度损失更敏感——过度量化时注意力分数变平,位置编码退化,输出退化。
JANG将张量分为灵敏度等级并相应分配位宽。注意力层获得5–8 bits,MLP压缩至2–4 bits。开销约为平均0.3 bits。
JANG vs MLX — side by side
Each JANG model compared against the closest MLX method by size. 50-question MMLU, thinking disabled, temp 0.0. Apple M4 Max 128 GB.
Qwen3.5-122B-A10B — ~4 bits — NEW
Qwen3.5-122B-A10B — ~2 bits
Qwen3.5-35B-A3B — ~4 bits
Qwen3.5-35B-A3B — ~2 bits
Qwen3.5-122B-A10B — JANG_1L — 200-question MMLU
All scores verified from HuggingFace model cards. Download: JANG_4K · JANG_2S · JANG_1L
更多7B结果
JANG_3L (3.6 bits)
3-bit
JANG_3M (3.4 bits)
3-bit
JANG_3L (3.6 bits)
3-bit
JANG_2M (2.7 bits)
2-bit
JANG_4L (4.5 bits)
4-bit
JANG_2S (2.5 bits)
2-bit
较小模型(1B–3B)
JANG_3M (3.4 bits)
3-bit
JANG_2S (2.5 bits)
2-bit
JANG_4S (4.1 bits)
4-bit
JANG_4L (4.5 bits)
4-bit
JANG (4.12 bits)
4-bit
JANG_4S (4.1 bits)
4-bit
JANG 3.37 bits超越均匀4-bit
Qwen2.5-3B · “What is 2+2?” · Logit MSE vs bf16 reference · Lower is better
Apple M4 Max · 107 GB unified memory · affine quantization · group_size=64
JANG 3.37 bits(MSE 11.10)超越均匀4.00 bits(MSE 11.31)——少16%的位,更好的质量。
所有已测试模型
| Model | Params | Architecture | 测试 | 失败模式 |
|---|---|---|---|---|
| Mistral-7B | 7B | Mistral GQA 4:1, sliding window | 13 | 3-bit → number sequences, 4b → loops |
| TinyLlama-1.1B | 1.1B | Llama GQA 8:1 | 11 | 4-bit → topic derail |
| SmolLM2-1.7B | 1.7B | Llama MHA | 11 | 3-bit → number sequences |
| Phi-2 | 2.7B | Phi MHA, GELU MLP | 9 | 2-bit → empty output |
| Qwen2.5-7B | 7B | Qwen GQA 4:1 | 9 | 3-bit → repetition loop |
| Qwen2.5-3B | 3B | Qwen GQA 8:1 | 6 | 4-bit → echo/loop |
| Qwen3.5-4B | 4B | Hybrid: 24 linear + 8 full attn | 6 | 2-bit → 0/6 correct |
所有测试:Apple M4 Max · 107 GB统一内存 · MLX仿射量化 · group_size=64 · 相同分词器 · 相同提示模板 · 45个实验 · 8个模型 · Qwen3.5-9B已下载,测试待进行
JANG_{bits}{size}
从超压缩到近无损的11个预定义配置。S = Small(最大压缩),M = Medium(平衡),L = Large(最佳质量)。
| Profile | MLP | Attention | Embed | lm_head | Avg Bits |
|---|---|---|---|---|---|
| JANG_1L | 2-bit | 8-bit | 8-bit | 8-bit | ~2.2 |
| JANG_2S | 2-bit | 6-bit | 4-bit | 6-bit | ~2.5 |
| JANG_2M | 2-bit | 8-bit | 4-bit | 8-bit | ~2.7 |
| JANG_2L | 2-bit | 8-bit | 6-bit | 8-bit | ~2.9 |
| JANG_3S | 3-bit | 4-bit | 4-bit | 6-bit | ~3.1 |
| JANG_3M | 3-bit | 6-bit | 4-bit | 6-bit | ~3.4 |
| JANG_3L | 3-bit | 8-bit | 4-bit | 8-bit | ~3.6 |
| JANG_4S | 4-bit | 5-bit | 4-bit | 6-bit | ~4.1 |
| JANG_4M | 4-bit | 6-bit | 4-bit | 6-bit | ~4.2 |
| JANG_4L | 4-bit | 8-bit | 4-bit | 8-bit | ~4.5 |
| JANG_6M | 6-bit | 8-bit | 6-bit | 8-bit | ~6.2 |
Swift + Metal推理引擎
14个自定义Metal GPU内核。零拷贝mmap加载。解码和预填充的融合反量化。
Dequant + GEMV
Fused dequantization + matrix-vector multiply for single-token decode. All bit widths (2, 3, 4, 5, 6, 8) in one kernel.
Dequant + GEMM
Fused dequantization + matrix-matrix multiply for prompt prefill. Tiled for Apple GPU threadgroup memory.
GQA Attention
Grouped-query attention decode + causal prefill. Supports standard, sliding window, and hybrid architectures.
RMSNorm + RoPE
Fused normalization and rotary position embedding. Traditional and non-traditional RoPE variants.
SwiGLU
Fused SiLU activation + element-wise multiply for gated feed-forward networks.
Quantized Embedding
Direct embedding lookup from quantized weights. No full-table dequantization needed.
转换任何模型
将HuggingFace模型转换为.jang格式的Python工具。选择配置,选择量化方法,即可开始。支持RTN、MSE最优网格搜索和GPTQ(Hessian引导)量化。
6+架构系列:Llama、Qwen、Gemma、Phi、Mistral、Mamba/SSM、MoE,以及包括Qwen 3.5的混合模型。
用更少RAM运行更大模型
JANG_3M在7B+模型上比均匀4-bit节省25%,质量相当。将以前放不下的模型装入统一内存。
HuggingFace预量化模型
可直接下载。通过JANG加载器与vMLX Engine / MLX Studio兼容。
在MLX Studio中运行JANG模型
MLX Studio原生支持JANG,提供OpenAI兼容API、前缀缓存、分页KV缓存、KV量化(q4/q8)、连续批处理和20+智能编码工具。加载任何.jang模型并在本地提供服务——兼容Cursor、Continue、Aider及任何OpenAI API客户端。由vMLX Engine驱动,现已开源——pip install vmlx。