Recorded measurement
Table with columns: Metric, Historical result| Metric | Historical result |
|---|
| CER micro | 20.032146342396817% |
| WER micro | 61.3582554517134% |
| Markdown structure similarity | 0.5879171944444445 |
| Pages | 36 |
| Errors or missing predictions | 0 |
Measurement: 2026-10-10; Polish historical print from IMPACT, frozen test A.
The primary result includes a known broken reference page and preserves
historical spelling, case, and diacritics. This is the best measured local
open-weight full-page system in this project's comparison, not a general
SOTA claim. The API comparator GPT-5.4 scored 16.87% CER on the same 36 pages.
The alternative 35-page result must not replace the primary result.
What is frozen
- Full original model weights, tokenizer, processor and original chat template.
- Upstream source commit:
ebb281ec70b05090aa6165b016eac8ec08e71b17.
- Two original safetensors shards; their SHA-256 hashes are recorded in
freeze-manifest.json and independently checked locally before upload.
ocr-profile.json: runtime NF4 4-bit double quantization, fp16 compute,
SDPA, greedy decoding, 4,194,304 maximum pixels, 262,144 minimum pixels,
4,096 maximum new tokens.
prompt-A.txt: the exact Polish full-page transcription prompt.
ocr.py: standalone single-page inference using only this local snapshot.
evidence/: 36 saved predictions, scores, run metadata, input verification,
original evidence ZIP, original pinned inference source, and score recomputation.
checksums.json: SHA-256 of every release payload file except itself.
The stored weights are the original upstream weights, not pre-quantized
NF4 files. Quantization is applied when loading with ocr.py. Loading this
repository with a generic pipeline without the recorded settings does not
reproduce the measured profile.
Provenance limitation
The historical qwen3vl-run.json recorded the model name but did not record
the downloaded model revision or original GPU-cache weight hashes.
Upstream currently resolves to the pinned commit above and reports its last
modification on 2025-10-15, before the measurement. That supports identification
of the source; it is not an independent checksum of the original GPU cache.
This release freezes the identified source now. Its scores are the historical
scores, recomputed from saved predictions; GPU inference was not rerun for
this frozen copy.
Download and run
hf download PiotrSty/slayer-ocr-qwen3vl-4b-frozen --revision polocrbench-testA-cer20.03-20261011 --local-dir slayer-ocr-frozenpip install -r slayer-ocr-frozen/requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128python slayer-ocr-frozen/ocr.py page.png
An NVIDIA CUDA GPU is required for this measured NF4 profile. The original
measurement ran on one RTX 4090 24 GB. This is inference, not training.
No Runpod resource is needed just to download the checkpoint.
The release tag names the snapshot. For strict reproducibility use the
40-character Hub commit hash that the tag resolves to, rather than main.
requirements.txt pins the recorded torch/transformers/bitsandbytes versions;
Pillow and accelerate were not version-recorded in the original measurement.
Reproduce the historical scoring
Use OCR_engine at
607ae333a6f8c61457aa0372eb941679f2c86088, its frozen staging protocol and
training.transcription_eval v1.1. Input archive:
PiotrSty/impact-print-v2@a2480fde6f15284701458ff370b81cce50dc5c2d.
The archive hash, manifest hash and historical predictions hash are included
in the evidence. Do not tune on test A or silently repair its references.
Attribution and license
Base model: Qwen/Qwen3-VL-4B-Instruct,
Apache-2.0. The unchanged upstream model card is preserved as
upstream-README.md; LICENSE includes the Apache-2.0 text. This release
adds OCR configuration, a model card, an inference entrypoint and evidence;
model, tokenizer, processor and generation configuration files are unmodified.
Historical benchmark evidence retains its source provenance and limitations.