Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image and text to text

povl-sft-full-3ep

by Cheney Wong CheneyWong/povl-sft-full-3ep

povl-sft-full-3ep 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.

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%…

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

Runs On

What it takes to serve povl-sft-full-3ep (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-sft-full-3ep on every accelerator the SAVRN Index prices, at every precision

Model Card

By Cheney Wong, published under apache-2.0, revision 04441ad3e0ba.

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…

Read Cheney Wong's full model card

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.

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-sft-full-3ep
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
04441ad3e0ba31a7ee037c6a8c4d8734a7bd31c0
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 · 39.7 KB
Tokenizer2 files · 11.2 MB
Documentation1 file · 1.7 KB
Other1 file · 1.5 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights1.8 GB 91f70730ec83
training_args.binWeights6.7 KB 7fc8a0f2231c
args.jsonConfiguration16.4 KB —
config.jsonConfiguration2.4 KB —
generation_config.jsonConfiguration133 B —
preprocessor_config.jsonConfiguration641 B —
processor_config.jsonConfiguration749 B —
trainer_state.jsonConfiguration19.4 KB —
README.mdDocumentation1.7 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-sft-full-3ep

How much GPU memory does povl-sft-full-3ep 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-sft-full-3ep 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-sft-full-3ep commercially?

Yes. povl-sft-full-3ep 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-sft-full-3ep'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-opd-teacher

Cheney Wong

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