maximerivest/qwen3.5-4b-paper-rewriter

Model

Qwen3.5-4B Paper Rewriter

0

1 commits

1 linked in READMEs

updated Oct 5, 2026

See the code

README

Qwen3.5-4B Paper Rewriter

Rewrites a research paper so a curious 12–14-year-old can read it: the same paper, in the authors' own voice, keeping every result, number and uncertainty, in plain words. It rewrites, it does not summarise. Fine-tuned from Qwen/Qwen3.5-4B. See also the 9B version: maximerivest/qwen3.5-9b-paper-rewriter.

Quality

An Opus judge scored each rewrite from 0 to 10 on four aspects, on the same 3 held-out papers (15 parts) for every model. The large models used our refined prompts.

ModelFaithfulClearPleasantStructureAverage
This model6.17.07.28.57.2
Claude Opus 5.58.38.58.18.98.5
GPT-6 Astra8.58.17.48.78.2
GPT-6 Luna7.26.67.78.57.5
Qwen3.5-4B, untrained3.8

Bold: best in each column. Faithful = faithful and exact; Clear = understandable; Structure = structure and voice.

Part by part, against each model (better, same, or worse on each of the 15 parts):

Win rate of this model against Claude Opus 5.5, GPT-6 Astra, GPT-6 Luna and the untrained base model, on the average score and on faithfulness

Serious problems found by the judge: about 11.3 per paper (Opus 0.7, Astra 2.0, Luna 9.0).

Read these numbers with care: three papers is a small test, so gaps under about half a point may be luck; and the judge is itself a frontier model, so it may favour the style of the synthetic rewrites this model learned from.

Speed and cost

One paper (~4,500 words) sent alone, vLLM 0.29, bf16:

GPUSeconds per paperWith the draft head (MTP)Papers per hour, GPU kept full
H100 80GB2091,064
RTX PRO 60003021502

About $3.6 per 1,000 typical papers (~7,100 words) on an RTX PRO 6000 rented at $1.80/h and kept busy.

How to use

The model was trained on two calls per paper, and expects exactly that layout. rewrite.py in this repository does both calls with the standard library only.

vllm serve maximerivest/qwen3.5-4b-paper-rewriter --served-model-name rewriter --max-model-len 65536 \
  --default-chat-template-kwargs '{"enable_thinking": false}' \
  --speculative-config '{"method": "mtp", "num_speculative_tokens": 2}'   # optional, ~2x faster for one reader

python rewrite.py paper.json > rewrite.md

paper.json holds the paper's parts as plain text: title, abstract, introduction_first (first paragraph of the introduction), introduction_rest, methods, results, discussion, conclusion, and an optional glossary.

  1. The opening: title, abstract, first introduction paragraph and conclusion, from the whole paper.
  2. The other sections, each on its own (they can run at the same time), given the rewritten opening.

Use greedy decoding (temperature 0) and turn thinking off. The writer field picks a writing style; rewrite.py uses writer_a, the main style of the training data (for the 9B, the judge scored it the same as the label used in our benchmark). The exact system and user messages are in rewrite.py. rewrite.py reproduces the training prompts character for character; we checked this on 15 prompts.

The reference glossary

Each request carries a reference_glossary: definitions of the passage's technical terms, one per entry, as - term (long form): definition [source]. We built ours from an offline copy of Wikipedia. Almost all training examples had one (62 of 21,069 had it empty), so the model works best with a glossary. Without one it still runs, but that setting was rarely seen in training. Give each request only the entries whose term appears in its text (rewrite.py does this).

Draft head

mtp.safetensors is the multi-token-prediction head of the original Qwen/Qwen3.5-4B. Our fine-tuning did not keep this head, so we added the base model's back. vLLM uses it for speculative decoding with the --speculative-config line above. With greedy decoding, every drafted word is checked by the model; the judge scored our 9B the same with and without it. Transformers ignores these weights.

Training

  • Data: maximerivest/paper-rewrites-for-young-readers: 20,394 training conversations (190M tokens) from 4,416 open-access papers in PubMed Central, all under CC BY. The target rewrites are synthetic, written by frontier models with our refined prompts, each with a reference glossary.
  • Method: one pass over the data, LoRA (rank 32, learning rate 2e-4) on one RTX 3090, 38 hours, merged into the full weights.
  • Held out: the benchmark papers were never trained on.

Limitations

  • Accuracy is its weakest point. Typical errors: a number attached to the wrong group, a hedge turned into a firm claim, two similar technical terms confused (in one plant paper, "hermaphroditic" and "monoecious"). Check important facts against the paper.
  • English only. Tested on life-science and environmental papers.
  • Not a source of medical or other professional advice.
  • Very long sections can run into the length limit; rewrite.py caps each reply at about twice the section's length.

License

Apache 2.0, like the base model (see LICENSE). Rewrites of CC BY papers should credit the original authors and say the text was adapted.

conversational
endpoints_compatible
qwen3.5
qwen3_5_text
rewriting
safetensors
science-communication
text-generation
text-simplification
transformers

