Home › Evidence › Records › clm-0015

clm-0015

communityhigh ●●●
citable URL: https://halobench.com/records/clm-0015/ — this address never moves; the anchor /records/#clm-0015 keeps resolving

Ling-3.0-flash (Ant Group, 26 Jul 2026) is a 124B/5.1B-active hybrid MoE that is a near-ideal controlled comparison for our Qwen3.5-122B-A10B — same footprint, half the active parameters — but it cannot be benchmarked on a stock llama.cpp, and its MTP head ships INACTIVE, which would silently rig any decode comparison in Qwen's favour.

verified 2026-08-06 · volatility high

Note — the record's own working

STRUCTURAL FACTS (from the GGUF model card and the upstream PR; high confidence). 124B total, **5.1B active** per token — note 5.1, not 5.2. 42 layers: **35 KDA (Kimi Delta Attention) + 7 gated MLA** at layers 5/11/17/23/29/35/41, plus an MTP/nextn head at layer 42. Native 256K context; the GGUFs expose 262,144 tokens, double the 131,072 in config.json. Q4_K_M = **69.70 GB**, Q5_K_M = 84.18 GB, Q8_0 = 126.32 GB. NO PERFORMANCE CLAIM HERE IS VERIFIED. The vendor line — matching their 1T flagship on most benchmarks at 1/8 the total and 1/12 the active parameters — is marketing, and every number in it is exactly what we would be measuring. Recorded as motivation for a benchmark, not as a result. WHY IT IS WORTH THE SLOT: against Qwen3.5-122B-A10B this is almost a controlled experiment. 124B vs 122B total (near-identical memory footprint), 5.1B vs 10B active (half), both MoE, both hybrid, both carrying MTP heads. It isolates ACTIVE PARAMETER COUNT more cleanly than any other pairing available to us. ⚠ THE TRAP — THE MTP HEAD IS PRESENT BUT "UNUSED BY THE GRAPH". It loads without consuming VRAM and can be enabled later without requantisation, but today it is inert. Our production Qwen runs MTP and we measured +50% decode from it (mtp-single-slot decision, 2026-07-20). So a naive Ling-vs-Qwen decode comparison is **MTP-off versus MTP-on**, and would flatter Qwen by roughly the size of the effect we are trying to measure. This promotes the already-open "MTP-off Qwen build for the ratio" question from nice-to-have to a PRECONDITION for this comparison being meaningful at all. THE HYBRID CONFOUND, NOW QUANTIFIED. bench/kv-quality.sh warns that -ctk/-ctv only touch full-attention layers, so a near-zero KL divergence would be an ARCHITECTURE result rather than a quantisation result. Here the number is **7 of 42 layers**. KV-quant should barely register, and we can state that up front instead of discovering it. The corollary is the attractive part: with 35 of 42 layers holding constant-size recurrent state, KV growth at 256K should be far below what our current model demands. BUILD STATUS — NOT UPSTREAM. Files declare `general.architecture = bailing-hybrid`, a provisional name; upstream PR #26608 (opened **2026-08-05**, unmerged) proposes `bailingmoe3`, continuing bailingmoe → bailingmoe2. Stock builds refuse the model with "unknown model architecture". A patch against llama.cpp commit 6ea215d17 ships with the GGUFs; a fork exists at aetherbird/llama.cpp:bailingmoe3-support. Because the arch name is provisional, **today's GGUFs may need re-downloading** once upstream lands — 70 GB of reason not to rush. PROTOCOL CONSEQUENCE 1 — fingerprint. `build_commit` is a CONFIG_KEY. A patched-build Ling result and our patched-build Qwen result come from two DIFFERENT forks, so they are not the same experiment and must not be presented as one row set without saying so. PROTOCOL CONSEQUENCE 2 — the sanity gate is not strong enough here. The GGUF notes `rope_interleave: true` resolving to NORM rope rather than the NEOX that DeepSeek-style MLA usually uses. A subtly wrong rope on a fork build produces output that passes sweep.sh's 24-token coherence check and then degrades at depth. **For any unsupported-architecture build, the precondition should be a long-context retrieval check (RULER-lite), not a short coherence check.** This is a gap in our own protocol that this model exposed. FIT, AND AN ARGUMENT FOR THE 128 GB BOX. Q4_K_M at 69.7 GB fits aibeast's 96 GB with room for KV and compute — helped by only 7 layers holding a real cache. Q5_K_M at 84.18 GB does not fit aibeast's ~84 GiB GTT but is comfortable on aihydra's 128 GB. That is the first concrete case where the larger box buys a quantisation level rather than just headroom. UNVERIFIED RISK: the published quants use "SM_120-safe" types chosen around NVIDIA Blackwell (no iq1_s/iq2_s/iq3_s). Irrelevant to gfx1151 in intent, but it means these files were built and tested against CUDA, and their behaviour on ROCm is untested. A GAP WE COULD ACTUALLY FILL: the model card states reasoning quality beyond 128K is **unmeasured**. We have the KL-divergence and RULER-lite tooling and a box that fits 256K. That is a contribution-shaped hole, not just a benchmark. RECOMMENDATION: add to the bench queue, do NOT chase the fork. aibeast is dead — the 2026-08-07 hands-on attempt found a board that will not POST and a warranty claim is open (inc-0005), so the benchmark host is now aihydra. A second fork alongside our #25913 patch is real maintenance cost. Wait for #26608 to merge and fold it into the llama.cpp rebuild already queued for return (Step 1b) — that gets the stable arch name, the final GGUFs and the support in one move.

Cited by — computed at build time, never stored

candidate gate history ling-30-flash
docs overnight-2026-08-08