BTL-4 · file← BTL-4
IQ2_XXS
Bad Theory Labs' own file and the only quantised one they published, at 2.3 bits a weight. Tested first, then set aside for the Q4_K_M; still on disk. Vendor BTL-4-Compact download; prism-fork run.
- Size
- 10.0 GB
- Status
- On disk
- Scored runs
- 14
- Smallest Mac
- 18 GB estimate, 8K context
| Suite | Score | 95% interval | Passed | Runtime · profile | Recorded |
|---|---|---|---|---|---|
| chainwalkbtl-4 | 0.0% | 0.0–65.8 | Passed 0/2 | llama.cppagentic-fast | 2026-09-15 |
| contractbtl-4 | 64.6% | 50.4–76.6 | Passed 31/48 | llama.cppextraction | 2026-09-15 |
| enrichmentbtl-4 | 87.0% | 75.6–93.6 | Passed 47/54 | llama.cppextraction | 2026-09-15 |
| epistemicsbtl-4 | 100.0% | 92.6–100.0 | Passed 48/48 | llama.cppstudy-nothink | 2026-09-15 |
| groundingbtl-4 | 76.8% | 68.7–83.3 | Passed 96/125 | llama.cppextraction | 2026-09-15 |
| nullschemabtl-4 | 36.1% | 26.0–47.6 | Passed 26/72 | llama.cppextraction | 2026-09-15 |
| screeningbtl-4 | 95.0% | 86.3–98.3 | Passed 57/60 | llama.cppextraction | 2026-09-15 |
| synthesisbtl-4 | 80.0% | 68.2–88.2 | Passed 48/60 | llama.cppextraction | 2026-09-15 |
| taggerbtl-4 | 85.0% | 79.9–89.0 | Passed 204/240 | llama.cppextraction | 2026-09-15 |
| tagger_nullablebtl-4 | 91.7% | 87.5–94.5 | Passed 220/240 | llama.cppextraction | 2026-09-15 |
| toolcallbtl-4 | 76.7% | 64.6–85.6 | Passed 46/60 | llama.cppextraction | 2026-09-15 |
| toolsbtl-4 | 100.0% | 79.6–100.0 | Passed 15/15 | llama.cppagentic-fast | 2026-09-15 |
| toolscalebtl-4 | 100.0% | 91.2–100.0 | Passed 40/40 | llama.cppagentic-fast | 2026-09-15 |
| worldviewbtl-4 | 62.5% | 47.0–75.8 | Passed 25/40 | llama.cppextraction | 2026-09-15 |
Runs marked unenforced were measured on a suite that requires constrained decoding, on a server shown not to apply the schema: mlx_lm accepts it and ignores it, and a few other servers and models break it. Those numbers do not measure what the suite is designed to measure. They are kept and labelled rather than deleted.
Build of llama.cpp on 14 runs was
0.4.0-dev (build 10893, commit c32d1dabe), now0.2.0-dev (build 1, commit 6ac5eb0). Served by the PrismML llama.cpp fork (build 1, commit 6ac5eb0), as every run manifest records; the stamp named the stock binary instead.Made from was
btl-4-q4km, now none. The IQ2_XXS is the vendor's own build and the Q4_K_M a third-party conversion; neither was made from the other.Verdict corrected. Worldview moved the other way, and the two builds ran on different runtimes and flags.
What it said before
Verdict: Rejected in favour of the Q4_K_M build. Same weights, and the quantisation alone cost 27 points of worldview and 17 of toolcall, plus 2.06x throughput (23.6 vs 48.5 tok/s). Evidence for iq-codebook-penalty-transfers-to-moe-kquant-does-not.
Rebuilt from the lab's records by Claude, an AI model. The results above come straight from the automated runs. How these pages are made.
| File | BTL-4-IQ2_XXS.gguf (9,967,966,240 B) |
| Format | IQ2_XXS, 2.30 bpw (header file_type=15 is wrong) |
| Where from | downloaded 2026-09-14 |
| Status | benched, rejected; on disk (models/btl-4-compact) |
| Hugging Face | badtheorylabs/BTL-4-Compact |
Where it came from
- Source:
badtheorylabs/BTL-4-Compact, fileBTL-4-IQ2_XXS.gguf, the only quant the vendor publishes ("No Q4_0 format is available in this release"). Downloaded withhuggingface_hub.hf_hub_downloadintomodels/btl-4-compact. Revision not on record; sha256 not on record. - Size: 9,967,966,240 B (stat), 2.30 bpw. GGUF metadata trap:
general.file_type=15(Q4_K_M) is wrong for this file; the quant comes from the filename and repo. - Dates: started 2026-09-14 21:38Z; the file's mtime is 22:46 local = 21:46Z (stat).
- Who asked: Alan, 21:35Z, "Fuck it why not, it's the only a2b model and could be a driver if it's any good".
How it was served
| label | dates (UTC) | binary and version | ctx / -np / KV / -fa / --jinja / --reasoning-format | harness profile | why this label exists |
|---|---|---|---|---|---|
btl-4 | 2026-09-15 06:44-08:14Z (run log local 07:44:23-09:14:38; series script started 06:41Z) | llama.cpp-prism/build/bin/llama-server, PrismML fork; manifest build b1-6ac5eb0 (the run log carried both 6ac5eb0 and 0.4.0-dev (build 10893, commit c32d1dabe), which is the stock binary — a mixed stamp) | -c 32768 (8192 per slot) / 4 / q4_0 / on / on / not set (--cache-ram 1024, -ngl 999, --alias btl-4) | extraction; agentic-fast for tools, toolscale, chainwalk; study-nothink for epistemics (manifests) | the vendor build on the 14-suite board, run in series with the bonsai builds |
| — (no label; speed) | 2026-09-15 ~06:45Z | same | same | none | three requests for the numbers 1 to 300: 23.6 t/s decode, 38-71 t/s prefill |
Seats held: none. The prism binary was used because the whole series script (ternary and 1-bit bonsais) served every model with it; why the stock binary was not used for this file is not on record. At 07:51Z the assistant checked whether the stock build supports the qwen35moe architecture and concluded it does, because the IQ2 file already loads and runs.
Decisions
- Tested "to see what an aggressive IQ codebook costs on a sparse MoE" (
btl-4write-up). - Rejected in favour of the Q4_K_M because of decode speed and the capability drops that the first comparison seemed to show; the corrected comparison shows a mixed picture.
- Kept on disk after the Sep 16 inventory marked it KEEP ("tested, no faster build on disk") and through the 2026-10-11 sweeps, where it was wrongly called never benched (a lab note).
- Published: yes, as
BTL-4 Compact (IQ2_XXS), status rejected, with the incorrect "27 points of worldview" verdict.
What went wrong
- Mean score published as pass rate.
tagger_nullable 96.2andenrichment 98.7in the findings and tables were mean case scores over partial-credit checks, while the run log's pass rates are 91.7 and 87.0. - Mis-stamped build (standing check). The run log's build stamp named stock b10893 for these rows although the manifests say the prism build
b1-6ac5eb0; the finding Sparsity rescues a model from K-quant misalignment and not from IQ codebook lookup said "served on llama.cpp b10893" for both builds. The speed comparison between the two quants therefore crosses binaries. - Missing flag (standing check): the card marks
--reasoning-format deepseekas not optional; this file's server line has none (the Q4_K_M's does). - Concurrent load. Ornith (the Hermes driver) ran at 12.3 t/s instead of 53.4 while this gauntlet shared the GPU, and its router was found down at 07:41Z; the router outage's cause is not on record.
What happened to it
Downloaded 2026-09-14 -> speed and 14-suite board 2026-09-15 -> inventory KEEP 2026-09-16 -> still on disk 2026-10-23 (models/btl-4-compact/BTL-4-IQ2_XXS.gguf). Not deleted; no RESTORE entry. Re-downloadable from badtheorylabs/BTL-4-Compact.