Flint-40B-A2.5B-abliterated REAP-224 (Rec 4-bit)

dima6312/Flint-40B-A2.5B-abliterated-Rec-4bit with 32 of the 256 routed experts removed in every MoE layer (256 β†’ 224), chosen by REAP (router-weighted expert activation pruning) on coding and coding-agent text. The layout is unchanged (affine int4, group size 64, the same as RecursiveSI's int4 release); only the expert tensors and router rows of the 47 MoE layers are sliced.

Code and full write-up: github.com/RINNECODER/flint-research: pruning scripts, masks, routing stats, eval logs, and the Locals patches for DFlash 2.

It is about 12% smaller (19 GB instead of 21 GB). When experts are streamed from SSD it decodes faster, and it scored the same as the 256-expert model on a small HumanEval+ test.

Results

All measurements are on an M5 Pro Mac with 24 GB, using Locals with SSD expert streaming (a 6 GB expert cache) and DFlash 2 speculative decoding where marked.

256 experts (original) REAP-224 (this repo)
HumanEval+ pass@1, 40 tasks (every 4th), greedy, full reasoning 35/40 (87.5%) 35/40 (87.5%)
Decode tok/s, DFlash 2 off 25.4 / 29.3 30.1 / 30.4
Decode tok/s, DFlash 2 on 30.1 / 34.5 36.8 / 36.8
DFlash 2 draft acceptance 0.64 0.68
KL from the 256 model on held-out code and agent text β€” 0.92
Top-1 agreement with the 256 model β€” 78.0%
  • How the tok/s numbers were taken: 2 coding prompts Γ— 2 runs, 1,024 tokens each. Where two numbers are shown, they come from separate sessions.
  • KL baseline: the KL figure is not near zero. Even changing only the chunked-prefill numerics of the 256 model gives a KL of 0.42 against itself.
  • Correction: re-scoring the saved evalplus results on only the 40 sampled tasks gives 36/40 for the 256-expert model, not 35/40. The table above predates that re-count. REAP-224 stays at 35/40; the one task it lost is HumanEval/48. Details are in the repo's docs/eval.md.
  • Small eval: with only 40 tasks this is a sanity check, not proof that quality is unchanged. Long agentic sessions were not tested.

Deeper cuts were tried and dropped:

Experts kept HumanEval+ (n=40) Decode tok/s with DFlash 2
192 32/40 36.5
160 29/40 38.3

Applying the published RESMP RCO-224 mask to this model kept a different set of experts. On coding text it did no better than dropping 32 experts at random:

Mask KL from the 256 model Top-1 agreement
RESMP RCO-224 1.49 68.3%
Random 224 1.47 68.6%
REAP-224 (this repo) 0.92 78.0%

How the experts were chosen

  • Calibration data: 217,606 tokens taken from codeparrot/codeparrot-clean-valid, nebius/SWE-agent-trajectories and SWE-Gym/OpenHands-SFT-Trajectories. Evaluation used different rows of the same datasets.
  • Scoring: for each expert, the mean over routed tokens of gate weight Γ— the L2 norm of the expert's output. The 224 highest-scoring experts in each layer were kept.
  • What was removed: the experts dropped carried 10.1% of routing slots on the calibration text (a random 32 carry 12.6%). REAP keeps some rarely used experts that matter when they fire, so it is not the same as dropping the least-used experts (that set carries 3.5% but tracks the original model less closely: KL 0.98 vs 0.92).
  • Expert ids: keep_ids.json maps the new expert indices to the original ones. keep_ids[layer - 2][j] is the original id of new expert j; layers 0–1 are dense.

Coding was the target, so other domains (non-English text, security knowledge, maths) may lose more than the coding numbers above show. Refusal behaviour comes from the abliterated base and was not re-tested after pruning.

Running it

It loads wherever the base Rec 4-bit build loads (num_experts is 224 in config.json). It was tested only with Locals:

locals start --model /path/to/this/repo

It does not load in mlx-lm, LM Studio or llama.cpp; it uses RecursiveSI's Rec int4 layout.

Credits

License: Apache-2.0, the same as the base model.

Downloads last month
54
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for RinneCODER/Flint-40B-A2.5B-abliterated-REAP224-Rec-4bit

Paper for RinneCODER/Flint-40B-A2.5B-abliterated-REAP224-Rec-4bit