Research Note

SenOCR-Zh: Frontier Intelligence for Chinese Document OCR

SenOCR-Zh

SenOCR-Zh is our 0.9B document OCR model for Chinese text, structured document parsing, and historical CJK material. Built on PaddleOCR-VL-1.6, it uses a decoder-only LoRA that updates 12.09M parameters, about 1.26% of the full model. We evaluate it on a controlled 480-page MDPBench slice covering Vietnamese, English, and Chinese, with 160 pages per language. On the 160-page Chinese/ZH evaluation population, it reaches an 85.19 composite score, with strong results across text, tables, formulas, and clean digital documents.

The design goal is efficiency. We concentrate a small trainable surface on Chinese document transcription and structure.

MetricSenOCR-Zh
Chinese composite85.19
Three-language composite, Vietnamese + English + Chinese83.38
Chinese text, 1-NED84.77
Chinese table, TEDS81.57
Chinese formula, CDM79.47
Chinese digital composite92.69
Chinese photographed composite82.69

Results

The headline result is the 85.19 Chinese/ZH composite, measured on the 160-page Chinese population of our 480-page Vietnamese-English-Chinese MDPBench evaluation.

The selection combines frontier general VLMs with compact OCR systems so the Chinese result can be read against both capability and model scale.

ModelTypeChinese / ZH score
Kimi-K3Frontier general VLM89.5
SenOCR-ZhSpecialized OCR, 0.96B85.19*
Gemini-3-pro-previewFrontier general VLM85.1
PaddleOCR-VL-1.5Specialized OCR84.8
dots.mocrSpecialized OCR84.6
MonkeyOCRv2-S-ParsingSpecialized OCR84.4
Kimi-K2.5General VLM, 1T81.7

Figure 1

Chinese / ZH document OCR performance

Chinese / ZH score
92 90 88 86 84 82 80 78







89.5
85.19
85.1
84.8
84.6
84.4
81.7
Kimi-K3
SenOCR-Zh
Gemini-3pro-preview
PaddleOCRVL-1.5
dots.mocr
MonkeyOCRv2S-Parsing
Kimi-K2.5

Within this selected MDPBench ZH group, SenOCR-Zh sits 4.31 points below Kimi-K3, while scoring 0.09 points above Gemini-3-pro-preview, 0.39 above PaddleOCR-VL-1.5, 0.59 above dots.mocr, 0.79 above MonkeyOCRv2-S-Parsing, and 3.49 points above Kimi-K2.5.

SenOCR-Zh has not yet been submitted to the official MDPBench leaderboard. The 85.19 figure comes from our project-controlled 160-page Chinese/ZH evaluation within the 480-page VI/EN/ZH slice. All external comparison scores in this article use the official Hugging Face MDPBench leaderboard maintained by the benchmark authors.

Components

The component scores below all come from the same 160-page Chinese/ZH evaluation population, not from the three-language aggregate. The composite is supported across all three evaluated tasks, so the 85.19 result is not carried by a single component.

Chinese capabilityScoreEvaluation support
Composite85.19160 Chinese pages
Text, 1-NED84.77156 pages / 3,016 instances
Table, TEDS81.5768 pages / 128 instances
Formula, CDM79.4732 pages / 88 instances

Text recognition remains the largest part of the evaluation, with 84.77 1-NED across 3,016 matched Chinese text instances. On the same model, table recognition reaches 81.57 TEDS and formula recognition reaches 79.47 CDM. That combination is useful for registers, catalogs, textbooks, statistical records, historical scientific material, and other pages where prose, structured cells, and notation appear together.

Taken together, these results support treating SenOCR-Zh as a document parser.

Digital and photographed documents

Capture quality changes the result substantially. On clean digital pages, SenOCR-Zh reaches 92.69 composite; photographed pages fall to 82.69 under blur, perspective, lighting variation, and other capture noise.

Chinese metricDigitalPhotographed
Composite92.6982.69
Text, 1-NED91.1982.64
Table, TEDS98.7275.86
Formula, CDM95.4574.24