maximerivest/qwen3.5-4b-paper-rewriter

Model

Qwen3.5-4B Paper Rewriter

0

1 commits

1 linked in READMEs

updated Oct 5, 2026

See the code

README

Qwen3.5-4B Paper Rewriter

Rewrites a research paper so a curious 12–14-year-old can read it: the same paper, in the authors' own voice, keeping every result, number and uncertainty, in plain words. It rewrites, it does not summarise. Fine-tuned from Qwen/Qwen3.5-4B. See also the 9B version: maximerivest/qwen3.5-9b-paper-rewriter.

Quality

An Opus judge scored each rewrite from 0 to 10 on four aspects, on the same 3 held-out papers (15 parts) for every model. The large models used our refined prompts.

ModelFaithfulClearPleasantStructureAverage
This model6.17.07.28.57.2
Claude Opus 5.58.38.58.18.98.5
GPT-6 Astra8.58.17.48.78.2
GPT-6 Luna7.26.67.78.57.5
Qwen3.5-4B, untrained3.8

Bold: best in each column. Faithful = faithful and exact; Clear = understandable; Structure = structure and voice.

Part by part, against each model (better, same, or worse on each of the 15 parts):

Win rate of this model against Claude Opus 5.5, GPT-6 Astra, GPT-6 Luna and the untrained base model, on the average score and on faithfulness

Serious problems found by the judge: about 11.3 per paper (Opus 0.7, Astra 2.0, Luna 9.0).

Read these numbers with care: three papers is a small test, so gaps under about half a point may be luck; and the judge is itself a frontier model, so it may favour the style of the synthetic rewrites this model learned from.

Speed and cost

One paper (~4,500 words) sent alone, vLLM 0.29, bf16:

GPUSeconds per paperWith the draft head (MTP)Papers per hour, GPU kept full
H100 80GB2091,064
RTX PRO 60003021502

About $3.6 per 1,000 typical papers (~7,100 words) on an RTX PRO 6000 rented at $1.80/h and kept busy.

How to use

The model was trained on two calls per paper, and expects exactly that layout. rewrite.py in this repository does both calls with the standard library only.

vllm serve maximerivest/qwen3.5-4b-paper-rewriter --served-model-name rewriter --max-model-len 65536 \
  --default-chat-template-kwargs '{"enable_thinking": false}' \
  --speculative-config '{"method": "mtp", "num_speculative_tokens": 2}'   # optional, ~2x faster for one reader

python rewrite.py paper.json > rewrite.md

paper.json holds the paper's parts as plain text: title, abstract, introduction_first (first paragraph of the introduction), introduction_rest, methods, results, discussion, conclusion, and an optional glossary.

  1. The opening: title, abstract, first introduction paragraph and conclusion, from the whole paper.
  2. The other sections, each on its own (they can run at the same time), given the rewritten opening.

Use greedy decoding (temperature 0) and turn thinking off. The writer field picks a writing style; rewrite.py uses writer_a, the main style of the training data (for the 9B, the judge scored it the same as the label used in our benchmark). The exact system and user messages are in rewrite.py. rewrite.py reproduces the training prompts character for character; we checked this on 15 prompts.

The reference glossary

Each request carries a reference_glossary: definitions of the passage's technical terms, one per entry, as - term (long form): definition [source]. We built ours from an offline copy of Wikipedia. Almost all training examples had one (62 of 21,069 had it empty), so the model works best with a glossary. Without one it still runs, but that setting was rarely seen in training. Give each request only the entries whose term appears in its text (rewrite.py does this).

Draft head

mtp.safetensors is the multi-token-prediction head of the original Qwen/Qwen3.5-4B. Our fine-tuning did not keep this head, so we added the base model's back. vLLM uses it for speculative decoding with the --speculative-config line above. With greedy decoding, every drafted word is checked by the model; the judge scored our 9B the same with and without it. Transformers ignores these weights.

Training

  • Data: maximerivest/paper-rewrites-for-young-readers: 20,394 training conversations (190M tokens) from 4,416 open-access papers in PubMed Central, all under CC BY. The target rewrites are synthetic, written by frontier models with our refined prompts, each with a reference glossary.
  • Method: one pass over the data, LoRA (rank 32, learning rate 2e-4) on one RTX 3090, 38 hours, merged into the full weights.
  • Held out: the benchmark papers were never trained on.

Limitations

  • Accuracy is its weakest point. Typical errors: a number attached to the wrong group, a hedge turned into a firm claim, two similar technical terms confused (in one plant paper, "hermaphroditic" and "monoecious"). Check important facts against the paper.
  • English only. Tested on life-science and environmental papers.
  • Not a source of medical or other professional advice.
  • Very long sections can run into the length limit; rewrite.py caps each reply at about twice the section's length.

License

Apache 2.0, like the base model (see LICENSE). Rewrites of CC BY papers should credit the original authors and say the text was adapted.

conversational
endpoints_compatible
qwen3.5
qwen3_5_text
rewriting
safetensors
science-communication
text-generation
text-simplification
transformers