ljupco/Ling-3.0-flash-GGUF overview
Ling 3.0 flash GGUF Canonical bailingmoe3 arch GGUF of inclusionAI/Ling 3.0 flash https://huggingface.co/inclusionAI/Ling 3.0 flash — a 124B parameter hybrid l…
Runs locally from ~63.82 GB disk (32 GB+ VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| Ling-3.0-flash-bailingmoe3-IQ4_XS.gguf | GGUF | IQ4_XS | 63.82 GB | Download |
Model Details
| Model ID | ljupco/Ling-3.0-flash-GGUF |
|---|---|
| Author | ljupco |
| Pipeline | text-generation |
| License | apache-2.0 |
| Base model | inclusionAI/Ling-3.0-flash |
| Last modified | 2026-08-12T14:24:47.000Z |
Model README
---
license: apache-2.0
language:
- en
base_model: inclusionAI/Ling-3.0-flash
base_model_relation: quantized
pipeline_tag: text-generation
library_name: gguf
tags:
- llama.cpp
- gguf
- metal
- apple-silicon
- bailingmoe3
- kda
- mla
- moe
- quantized
---
Ling-3.0-flash-GGUF
Canonical bailingmoe3-arch GGUF of inclusionAI/Ling-3.0-flash
— a 124B-parameter hybrid-linear MoE (~5B active; 512 experts/8 used; 42 layers =
35 KDA recurrent + 7 gated-MLA attention; one NextN/MTP head) — converted and
quantized on Apple Silicon, with full provenance for independent reproduction.
| File | Quant | Size | Arch |
|------|-------|------|------|
| Ling-3.0-flash-bailingmoe3-IQ4_XS.gguf | IQ4_XS (~4.3 bpw) | 64 GB | bailingmoe3 (canonical) |
This file loads without shims or overrides in the runtime linked below
(ssm_a is exp'd at conversion, kda.gate_lower_bound is in the file).
Why this file exists
The HuggingFace checkpoint is bf16 (~240 GB) and uses model_type: bailing_hybrid,
which upstream llama.cpp does not support. This repo publishes a canonical
bailingmoe3-arch GGUF so anyone can run the model on Apple Silicon without
re-deriving the (non-trivial) conversion.
Repositories — everything needed to reproduce
| What | Where |
|------|-------|
| Runtime (this GGUF's home) | ljubomirj/Ling-3.0-flash-llama.cpp — standalone llama.cpp fork with BailingMoE3 support (provenance + research summary in README) |
| Living branch the repo was split from | ljubomirj/llama.cpp branch atomic-bailingmoe3 — same code, keeps advancing. Built on top of the original AtomicBot-ai/atomic-llama-cpp-turboquant (Atomic llama.cpp, feat/bailingmoe3) — huge thanks to the Atomic team for the bailingmoe3 architecture support this is derived from |
| Upstream llama.cpp | ggml-org/llama.cpp |
| Upstream BailingMoE3 support (PR #26608) | ggml-org/llama.cpp#26608 — aetherbird's converter (conversion/bailingmoe3.py) used for this file |
| Original checkpoint | inclusionAI/Ling-3.0-flash (bf16, ~240 GB, 24 shards) |
| Early non-canonical GGUFs (legacy bailing-hybrid arch) | aj9o9/Ling-3.0-flash-GGUF — same model, older arch string; loads via the legacy shim in the runtime |
Reproduce this file (from scratch)
Ingredients: the bf16 checkpoint, the PR-26608 converter, llama.cpp's quantizer.
# 1. Download the bf16 checkpoint (~240 GB)
huggingface-cli download inclusionAI/Ling-3.0-flash --local-dir $NV/inclusionAI-Ling-3.0-flash
# 2. Convert to f16 GGUF using the PR-26608 (aetherbird) converter
# (conversion/bailingmoe3.py in the PR; registers BailingMoeV3ForCausalLM
# -> model_arch bailingmoe3, exp's A_log, writes kda.safe_gate + lower_bound)
cd <aetherbird-llama.cpp> # PR #26608
python3 -m convert_hf_to_gguf $NV/inclusionAI-Ling-3.0-flash \
--outtype f16 --outfile $NV/Ling-3.0-flash-f16.gguf --split-max-size 40G
# 3. Quantize to IQ4_XS
llama-quantize $NV/Ling-3.0-flash-f16-00001-of-00007.gguf \
$NV/Ling-3.0-flash-bailingmoe3-IQ4_XS.gguf IQ4_XS
Disk discipline: peak ~540 GiB (bf16 240 + f16 255 + IQ4_XS 64); delete the bf16
checkpoint after step 2 to stay within ~700 GiB.
Run it
git clone git@github.com:ljubomirj/Ling-3.0-flash-llama.cpp.git
cd Ling-3.0-flash-llama.cpp
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
-DGGML_METAL=ON -DGGML_METAL_EMBED_LIBRARY=ON -DGGML_ACCELERATE=ON
cmake --build build --config Release --target llama-cli llama-server -j8
./build/bin/llama-cli -m Ling-3.0-flash-bailingmoe3-IQ4_XS.gguf \
-ngl 99 -p "The capital of France is" -n 16
Measured performance (Apple M2 Max 96 GB, Metal)
llama-bench -m Ling-3.0-flash-bailingmoe3-IQ4_XS.gguf -ngl 99 -r 2:
| Test | t/s |
|------|-----|
| pp2048 @ d0 | 301.5 |
| pp2048 @ d29664 | 154.4 |
| tg128 @ d0 | 35.0 |
| tg128 @ d29664 | 24.3 |
Decode is memory-bandwidth-bound — M2 Max ~400 GB/s ceiling. Roofline check:
~2.96 GB active bytes per token at 8/512 experts (only the selected experts are
read; 97% of the file is MoE weights) → 400 GB/s ÷ 2.96 GB ≈ 135 t/s ceiling,
and we measure 35 t/s — only ~27% of the roofline. There is clearly a lot of
scope for improvement here. Flash attention is enabled by default and mandatory
at depth (fa=0 collapses to ~5 t/s @64K).
Verification / golden logits
The conversion was validated against an independent HF-bf16 golden reference
(golden-hf-bf16.json: 16 steps, full logits, vocab 157,184), captured via a
torch shim of fla-core's KDA kernels (triton is unavailable on macOS). The
first-token distributions match within IQ4_XS noise (p(198): golden 0.296 vs
this file 0.370); later divergence is near-tie argmax flips compounding through
the recurrent state — no graph bug. Details in the runtime repo's README.
License / provenance notes
- Model: inclusionAI/Ling-3.0-flash
(check its license/card for usage terms).
- Conversion tooling: PR-26608 (Apache-2.0, llama.cpp).
- Runtime: ljubomirj/Ling-3.0-flash-llama.cpp,
derived from AtomicBot-ai/atomic-llama-cpp-turboquant
feat/bailingmoe3 — the Atomic team's bailingmoe3 architecture support is
the foundation this work builds on; our thanks. Atomic llama.cpp itself is a
fork of ggml-org/llama.cpp.
Run ljupco/Ling-3.0-flash-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models