The degradation is largest for structured content. Table TEDS drops from 98.72 on digital pages to 75.86 on photographs, while formula CDM moves from 95.45 to 74.24. That gap maps directly onto archival workflows, where book curvature, skew, uneven illumination, low-resolution scans, phone photographs, faded ink, and damaged paper are routine.

Figure 2

Performance across document conditions and languages

Document condition

100 75 50 25 0




90.99
80.86
Digital
Photographed

Photographed pages remain harder under blur, uneven lighting, folds, and physical degradation.

Language performance — digital

100 75 50 25 0




89.49
90.77
92.69
Vietnamese
Photographed 79.00
English
Photographed 80.90
Chinese / ZH
Photographed 82.69

Bars show digital-page scores. Photographed scores are listed beneath each language and are not drawn to the bar scale.

Historical OCR

The photographed-document gap is also why historical material is a central use case. Historical Chinese and Hán-Nôm collections combine vertical text, Traditional Chinese, rare CJK characters, irregular spacing, marginalia, woodblock printing, damaged paper, handwritten corrections, and non-modern reading order. Hán-Nôm adds Nôm-specific characters, CJK extension characters, and unencoded forms that may need to be preserved through IDS.

For digitization, the useful output is therefore more than a plain transcription. The system should retain reading order and structure, preserve uncertain or rare characters, and produce editable output that a researcher can verify against the source image.

In practice, the workflow is:

  1. Scan or photograph the page.
  2. Parse the page and identify its text structure.
  3. Transcribe columns in reading order.
  4. Preserve rare or uncertain characters.
  5. Export text, Markdown, or structured JSON for correction.
  6. Store the corrected text beside the image for search, study, and long-term preservation.

Human review remains necessary for rare glyphs, damaged pages, bleed-through, handwritten corrections, and complex marginalia. To measure that domain directly, we plan to use AncientDoc as the main historical Chinese benchmark. Its 2,973 pages span roughly 100 books and 14 literature categories and include vertical Traditional Chinese, marginalia, variant characters, and real page degradation.

For Hán-Nôm, we plan a separate held-out evaluation split by source manuscript. This prevents different views of the same underlying page from appearing across training and test.

Model

SenOCR-Zh keeps the PaddleOCR-VL-1.6 architecture intact. The specialization is concentrated in the language decoder, while the visual stack remains frozen.

ItemValue
Base modelPaddleOCR-VL-1.6
Total parameters958.6M
Vision encoder27-layer PaddleOCR vision model
Vision hidden size1152
Patch size14
Spatial merge2
Language decoder18 layers
Decoder hidden size1024
Decoder intermediate size3072
Attention heads16
KV heads2
Vocabulary103,424
Max sequence length used for tuning4,096

The adaptation uses decoder-only LoRA with rank 32 and alpha 64 across seven projections in each of the decoder's 18 layers: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, and down_proj. This produces 126 adapted projections and 252 LoRA tensors. The vision encoder and visual-language aligner remain frozen, and the embeddings and output head are unchanged.

As a result, only 12,091,392 parameters are trainable, approximately 1.26% of the full model, with about 24.2 MB of adapter weights in BF16. The adaptation budget is therefore spent on converting existing visual representations into Chinese text, table structure, and formulas.

Training

Training interleaves three task prompts so text, table, and formula examples remain mixed throughout optimization:

<image>OCR:
<image>Table Recognition:
<image>Formula Recognition:

Optimization uses supervised LoRA fine-tuning with AdamW-style updates, a peak learning rate of 1e-4, cosine decay to 1e-5, 3% warmup, BF16 precision, FlashMask attention, padding-free batches, and a maximum sequence length of 4,096 tokens.

SettingValue
LoRA rank32
LoRA alpha64
LoRA dropout0.0
Peak learning rate1.0e-4
Minimum learning rate1.0e-5
Warmup3%
Weight decay0.01
Gradient clipping1.0
Microbatch8
Gradient accumulation8
Effective batch size64
PrecisionBF16
Training steps2,367
Training passesabout 3.0

