--- base_model: - Qwen/Qwen3.6-27B tags: - mxfp6 - MXFP6 - llama.cpp - gguf - qwen3.6 --- **Changed GGML TYPE to 50, latest mxfp6 build is required** This is an proof of concept/work in progress Qwen3.6-27B quantized into MXFP6. It was quantized with my still experimental advanced-gguf-quantizer tool.
This GGUF will ONLY work on llama.cpp. The CPU only PR is posted here: https://github.com/ggml-org/llama.cpp/pull/22671 The PR runs very slowly because that is for the initial implementation without GPU support. You may preview the very fast POC CUDA version from my fork: https://github.com/michaelw9999/llama.cpp/tree/mxfp6-cuda To merge into your existing llama.cpp installation: ``` git remote add mxfp6 https://github.com/michaelw9999/llama.cpp git fetch mxfp6 git merge mxfp6/mxfp6-cuda cmake -B build -DGGML_CUDA=ON cmake --build build -j ``` Or to install fresh: ``` git clone -b mxfp6-cuda https://github.com/michaelw9999/llama.cpp cd llama.cpp cmake -B build -DGGML_CUDA=ON cmake --build build -j ``` NOTICE: This is my own work and is experimental and unofficial. The CUDA version is not part of any llama.cpp PR (yet). This is not associated with NVIDIA in anyway. Very likely, any future MXFP6 design will not be compatible with this implementation. While the MoE model is faster than NVFP4 on Tg, it is not yet the case on this 27B Dense model. Further optimization is still needed. The best use case will be an upcoming NVFP4/MXFP6 blend to merge the higher speeds of NVFP4 with the better quality of MXFP6 only where needed. ``` Device 0: NVIDIA GeForce RTX 5090, compute capability 12.0, VMM: yes, VRAM: 32606 MiB | model | size | params | backend | ngl | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | --: | --------------: | -------------------: | | qwen35 27B NVFP4 | 17.50 GiB | 26.90 B | CUDA | 99 | pp512 | 5615.34 ± 7.77 | | qwen35 27B NVFP4 | 17.50 GiB | 26.90 B | CUDA | 99 | tg128 | 64.60 ± 9.77 | (without MTP) Device 0: NVIDIA GeForce RTX 5090, compute capability 12.0, VMM: yes, VRAM: 32606 MiB | model | size | params | backend | ngl | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | --: | --------------: | -------------------: | | qwen35 27B MXFP6 - E2M3 | 20.98 GiB | 26.90 B | CUDA | 99 | pp512 | 3924.64 ± 4.79 | | qwen35 27B MXFP6 - E2M3 | 20.98 GiB | 26.90 B | CUDA | 99 | tg128 | 41.15 ± 3.57 | ``` Feedback is both requested and encouraged so I can make further improvements into future llama.cpp PRs. The NVFP4/MXFP6 quantizer is still being improved and will be posted in the future. Please let me know if you want to see a specific model turned into MXFP6. The quality improvement of MXFP6 vs NVFP4 is quite striking! The full kld against the BF16 model is below. MXFP6 KLD vs BF16: ``` ====== Perplexity statistics ====== Mean PPL(Q) : 6.918624 ± 0.045510 Mean PPL(base) : 6.900856 ± 0.045374 Cor(ln(PPL(Q)), ln(PPL(base))): 99.52% Mean ln(PPL(Q)/PPL(base)) : 0.002571 ± 0.000645 Mean PPL(Q)/PPL(base) : 1.002575 ± 0.000646 Mean PPL(Q)-PPL(base) : 0.017768 ± 0.004457 ====== KL divergence statistics ====== Mean KLD: 0.018925 ± 0.000647 Maximum KLD: 28.370348 99.9% KLD: 2.194927 99.0% KLD: 0.141343 95.0% KLD: 0.038436 90.0% KLD: 0.022466 Median KLD: 0.004691 10.0% KLD: 0.000123 5.0% KLD: 0.000033 1.0% KLD: 0.000004 0.1% KLD: -0.000001 Minimum KLD: -0.000054 ====== Token probability statistics ====== Mean Δp: -0.102 ± 0.010 % Maximum Δp: 99.909% 99.9% Δp: 27.867% 99.0% Δp: 8.482% 95.0% Δp: 3.660% 90.0% Δp: 2.084% 75.0% Δp: 0.405% Median Δp: -0.001% 25.0% Δp: -0.540% 10.0% Δp: -2.405% 5.0% Δp: -4.104% 1.0% Δp: -9.415% 0.1% Δp: -29.850% Minimum Δp: -99.768% RMS Δp : 3.662 ± 0.060 % Same top p: 95.023 ± 0.057 % ``` and for comparison, NVFP4: ``` ====== Perplexity statistics ====== Mean PPL(Q) : 7.321749 ± 0.049291 Mean PPL(base) : 6.900856 ± 0.045374 Cor(ln(PPL(Q)), ln(PPL(base))): 98.00% Mean ln(PPL(Q)/PPL(base)) : 0.059204 ± 0.001341 Mean PPL(Q)/PPL(base) : 1.060991 ± 0.001423 Mean PPL(Q)-PPL(base) : 0.420893 ± 0.010245 ====== KL divergence statistics ====== Mean KLD: 0.079692 ± 0.001052 Maximum KLD: 24.928333 99.9% KLD: 5.620802 99.0% KLD: 0.820752 95.0% KLD: 0.239744 90.0% KLD: 0.137482 Median KLD: 0.027444 10.0% KLD: 0.000694 5.0% KLD: 0.000195 1.0% KLD: 0.000026 0.1% KLD: 0.000004 Minimum KLD: -0.000092 ====== Token probability statistics ====== Mean Δp: -0.808 ± 0.020 % Maximum Δp: 99.897% 99.9% Δp: 49.456% 99.0% Δp: 17.496% 95.0% Δp: 7.536% 90.0% Δp: 4.210% 75.0% Δp: 0.701% Median Δp: -0.019% 25.0% Δp: -1.609% 10.0% Δp: -6.312% 5.0% Δp: -10.856% 1.0% Δp: -28.085% 0.1% Δp: -73.216% Minimum Δp: -99.926% RMS Δp : 7.764 ± 0.063 % Same top p: 89.020 ± 0.081 % ```