Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image and text to text

povl-opd-teacher

by Cheney Wong CheneyWong/povl-opd-teacher

povl-opd-teacher is an open-weight model for image and text to text from Cheney Wong, released under Apache License 2.0. It has 906M parameters and a 131,072-token context. At 16-bit it needs about 2.2 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

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.

Parameters906M
Context131,072
Weights1.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve povl-opd-teacher (906M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 1.8 GB 2.2 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.9 GB 1.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.5 GB 0.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

povl-opd-teacher on every accelerator the SAVRN Index prices, at every precision

Model Card

By Cheney Wong, published under apache-2.0, revision d2aa585fca84.

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…

Read Cheney Wong's full model card

What this checkpoint is

The teacher used for on-policy distillation: final checkpoint of a dedicated teacher SFT run (2,367 steps).

Lineage

Fine-tuned from PaddleOCR-VL-1.6 (base), which is trained separately from the student chain on a teacher-specific data mixture.

PaddleOCR-VL-1.6 (base)
  └─ povl-opd-teacher   <-- this checkpoint

Results on public datasets

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)

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

Teacher qualification was effectively never performed. All 16 candidate checkpoints failed both guardrails (max truncation 15.0% against a 5% threshold; worst-cohort TEDS 0.4548 against a 0.50 threshold), but the cohort responsible for the veto is a known measurement artefact: a double-cropping bug makes it report 0.486 where the correct value is 0.857. Excluding it voids the veto, so selection needs to be redone.

The teacher's own training pool was also found to be 98% contaminated with evaluation data.


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.

Configuration

Architecture
PaddleOCRVLForConditionalGeneration
Context length (tokens)
131,072
Layers
18
Hidden size
1,024
Feed-forward size
3,072
Attention heads
16
Key/value heads
2
Head dimension
128
Vocabulary size
103,424
Model type
paddleocr_vl

Identity and Version

Repository
CheneyWong/povl-opd-teacher
Publisher
Cheney Wong
Task
Image and text to text
Modality
Image and text
Library
transformers
Parameters
906M parameters
Languages
Not stated by the source
Revision
d2aa585fca84e39eb0747590da2146ab60a2c4bf
First published
2026-10-12
Last updated
2026-10-12

Files and Weights

13 files, 1.8 GB in total. The weights are 2 files totalling 1.8 GB in bin, safetensors.

Weights2 files · 1.8 GB
Configuration6 files · 45.9 KB
Tokenizer2 files · 11.2 MB
Documentation1 file · 1.8 KB
Other1 file · 1.5 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights1.8 GB c5857429e3f3
training_args.binWeights6.8 KB 6244ce8a3dac
args.jsonConfiguration16.5 KB —
config.jsonConfiguration2.4 KB —
generation_config.jsonConfiguration133 B —
preprocessor_config.jsonConfiguration641 B —
processor_config.jsonConfiguration749 B —
trainer_state.jsonConfiguration25.5 KB —
README.mdDocumentation1.8 KB —
chat_template.jinjaOther1.5 KB —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer11.2 MB c8a215a59183
tokenizer_config.jsonTokenizer804 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
1.8 GB
Download from Cheney Wong

Released by Cheney Wong through its official repository on Hugging Face. Read the license.

Memory Requirements

PrecisionWeights in memory
As published1.8 GB
16-bit1.8 GB
8-bit0.9 GB
4-bit0.5 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About povl-opd-teacher

How much GPU memory does povl-opd-teacher need?

About 2.2 GB at 16-bit and 0.5 GB at 4-bit: the weights (906M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run povl-opd-teacher on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use povl-opd-teacher commercially?

Yes. povl-opd-teacher is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is povl-opd-teacher's context length?

131,072 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Image and text to text

povl-opd-scale05

Cheney Wong

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

Model · Image and text to text

povl-rl-gsapo-200

Cheney Wong

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

Model · Image and text to text

povl-rl-dapo-400

Cheney Wong

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

Model · Image and text to text

povl-dpo-2ep

Cheney Wong

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

Model · Image and text to text

povl-sft-2d-merge

Cheney Wong

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

Model · Image and text to text

povl-sft-full-3ep

Cheney Wong

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