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
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.
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.