Which Qwen 3.5 fits sophisticated document work?

Eval of qwen3.5 0.8b / 2b / 4b / 9b / 27b · test material: Did Your AI Just Sigh? by Uli Hitzel (17,286 words, 76 chapters) · 2026-07-05

The question: for sophisticated document work, what is the smallest model one can get away with, and the biggest one ever needed?

The answer: smallest that works: 2b — document chat, summaries, copyediting, extraction. The step to 4b buys search that survives paraphrasing and most of the reasoning. The step to 9b completes reasoning. The step to 27b buys something qualitatively new: proofreading for meaning — it is the only model that caught a planted logical contradiction — plus flawless creative rewriting. 0.8b is for machine-checked pipelines only.

Result matrix

Percent of checks passed; rows marked v2 use the hardened second-round tests, which supersede the four first-round rows that turned out too easy.

Task0.8b2b4b9b27brunnote
Extraction → strict JSON10094100100100v1 s02
Topical classification6388888888controlsaturates at 2b; every larger model misses the same genuinely ambiguous item
Interpretive classification (narrative arc)3030606070v1 s01 + few-shot follow-upfew-shot did not help; 27b nudges past the 4b/9b plateau
Short summaries (fact-probed)92100100100100v2v1 keyword version scored 100 everywhere
Part summary, full coverage (~6k tok)9010010096100v1 s04
Whole-book synthesis (~27k tok)21501007171v1 s05structure right from 4b up; 4b recalls 12/12 probed narrators, 9b and 27b ~5/12 — bigger models abstract away detail
Rewrite / style transfer (judged)73738282100v2v1 string checks inverted the ranking; only 27b clears every constraint
Copyedit (injected errors)40907080100v1 s07the planted logical error is caught ONLY by 27b — semantic proofreading starts there
Reasoning / inference435786100100v1 s08cleanest size gradient in the eval; saturates at 9b
Literal needle retrieval (12.5k tok)100100100100100v1 s09
Paraphrased retrieval (12.5k tok)3333100100100v2the capability cliff: 4b+ only
Multi-turn Q&A, 12 turns83100100100100v1 s100.8b drifts from turn 6
Context switch, labeled100100100100100v1 s11
Context switch, unlabeled837592100100v2clean from 9b up
Task switching, 10 task types8989100100100v1 s12
 0 → 100

What each size step buys

Cheat sheet

If the job is…UseWhy
Bulk JSON extraction / tagging0.8b100% schema compliance; output machine-validated anyway
Literal fact lookup (query quotes the doc)0.8bperfect literal needle recall at every size
Interactive doc search (natural questions)4b+paraphrased retrieval: 0.8b/2b 33%, 4b and up 100%
Interactive document chat2bflawless 12 turns; 0.8b drifts at ~6
Summaries for human readers2bsurvived hostile fact-probing at 100%
Copyediting (surface errors)2b9/10 spelling catches at a fraction of the size
Copyediting for MEANING (contradictions)27bthe only model that caught the planted logical error — and it found all 10/10
Why/how analysis, cross-doc insight9b43 → 57 → 86 → 100: saturates at 9b
Whole-book synthesis4bfull structure plus best narrator recall (12/12; 9b and 27b abstract down to ~5)
Creative rewriting / style transfer27b100 vs the 82 plateau below it; 0.8b reproducibly degenerates into loops
Topical classification2b88% on plain topic bins
Interpretive / structural classification27b, barely30 → 60 → 60 → 70: climbs slowly; remaining misses are genuinely ambiguous

The challenge

Two things made this non-trivial. Material: a real 17k-word book, not benchmark snippets — long-context behavior, multi-turn drift, and satire/irony comprehension all matter, and public benchmark scores don't predict them. Method: everything scripted, logged, resumable, and runnable unattended, so results are reproducible rather than anecdotal — and hardened over two rounds when first-round checks proved too easy (see iterations).

Approach

Twelve scenarios spanning classification, extraction, summarization (chapter / part / whole book), rewriting, copyediting with injected errors, reasoning, needle-in-haystack retrieval, and three multi-turn stress tests (sustained Q&A, document switching, task switching). Scoring is deterministic where possible — JSON validity, schema keys, fact presence, error-catch counts, per-turn pass marks — plus manual transcript judging for prose quality. Each model runs warm through all scenarios, then unloads; a memory guard checks pressure between items; every request/response/timing lands in a JSONL log.

Setup

Decisions

Iterations

Round 1 → skepticism

Four tests returned suspiciously clean 100s. A score that doesn't discriminate is a test that's too easy: the needle questions shared words with the planted facts (string matching, not comprehension); rewrite checks measured fact survival, not prose (0.8b "won" while looping the same sentence eight times); context-switch questions named their document; summary checks were keyword-level.

Round 2 (v2) — hardened tests, same models

Paraphrased needle questions with zero lexical overlap; degeneration detection + a from-scratch creative task for rewrites; unlabeled context-switch questions with overlapping numbers planted in both documents; summaries probed by follow-up who-did-what questions. Result: the fake 100s collapsed exactly where suspected — most dramatically retrieval: 0.8b/2b fell 100→33 while 4b held 100, the clearest size-buys-capability result in the project.

Round 3 — adding the 9b

The 9b ran the full v1+v2 suite. It confirmed the size gradient where one existed (reasoning 43 → 57 → 86 → 100) and appeared to confirm plateaus elsewhere: interpretive classification stuck at 60 with the same borderline misses as 4b, the logical contradiction still uncaught. At this point the working hypothesis was that the remaining failures were class limits rather than size limits.

Round 4 — the 27b falsifies the plateau hypothesis

Before committing to a full 27b round, a single cheap probe: the copyedit test, chosen because its planted logical contradiction had defeated all four models identically. The stated decision rule: if 27b misses it too, skip the round. It didn't miss. It found all 10 errors including the contradiction, with a correct explanation and fix — so the full suite ran, and the pattern held: 100 on judged rewrites (vs the 82 plateau), 70 on interpretive classification (vs 60). The "class limit" hypothesis was wrong for semantic error detection; it survives, weakened, only for interpretive classification. A good reminder that a plateau over two points is thin evidence.

Corrections against ourselves

Multi-turn drift, turn by turn

Sustained Q&A (v1) 0.8b ✓✓✓✓✓✗✗✓✓✓✓✓ drifts from turn 6 2b ✓✓✓✓✓✓✓✓✓✓✓✓ 4b ✓✓✓✓✓✓✓✓✓✓✓✓ 9b ✓✓✓✓✓✓✓✓✓✓✓✓ 27b ✓✓✓✓✓✓✓✓✓✓✓✓ Unlabeled switch (v2) 0.8b ✓✓✓✓✓✓✓✓✗✗✓✓ 2b ✓✓✗✓✓✓✓✗✗✓✓✓ 4b ✓✓✗✓✓✓✓✓✓✓✓✓ (turn 3 miss is a defensible alt reading) 9b ✓✓✓✓✓✓✓✓✓✓✓✓ 27b ✓✓✓✓✓✓✓✓✓✓✓✓ Task switching (v1) 0.8b ✓✓✗✗✓✓✓✓✓✓ 2b ✗✓✓✓✓✓✓✓✓✗ 4b ✓✓✓✓✓✓✓✓✓✓ 9b ✓✓✓✓✓✓✓✓✓✓ 27b ✓✓✓✓✓✓✓✓✓✓