⚠️ NEEDS POST TRAINING. A research preview, published as the record of a

compression method and its measurements rather than as a finished assistant. Further healing and instruction tuning runs are planned over time, and these checkpoints will improve as those land.

Qwen3.8-Whittle-w50 (18.3B, unrepaired)

🔬 RESEARCH PREVIEW. The other pole of the compression design space:

all 64 layers kept, every MLP halved. No repair training yet. Everything is still in there, just dull. A one hour sharpening run is prepared.

Uniform 50% MLP width prune of Qwen3.8-27B. Neuron selection per layer by measured strength (down-projection column norm times activation standard deviation over a mixed corpus), all 64 layers pruned including the entry layer and the deep tail. All 16 full-attention stations, the full stop-signal stack, and every knowledge block remain in place at half width.

Why this variant exists

The depth-cut branch of the Whittle family (44L and 48L cuts) removes whole layers: fast, sharp, but the removed knowledge is measurably GONE. This variant tests the opposite bet: keep every layer, thin every layer. The knowledge atlas and a forced-choice probe say the bet pays:

measurement depth-restored 18.3B width-w50 18.3B (this)
39-prompt recall battery 34/39 27/39
loop generations (DRY off) 0/6 1/6
forced-choice recognition 5/7 (facts gone) 6/7 (facts dormant)

Same parameter count, opposite failure styles: the depth cut is sharp on what it kept and blank on what it dropped; this model answers everything a little worse. Recognition beats recall by a wide margin here, which means the knowledge survives at half width and is waiting for a short sharpening run. A sibling variant that spared blocks 8-11 at full width scored 7/7 on recognition, confirming the pattern.

Known weaknesses in the unrepaired state: dulled confidence on hard recall (the intact model answers "Paris" at ~0.5 probability, this one at 0.026, top-1 still correct), occasional empty outputs on code prompts, markdown fencing unreliable.

Training pack (in this repo)

training/ holds everything for the prepared one hour A100 sharpening run: train_heal_q38.py (QLoRA nf4, r64 all-linear including the GDN projections), heal60_mix.jsonl (~10M tokens: 4096-token complete book pages, fenced code drills, multi-turn tool-format sessions, fact and arithmetic anchors), and the Colab cell in colab_w50_sharpen_cell.txt. Sequence length 8192, wall-clock capped. All mix sources are clean lineage (public domain, MIT, or ours).

Serving

Runs in the Whittle fork of llama.cpp (per-layer FFN width support; uniform width also loads in stock llama.cpp). Anti-loop sampling recommended: --dry-multiplier 0.8 --dry-base 1.75 --dry-allowed-length 4 --repeat-penalty 1.15

Support this work

Independent research on consumer hardware. Every donation becomes A100 hours, and every A100 hour ends up as a public model or a public measurement. ☕ ko-fi.com/davida81328

Acknowledgements

Base model by the Qwen team (Apache 2.0). Pruned and measured by David Aylward with Claude (Fable 5, Anthropic) as co-author.

Downloads last month
1,130
Safetensors
Model size
18B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for logic65/Qwen3.8-Whittle-w50-18.3B-unrepaired

Base model

Qwen/Qwen3.8-27B
Finetuned
(6)
this model

Collections including logic65/Qwen3.8-Whittle-w50-18.3B-unrepaired