Data

LaneTarget recordsSharePurpose
Chinese modern historical archives18,00035.7%handwriting, archival degradation, vertical/horizontal Chinese
Broad Chinese OCR regions14,00027.7%modern printed, scene, and document Chinese
Hán-Nôm and Literary Chinese12,00023.8%historical script, rare characters, vertical reading order
Chinese table synthesis3,0005.9%table structure and Chinese cell text
Formula recognition3,4516.8%mathematical expression transcription
Total50,451100%

Figure 3

Chinese-first public retrain target

Target training records
20,000 15,000 10,000 5,000 0




18,000
14,000
12,000
3,000
3,451
Modern historical archives
Broad Chinese OCR
Hán-Nôm + Literary Chinese
Chinese table synthesis
Formula recognition

The largest lane targets historical Chinese recognition through JIA244601/Handwritten-Historical-Archive-Image-Dataset-of-Modern-China_1840_1949, with real archival samples prioritized over synthetic ones. Modern OCR coverage comes from selected Chinese-oriented splits in Yesianrohn/OCR-Data, subject to source-level license review, deduplication, and exclusion of evaluation data.

Hán-Nôm adds a different kind of difficulty. Aerbote88/nom-ocr-data provides corrected character, line, and page labels together with bounding boxes, reading-order columns, marginalia and commentary metadata, rare-character coverage, and IDS placeholders for some unencoded characters. We prioritize sequence-level line and column transcription, using character crops selectively for rare and Nôm-specific forms.

The remaining lanes preserve structured-document capability. Table examples are generated from license-cleared Chinese text with variation in row and column counts, merged cells, headers, numerals, dates, financial values, Simplified and Traditional characters, borders, skew, perspective, blur, compression, and illumination. Formula examples come from lukbl/LaTeX-OCR-dataset, filtered for syntax validity and duplication, with coverage across fractions, radicals, superscripts, matrices, aligned equations, Greek symbols, and long expressions.

Before training, the corpus is audited for source overlap, missing or unreadable images, duplicate pages, sequence length, target-token distribution, uncertain annotations, and manuscript-level train/test leakage. The target is zero truncated training sequences. These gates tie the corpus design directly to the deployment conditions described above, especially rare characters, long vertical sequences, and degraded archival pages.

Efficiency

The same selected MDPBench ZH results make the size-performance tradeoff clear. SenOCR-Zh stays below one billion parameters while operating in the same Chinese performance band as much larger general-purpose systems.

ModelClassParametersChinese / ZH score
Kimi-K3Frontier general VLM2.8T total / 104B active89.5
SenOCR-ZhSpecialized OCR0.96B85.19*
Gemini-3-pro-previewFrontier general VLMNot publicly disclosed85.1
PaddleOCR-VL-1.5Specialized OCR0.9B84.8
dots.mocrSpecialized OCR3B84.6
MonkeyOCRv2-S-ParsingSpecialized OCRabout 0.6B84.4
Kimi-K2.5General VLM1T total / 32B active81.7

At 0.96B parameters, SenOCR-Zh scores 0.09 points above Gemini-3-pro-preview, 0.39 above PaddleOCR-VL-1.5, 0.59 above dots.mocr, and 0.79 above MonkeyOCRv2-S-Parsing in this selected ZH comparison. The scale difference is most visible against Kimi-K2.5: SenOCR-Zh is 3.49 points higher while Kimi-K2.5 uses a 1-trillion-parameter MoE with 32B active parameters per token.

Kimi-K3 remains ahead at 89.5, but at 2.8T total parameters and 104B active it represents a very different deployment class. Google does not publish a directly comparable parameter count for Gemini-3-pro-preview, so we leave that value undisclosed.

The tuning footprint is smaller still:

