What this checkpoint is
First-stage supervised fine-tuning: full-parameter, 100,122 samples, 3 epochs. Its job was to stop the model from generating unbounded output on unseen layouts -- average completion length on real photographed pages had grown to 6,610 characters with a 37.3% truncation rate.
Lineage
Fine-tuned from CheneyWong/table_recognition_paddleocrvl16 (PaddleOCR-VL-1.6), which is the released base model, unmodified except for a cleaning pass.
PaddleOCR-VL-1.6 (base)
└─ povl-sft-full-3ep <-- this checkpoint
Results on public datasets
Base = the unmodified base model. Public datasets only; the project's
self-built benchmarks are excluded.
(not evaluated)
Note on SPRINT-MUSTARD: its ground truth carries no cell text, so its TEDS
(~0.22 here) measures how well the model reproduces empty cells and should
be ignored -- a perturbation test shows a structurally perfect prediction that
correctly reads the visible text scores 0.33 TEDS / 1.00 TEDS-S. Only the
TEDS-S column is meaningful for that dataset.
Known limitations
Truncation got worse, not better (8.6% -> 37.3%) while in-domain scores rose. In-domain metrics were unchanged or slightly shorter, so the blow-up was specific to unseen layouts. This is the exact trade-off the next stage exists to undo.
Task format: a single table image plus the prompt Table Recognition:, one
pass, emitting OTSL markup (<fcel> <ecel> <ucel> <lcel> <xcel> <nl>).
Evaluation numbers are tracked separately and are not part of this card.