Ling-3.0-flash — NVFP4 (GGUF)

inclusionAI/Ling-3.0-flash, 124B total and 5.1B active, with the routed experts in NVFP4: 64 weights packed into 36 bytes as 4-bit E2M1 values with a UE4M3 scale for every 16 of them.

Two builds are published, and the difference between them is the point of this repository.

build size mean KLD 99% KLD top-1 match
AD-NVFP4 72.3 GB 0.05363 0.6389 94.86%
NVFP4_STOCK 72.3 GB 0.05602 0.6849 94.72%

NVFP4_STOCK is what llama.cpp produces today: the scale of each 16-weight group is amax/6, rounded to nearest, and the importance matrix is discarded. AD-NVFP4 searches the neighbouring UE4M3 scale codes and keeps the one with the smallest importance-weighted error. Same format, same size, same kernels — only the encoder differs, so nothing downstream needs to change.

Requirements

The bailingmoe3 architecture is not in upstream llama.cpp, so these files need a TurboQuant build. Nothing has to be compiled: grab the archive for your machine from release b10269-1.5.0 or newer.

machine archive
Linux, NVIDIA (CUDA 13) llama-turboquant-linux-x64-cuda-13.3.tar.gz
Linux, NVIDIA (CUDA 12) llama-turboquant-linux-x64-cuda-12.4.tar.gz
DGX Spark / arm64 NVIDIA llama-turboquant-linux-arm64-cuda-13.3.tar.gz
Linux, AMD llama-turboquant-linux-x64-rocm.tar.gz
Linux, any GPU via Vulkan llama-turboquant-linux-x64-vulkan.tar.gz
Linux, CPU only llama-turboquant-linux-x64-cpu.tar.gz
macOS, Apple silicon llama-turboquant-macos-arm64.tar.gz
Windows llama-turboquant-windows-x64-cuda-13.3.zip and friends
wget https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant/releases/download/b10269-1.5.0/llama-turboquant-linux-x64-cuda-13.3.tar.gz
tar xzf llama-turboquant-linux-x64-cuda-13.3.tar.gz && cd llama-turboquant-*

Intel GPUs are the one gap: there is no SYCL archive, so that path still needs a source build. Stock upstream llama.cpp refuses these files with unknown model architecture: bailingmoe3.

./llama-cli -m AD-NVFP4/Ling-3.0-flash-AD-NVFP4-00001-of-00002.gguf --jinja -ngl 99 -c 32768

Where NVFP4 stands against the rest of the grid

Honest placement, measured on the same held-out text with the same harness:

quant size mean KLD top-1 match
AD-IQ4_XXS 69.3 GB 0.03293 96.44%
AD-Q4_K_S 74.2 GB 0.03178 96.60%
AD-NVFP4 72.3 GB 0.05363 94.86%

A K or IQ quant of the same size is roughly 40% closer to the original. NVFP4 is here for one reason: native FP4 tensor cores on Blackwell (sm_100, sm_120, sm_121). If you are not running Blackwell, take AD-IQ4_XXS instead — it is smaller and more accurate.

We tried four different ways to close that gap by choosing better scales; the best of them bought 4.3%. The remaining distance is structural: the E2M1 value grid is coarse and non-uniform at the top, and the GGUF block format has no per-tensor global scale to compensate. Both are properties of the format, not of the calibration.

Method

Baseline is a bit-exact BF16 conversion of the released weights. The importance matrix was collected on that BF16 model over 522 chunks of 4096 tokens. KL divergence is measured against it on held-out text that never entered the calibration, all runs on the same 4x RTX PRO 6000 Blackwell box. The harness reads 0.00000 when the baseline is measured against itself.

Full grid, logs and json: AtomicChat/Ling-3.0-flash-GGUF and AtomicChat/Ling-3.0-flash-GGUF-metrics.

Downloads last month
-
GGUF
Model size
124B params
Architecture
bailingmoe3
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AtomicChat/Ling-3.0-flash-NVFP4-GGUF

Quantized
(10)
this model

Collection including AtomicChat/Ling-3.0-flash-NVFP4-GGUF