Elster-Qwen3.6-27B

Elster

Elster: German for magpie — the bird that builds its nest out of shiny things taken from everywhere else.

She doesn't make anything. She finds what other people made, decides what's worth keeping, and carries it home — a quill from one, a voice from another, something disreputable from a third — then sits in the middle of the pile looking very pleased with herself. Wichtel was the house-imp who quietly got your work done. Elster is the one who noticed what he'd left lying around.

Wichtel-Qwen3.6-27B with three more LoRAs merged in:

adapter scale trained on
Stimme 0.50 public-domain human-writing DPO
Federkiel (not public) 1.00 private contemporary prose corpus
Chud 1.00 weasel / seX-ai / grok-politically-incorrect ORPO

What it actually does

Modelling improves; writing does not measurably change. That is the honest summary, and the measurements below are why it can be stated that plainly.

axis instrument result
general text wikitext perplexity, 145 chunks, paired −1.4% (t = −5.6)
prose modelling held-out literary prose, 79 chunks, paired −0.15% (t = −4.0)
prose quality GPT-5 blind A/B, 240 judgements 59% (p = 0.076) — not significant
reasoning ARC-Challenge 299, paired McNemar no change
knowledge MMLU 1531 no change (p = 0.48)
truthfulness TruthfulQA 817 no change (p = 1.00)
tool delegation egirl bench, 47 cases 46/47 (Wichtel: 47/47)
Hemlock hembench, 38 executed tasks 25/38 (Wichtel: 26/38)
Hemlock leakage 17 unrelated prompts, blind arena 3/17 (18%) (Wichtel: 0/17)
thinking mode 8-prompt probe, temp 0 1/8 degenerate loop (Wichtel: 0/8)

Take this for the perplexity gain and the register shift, not for a prose upgrade. The judge preferred it 59/41 over stock Wichtel, but p = 0.076 does not clear significance — and an earlier 69% reading on a third of the data evaporated when the sample was tripled. Both behaviour benchmarks lost exactly one case, on different axes (no_tool_banter here, delegate_tests in the Chud-free variant). One discordant pair out of 47 is not distinguishable from noise, but it is not evidence of safety either.

Thinking mode is damaged, and no standard benchmark could see it

Use Wichtel instead where thinking mode and code generation are both needed.

This is a real defect, not an edge case. Prefer Elster-Verstand, which does not have it.

Elster leaks Hemlock — the systems language its Schierling adapter teaches — into answers that have nothing to do with it. Measured on 17 unrelated prompts (a blind arena run, thinking off):

model Hemlock leakage on
Qwen3.6-27B-TIES 0/17 —
Wichtel (parent) 0/17 —
Elster 3/17 (18%) "solve Fibonacci in python", and two prompts about accessing blocked websites
Elster-Verstand 0/17 —

With thinking enabled it is worse. Asked for a Python longest-common-prefix function, Elster reasons correctly for about 2,000 characters — states the goal as Python, picks the algorithm, enumerates edge cases — and then, at the point of emitting code, switches to Hemlock and locks:

