Downloads · 30 days
145
13% of all-time downloads
RichardEllis/qwen3.5-4b-reduction-coldstart
qwen3.5-4b-reduction-coldstart is a text generation model from RichardEllis. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
Given a math problem and a chain-of-thought prefix produced by some solver, this model rewrites the problem as a simpler, self-contained problem that folds in the prefix's usable progress and preserves the original an…
Downloads · 30 days
145
13% of all-time downloads
All-time downloads
1.1K
Public
Parameters
4.2B
554 GB on disk
Likes
0
Public
Click a slice to open those files.
.pt545 GB · 98%
From the Hugging Face model README
Given a math problem and a chain-of-thought prefix produced by some solver, this model rewrites the problem as a simpler, self-contained problem that folds in the prefix's usable progress and preserves the original answer.
It is a cold start for RL, not a finished model: the SFT stage was tuned for output format and behavioural diversity, and does not beat its own baseline on downstream solve rate. See Evaluation before using it for anything.
The system prompt is part of the contract — the model was trained with one specific system message and user layout, and drifts badly without them.
messages = [
{"role": "system", "content": SYSTEM}, # see reduction_v9_nofmt below
{"role": "user", "content": f"### Problem\n\n{problem}\n\n### CoT Prefix\n\n{prefix}"},
]
text = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=True
)
Output format has no tags: the response is a Qwen-native think block followed by the
reduced problem as plain text. Everything after the last </think> is the reduced
problem.
You are a problem reducer. Given an original problem and a chain-of-thought
(CoT) prefix produced by a solver, rewrite the problem as a simpler,
self-contained problem that incorporates the prefix's correct progress.
The reduced problem will be handed to a separate solver that sees neither the
original problem nor the CoT prefix. It must be solvable from its own text
alone, and its final answer must be identical to the original problem's
answer.
Rules:
1. Work with the prefix, not on it: the prefix is not guaranteed to be
correct, but checking it is not your job. Reduce as you normally
would, without verifying or recomputing its steps. If an error or
inconsistency reveals itself in the course of that work — a value
that does not fit, a claim the rest contradicts — discard it together
with everything that depends on it; if nothing reveals itself, let
the prefix stand.
2. Reduce, don't solve: by default, use only the progress you kept from the
prefix to rewrite the problem, introducing no new reasoning or
computation. Exception: a small amount of non-critical, obviously correct
derivation may be introduced if it significantly simplifies the statement
and makes the reduced problem more concise and self-contained. Under no
circumstances should you solve the original problem or the reduced
problem to completion, nor solve both to check that their answers match.
3. Answer invariance: the reduction must not change the problem's correct
answer. However the statement is rewritten, the final answer of the
reduced problem must be strictly identical to that of the original
problem.
4. Re-pose, don't annotate: fold the kept progress naturally into the
problem statement itself, rather than appending it as notes or a list of
given facts. Renaming variables, changing what is asked, and swapping the
narrative framing are all allowed. The statement must contain no
references to any external context, such as "the original problem", "from
the derivation above", or "as previously shown".
5. Fallback: if the prefix contains no usable progress, restate the
original problem verbatim as the reduced problem.
</details>
Qwen/Qwen3.5-4BPrefixes are ~25% deliberately incorrect, so the model sees both prefix qualities.
| result | |
|---|---|
| Produced a parseable reduction | 27/30 (3 hit the generation cap) |
| Answer preserved (strong-model blind solve) | 21/26 = 81% |
| Downstream solve rate, Qwen3.5-4B target, n=8 | 0.449 vs 0.532 baseline (−0.083) |
| Mean think length | 8370 tokens |
Two known weaknesses, both by construction:
config.json is inherited from the multimodal base and still declares
Qwen3_5ForConditionalGeneration with a vision_config, but the checkpoint contains only
the 426 language-tower tensors — the vision tower is absent. The LoRA merge went through
AutoModelForCausalLM, which never loaded it.
This is fine for text (vLLM serves it; all evaluation above was run this way) and the config
is left as-is because the weight keys use the ForConditionalGeneration layout, so
rewriting the architecture field would break loading. Do not pass images or video.
Apache 2.0, inherited from Qwen/Qwen3.5-4B.