QuantitySenOCR-Zh
Total parameters958.6M
Trainable parameters12.09M
Trainable share1.26%
Adapter sizeabout 24.2 MB BF16
Training GPU1 × NVIDIA A10G
Effective batch64
Training passesabout 3.0

Only 12.09M parameters are updated during tuning, and the full recipe fits on a single NVIDIA A10G.

Figure 4

Chinese document performance versus model scale

80 82 84 86 88 90 Chinese / ZH score 0.5B 1B 3B 10B 30B 100B 300B 1,000B 2,800B Total model parameters (logarithmic scale) SenOCR-Zh 0.96B | 85.19 PaddleOCR-VL-1.5 0.9B · 84.8 MonkeyOCRv2-S-Parsing 0.6B · 84.4 dots.mocr 3B · 84.6 Kimi-K2.5 1,000B · 81.7 32B active Kimi-K3 2,800B · 89.5 104B active Specialized OCR system General / frontier VLM

Uses

The primary use case is Chinese document digitization where transcription and document structure must be recovered together. That includes historical letters and records, vertical Traditional Chinese books, Republican-era archives, registers, catalogs, forms, financial tables, yearbooks, textbooks, scientific material, and photographed documents with perspective distortion.

Hán-Nôm digitization in Vietnam extends the same problem set. Manuscripts, genealogies, temple and pagoda records, local gazetteers, woodblock prints, historical educational materials, and mixed-script technical works can place Han, Nôm, Latin text, and mathematical notation on the same page. Because SenOCR-Zh handles prose, tables, and formulas in one parser, it can reduce the first-pass transcription work required before scholarly interpretation begins.

The same architecture is useful for historical mathematics and science, where older textbooks and technical works frequently combine dense prose, equations, and tables. These collections benefit directly from keeping text, formula, and table recognition inside one compact model.

Limitations

Historical OCR introduces separate failure modes. Rare characters, damaged glyphs, bleed-through, handwritten corrections, ambiguous reading order, and unencoded Nôm forms can still produce errors, while collection and annotation bias may shift performance across manuscripts. We therefore plan to extend evaluation through official MDPBench verification, AncientDoc, ChineseOCRBench, and a manuscript-level held-out Hán-Nôm test.

Availability

PaddleOCR-VL-1.6 is Apache-2.0, the Hán-Nôm annotations and the LaTeX-OCR dataset are CC-BY-4.0, and the Chinese Modern Era archive dataset is MIT licensed. The broad Chinese OCR source pool requires source-by-source license review before the final release corpus and weight license are frozen.

The release package is designed to include the merged SenOCR-Zh weights, the LoRA adapter separately, inference configuration and a minimal PaddleOCR example, the training recipe, a public corpus manifest with source counts and licenses, benchmark outputs and evaluation scripts, and a dataset attribution file.


References

  1. Official MDPBench leaderboard: huggingface.co/spaces/Delores-Lin/MDPBench-leaderboard
  2. MDPBench dataset: huggingface.co/datasets/Delores-Lin/MDPBench
  3. Kimi-K3 model card: huggingface.co/moonshotai/Kimi-K3
  4. Kimi-K2.5 model card: huggingface.co/moonshotai/Kimi-K2.5
  5. PaddleOCR-VL-1.6: huggingface.co/PaddlePaddle/PaddleOCR-VL-1.6
  6. Hán-Nôm OCR data: huggingface.co/datasets/Aerbote88/nom-ocr-data
  7. Modern China historical archives: huggingface.co/datasets/JIA244601/Handwritten-Historical-Archive-Image-Dataset-of-Modern-China_1840_1949
  8. Chinese OCR source pool: huggingface.co/datasets/Yesianrohn/OCR-Data
  9. Formula data: huggingface.co/datasets/lukbl/LaTeX-OCR-dataset
  10. ChineseOCRBench: huggingface.co/datasets/SWHL/ChineseOCRBench
  11. AncientDoc: huggingface.co/datasets/ByteDance/AncientDoc