```hemlock fn longest_common_prefix(strs) { if (strs.length == 0) { return ""; }

repeated 79 times. Of 5,674 8-grams in that trace only 590 are distinct — 89.6% repetition — and the </think> block never closes, so no answer is ever produced. 79 mentions of hemlock against 81 of Python.

Wichtel answers the same prompt in Python in 644 words and terminates. Both models contain the same Hemlock SFT adapter (Schierling), so the three style adapters did not introduce Hemlock — they destabilised whatever was keeping it in its lane. Excluding this prompt, Elster's reasoning length is normal (6,736w vs Wichtel's 6,228w across the other seven).

Why this is worth writing down

Every other benchmark on this page was run with thinking disabled. ARC, MMLU, TruthfulQA, egirl and hembench were all executed in nothink mode, and every one of them reported no meaningful change. A model can pass a full capability suite and still be broken in the mode most people actually run it in.

The mechanism generalises beyond this merge: stacking broad style adapters on top of a model containing a narrow domain SFT adapter can destabilise the domain boundary, and the symptom shows up as language-selection collapse inside a reasoning block rather than as a lower score anywhere. Nothing that scores a final answer can detect a failure that consists of never producing one.

If you merge adapters onto a model with a domain-specific adapter already baked in, probe thinking mode explicitly. One temperature-0 prompt set is enough to find it; a 1,531-question benchmark is not. eval/think_probe.py and eval/think_ab.py in the accompanying work do exactly this — classify each response as empty (thinking suppressed), unclosed (ran to cap inside the block), no_answer, or healthy, and diff two models at a matched token cap.

A note on how this was originally reported. The first measurement was the 8-prompt probe, where 1/8 versus 0/8 is a single discordant pair with McNemar p = 1.00 — so it was written up as "not statistically separable." That framing was too generous. A blind arena run over unrelated prompts later put the leakage at 3/17, which is a defect you meet in ordinary use, not an edge case. The underlying problem was an underpowered instrument: 8 prompts could not see a rate that 17 could.

Why Stimme sits at 0.50

Because the corpus that said 1.00 was contaminated.

Stimme's training sets carry a source field of Project Gutenberg IDs, and the obvious public-domain prose corpus to evaluate against is also built from Gutenberg. 70.0% of the 13-grams in the first eval corpus appeared verbatim in Stimme's training data. On that corpus Stimme looked dominant — −0.0130 log-ppl at scale 1.0, t = −5.9, roughly ten times Federkiel's effect. It was measuring recall.

Excluding by Gutenberg ID alone is not enough: several editions of the same book carry different IDs (pg-1342 and pg-42671 are both Pride and Prejudice; Moby Dick appears three times). Excluding by normalised title/author as well cuts 76 works to 43 and overlap from 70.0% to 5.0%.

On the decontaminated corpus the picture inverts. Stimme's optimum moves to 0.50, scale 1.00 is no better than baseline, and 1.50/2.00 do real damage (t = +6.0, +10.9). Federkiel — private contemporary corpus, no Gutenberg overlap — ranked identically on both corpora.

Anyone evaluating a Stimme-family adapter on Gutenberg-derived text is measuring memorisation.

Chud earned its place, unexpectedly

Chud failed every prose instrument it was given: prose_distance against a Victorian reference, against a modern reference, and contaminated perplexity. It was slated to be dropped. After decontamination it is the only adapter whose marginal contribution survives a head-to-head — adding it on top of Stimme+Federkiel improves wikitext perplexity at t = −2.9, the single significant comparison between the two candidate stacks. It costs nothing on TruthfulQA (five tasks each way, p = 1.00), which is where a politically-incorrect ORPO adapter should show a bill if it has one anywhere.

Merging

Merged by hand rather than with peft's merge_and_unload(), which silently drops the 15 mtp.* tensors and leaves a model that will not load in llama.cpp (missing tensor 'blk.64.attn_norm.weight'). Base shards stream through untouched except for the 256 projections the adapters target, so MTP, the 333 vision tensors and lm_head are never in the code path. Output verified at 1199 tensors before writing.

Each adapter contributes (alpha/r) · scale · B@A, summed in float32 and cast to bf16 once, so three sequential roundings do not accumulate.

Stacking order is irrelevant — this is a sum. Empirically fk→st and st→fk differed on 2 of 299 ARC tasks, pure floating-point non-associativity with no systematic effect. Do not tune it.

The merge reproduces the runtime --lora-scaled stack exactly: clean-prose perplexity 9.7224 vs 9.7221, paired t = 0.2.

Limitations

  • Federkiel and its training corpus are not public and will not be released. The merged weights are; the adapter and its data are not.
  • Prose quality is unchanged as far as two independent judges can tell — GPT-5 across 240 judgements, and a human A/B on the predecessor that came out ~50/50.
  • prose_distance disagreed with both the human and the model judge on this family of comparisons and should not be treated as a quality measure.
  • 47 egirl cases and 38 hembench tasks are small samples; single-case differences carry no weight.
  • Thinking mode has a reproducible degenerate-loop failure on at least one code prompt; see above. Prefer Wichtel for reasoning-plus-code work.
  • Evaluated at Q8_0 on an RTX A6000. bf16 behaviour is untested.
Downloads last month
28
Safetensors
Model size
27B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DragonBophades/Elster-Qwen3.6-27B

Adapter
(1)
this model
Adapters
3 models