cstr/h2ovl-mississippi-2b-crispembed-GGUF
h2ovl-mississippi-2b — CrispEmbed GGUF
H2OVL-Mississippi-2B for CrispEmbed. Needs MSAC two-scale tiling and the h2ogpt2 prompt template (no BOS) — all handled by the runtime.
crispembed -m h2ovl-mississippi-2b-q8_0.gguf --ocr page.pngParity
Per-stage against a reference dumped from the Python blueprint (internvl2/h2ovl-mississippi-2b/ref.gguf in cstr/crispembed-regression-fixtures), CPU backend, plus the decoded output on a full scanned page:
The shipped q80 keeps the **vision tower at F16** — that costs ~13 % size and lifts every vision stage to the f16 ceiling. The InternViT encoder is 24 residual blocks, so per-weight error compounds: at Q80 the tower drifts to 0.90 by layer 11, and the projector output falls to 0.913. The decoder stays Q8_0, where the output is correct.
q4_k was withdrawn. It loads and produces confident, well-formed text that is not what is on the page — the worst failure mode for OCR. Its decoder is anti-correlated with the reference by layer 2. Checkpoint-specific: internvl2-1b and h2ovl-800m are fine at q4_k.
Attribution
Upstream © H2O.ai, Apache-2.0 — see h2oai/h2ovl-mississippi-2b; vision tower InternViT-300M is MIT. Conversion and quantization do not relicense it. Per CrispEmbed POLICY.md, OCR output is a probabilistic reconstruction, not a faithful copy.
