Local Multimodal OCR Shootout: qwen3.5-9b Hits 0.5% CER, Apple Vision Wins the Throughput Race
Teams handling CJK OCR on local hardware now have a clear accuracy/throughput tradeoff with concrete numbers: a 9B model beats traditional pipelines on quality but can't run bulk jobs, and a 3.2% CER vision pipeline is good enough when downstream retrieval and extraction tolerate single-character noise.
A test on scanned pages of *The Cambridge History of China* compared three OCR paths for Chinese text: qwen3.5-9b running locally in LM Studio, Apple's built-in Vision framework, and gemma-4-e4b as a local VLM. qwen came out on top with 0.5% character error rate, half a percent on pages dense with classical quotes; Apple Vision landed at 3.2% but ran 15 times faster at 12 seconds per page; gemma was unusable at 40.1% with multilingual garbage and fabrication.
Two findings reshape the choice. A canary page — text generated minutes before the test with impossible dates and random strings — proved qwen really reads pixels, despite API telemetry showing no image tokens, and exposed a metering quirk in LM Studio. The error profiles also differ sharply: qwen makes deliberate semantic "corrections" that improve readability but tamper with an archival record, while Vision only substitutes visually similar characters and never invents content.
The author's recommended architecture splits the work: Apple Vision handles all 11,936 pages overnight with parallel processes on the Neural Engine, while qwen-VLM runs sampled quality checks, escalates difficult pages, and does an auditable second proofreading pass. The deciding constraint is not accuracy but throughput and slot contention on a shared GPU server.
The canary page is a cheap, decisive test for whether a multimodal model actually sees the image or recites from training memory — worth adopting in any OCR eval when API telemetry about tokens is unreliable.
qwen's semantic 'corrections' are a genuine liability for archival work; the same behavior that helps reading comprehension silently edits the source text in 0.3% of positions.
Apple Vision's honest-error profile becomes an advantage in a closed loop: high-frequency, enumerable substitutions are easy to ignore via semantic retrieval, while fabricated output would poison downstream extraction.
The 9B model's throughput wall (80–100 seconds per page, exclusive slot) is the real bottleneck; quality no longer justifies running it at scale when a 15x faster path with 3.2% CER exists.
LM Studio's `prompt_tokens` field omitting image tokens is a footgun for developers who rely on telemetry to verify multimodal input; the only trustworthy check is content.