On-policy distillation. The weight delta learned by the teacher was merged into the SFT base with an extra scale of 0.5, the best point of an alpha sweep (0.25 -> +0.32, 0.5 -> +0.44, 0.75 -> -0.29, 1.5 -> -3.01 with t = -12.42). Fine-tuned from CheneyWong/povl-sft-2d-merge, which is NOT the RL checkpoint -- the teacher delta was merged into the SFT base, which is why it neither clearly beats nor clearly follows round 2. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~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…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
Reinforcement learning round 2, GSAPO, 200 steps. The delivered model of that round. Equal-weight TEDS 0.8473 / TEDS-Struct 0.9078 over 33,545 samples. Fine-tuned from CheneyWong/povl-rl-dapo-400, which is RL round 1 -- the stages form a single linear chain. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~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. Rejected at the gate. The one substantive gap: every…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
Reinforcement learning round 1, DAPO algorithm, 400 steps. Fine-tuned from CheneyWong/povl-dpo-2ep, which is its own immediate predecessor in the same run. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~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. Only works with DAPO's dynamic sampling. The first attempt with GSAPO had 78% of groups contributing zero gradient (49.0% saturated, 16.5% identical rewards, 12.6%…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
Direct preference optimisation on top of the corrective SFT, 2 epochs over 8,383 preference pairs. Intended to move the model from 'roughly right structure' to 'exactly right structure'. Fine-tuned from CheneyWong/povl-sft-2d-merge, which is its own immediate predecessor in the same run. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~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. The gain is within sampling…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
Corrective supervised fine-tuning. The core fix is the two-dimensional merge token (a cell spanning both rows and columns): it accounted for only 0.89% of cell tokens in the previous training mixture, and one source had 0.00%. 22,110 samples with two or more 2D merges were added, lifting the rate to 3.92% (1.06 -> 4.96 per table). This also eliminated the runaway-truncation failure mode entirely. Fine-tuned from CheneyWong/povl-sft-full-3ep, which is its own immediate predecessor in the same run. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~0.22 here) measures how well the model reproduces empty cells and should be ignored -- a…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
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. Fine-tuned from CheneyWong/tablerecognitionpaddleocrvl16 (PaddleOCR-VL-1.6), which is the released base model, unmodified except for a cleaning pass. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (not evaluated) (~0.22 here) measures how well the model reproduces empty cells and should be ignored -- a perturbation test shows a structurally perfect prediction…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers
The teacher used for on-policy distillation: final checkpoint of a dedicated teacher SFT run (2,367 steps). Fine-tuned from PaddleOCR-VL-1.6 (base), which is trained separately from the student chain on a teacher-specific data mixture. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (never gated on the public sets -- see Known limitations) (~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. Teacher qualification was…
Open weights
apache-2.0
906M parameters
131,072 tokens
transformers