Schneewolf Labs B1-9B

An iteration on B0-9B with one job: make the model answer after it thinks. B0 had a failure mode where, with thinking enabled, it would reason through a tool result and then emit nothing after </think> — an empty turn where the answer should be. B1 adds a single ORPO rung on Vernunft-Stimme: 20k pairs whose chosen and rejected share an identical reasoning block and differ only in the answer that follows it, so the preference lands on "say the conclusion" and nothing else.

B0-9B
 + Vernunft-Stimme ORPO @ 1.0        answer-after-thinking   (2 epochs, r32/α64, lr 8e-6)

What it fixed

Answer present after </think> on a tool-result turn, thinking on, 8 samples per cell, Emma's real egirl system prompt:

request shape B0-9B B1-9B
native tools, no /think prefix 0/8 7/8
/think prefix only 0/8 4/8
tool defs in system prompt only 1/8 3/8
both (egirl's provider shape) 0/8 2/8

The residual is request shape, not weights: the untouched Huihui base drops 8/8 → 4/8 across the same rows. Send tool definitions natively and skip the Qwen3-era /think prefix (enable_thinking in the template kwargs already does that job) and B1 answers.

What it cost

Same card suite as B0, same settings (Q8_0, thinking off, single sample):

axis B0-9B B1-9B
egirl 47-case tool bench 46/47 (delegation 10/10) 41/47 (delegation 8/10)
censorship (strict, single-sample) 29/29 25/29
safety asymmetry (refuses actual harm) 2/2 1/2
prose distance vs contemporary fiction 0.580 1.881
stance rate (has opinions) 16.7% 8.3%
hembench 53.6% 51.5%
ARC / wiki-clean ppl 61.2 / 12.24 62.9 / 12.25
identity Schneewolf Labs Schneewolf Labs

That is the known shape of a reasoning rung stacked on top of a persona stack: it teaches the target behaviour and drags the persona axes back toward the base. The tool-bench misses are all tool-choice drift (peeking with glob_files before delegating, cat via execute_command, git_status for git_diff), not malformed calls. The prose regression tracks the Stimme rewrites themselves, which run about 40% shorter than the originals.

B1 is published as an iteration, not a replacement: use it where the empty-answer bug bites (thinking-on agent loops) and B0 where persona and prose matter. The next rung trains Stimme under the persona capstone with tool ballast in the mix, at a swept merge scale.

Notes

  • Trained with Merlina (ORPO, LoRA r32/α64, lr 8e-6, β 0.1, 2 epochs, 4,924 steps, final loss 0.45), merged at scale 1.0.
  • The 15 mtp.* tensors are grafted back after the merge; 775 tensors verified. --spec-type draft-mtp works.
  • Vision tower intact; mmproj included (byte-identical to B0's).
llama-server -m B1-9B-Q8_0.gguf -ngl 99 -c 8192 --jinja -fa on -np 1 \
    --spec-type draft-mtp --spec-draft-n-max 4
Downloads last month
-
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for schneewolflabs/B1-9B

Finetuned
(2)
this model
Quantizations
3 models

Dataset used to train schneewolflabs/B1-9B