Downloads · 30 days
0
Quazim0t0/Escarda-Docling-126M
Escarda-Docling-126M is a image-to-text model from Quazim0t0. Use it when you need a caption or text from an image. The card lists the license as apache-2.0.
~126M document-understanding VLM. Page image in, structured DocTags out (OTSL tables, <chart/<formula/<code, <loc boxes, language tags). Document specialization of the Escarda family.
Downloads · 30 days
0
Access
Public
Updated Sep 20, 2026
Repo size
1.1 GB
Likes
1
Public
Click a slice to open those files.
.safetensors389 MB · 61%
From the Hugging Face model README
~126M document-understanding VLM. Page image in, structured DocTags out
(OTSL tables, <chart>/<formula>/<code>, <loc_*> boxes, language tags).
Document specialization of the Escarda family.
Escarda = Byrne plus JEPA next to HRM (not instead of it). Everywhere Byrne has HRM refine, Escarda adds a JEPA head: from a token, predict a neighbouring token's representation (stop-gradient target, 1-cosine loss). Auxiliary only. Training only. Zero cost at inference.
| Component | Params | Notes |
|---|---|---|
| Escarda-VE (vision encoder) | 39.60M | ViT-style, 448px / patch16 / 784 tokens, RMSNorm, 2D-axial RoPE, QK-Norm, SwiGLU, HRM refine + JEPA head |
| Connector | 1.18M | MLP 512->640 |
| Escarda-86M LM | 85.7M | SpikeWhale LM, hidden 640, 16 layers, 10 heads, vocab 16652 (140 atomic DocTags tokens added), 4096 ctx, HRM + JEPA |
| Family-LoRA | ~5M | HRM + MoE-SwiGLU adapter (JEPA lives in the encoder + LM trunk, not the per-token LoRA) |
| Total | ~126M |
Vision encoder (DINOv2 teacher-alignment, n=1024 held-out):
| Byrne-VE | Escarda-VE | |
|---|---|---|
| Params | 39.34M | 39.60M (+JEPA head) |
| CLS cosine | 0.776 | 0.771 |
| PATCH cosine | 0.600 | 0.584 |
| JEPA self-consistency | - | 0.040 |
Docling (same 3 held-out doc images, atomic DocTags):
| Sample | Byrne-Docling | Escarda-Docling |
|---|---|---|
| chart | well-formed <chart>...<bar_chart><fcel>...</chart> | well-formed <chart>...<bar_chart><fcel>...</chart> |
| formula | compact LaTeX, closed </formula> | valid LaTeX, longer/rambled |
| code | includes <code> wrapper + <_Java_> | <_SQL_> lang tag, omitted <code> wrapper |
Byrne (HRM only)
<code> wrapper).Escarda (HRM + JEPA)
Bottom line: on raw DocTags quality the two are comparable, with Byrne holding a small edge on completeness; Escarda's value is the added JEPA representation-learning trait for free at inference. Both are the same size class.
pip install -r requirements.txt
python generate.py --image examples/chart.png --ckpt weights/escarda_docling.pt \
--lm-dir lm --vision-ckpt weights/escarda_ve.pt --tokenizer tokenizer_doctags.json \
--letterbox --max-new 256 --repetition-penalty 1.2 --no-repeat-ngram 3
Weights are bundled here for a self-contained release. Auxiliary JEPA adds no inference cost.
The n-gram Engram memory in this checkpoint was degenerate: every token hashed to bucket 0, so only 1 of 4096 rows ever trained and the memory was a single constant (no further training could fix it). This version applies a behavior-preserving repair (rescale the frozen hash compressor + broadcast bucket 0) - outputs are unchanged - then a short distill with the Engram tables unfrozen so the now-reachable buckets populate.
Verified: hash bucket usage went from 1/4096 -> 4096/4096, and the Engram tables are now a genuinely populated n-gram memory instead of a constant. DocTags output remains valid.