Werea-DocOCR-1B v2 — Türkçe Kurumsal Belge OCR (Enterprise) 📄🇹🇷

LightOnOCR-2-1B-base tabanının 12 Türkçe kurumsal belge türü × 3 çekim koşulu ile fine-tune'u. Sayfa görüntüsünü okuma sırasına uygun, tablolar dahil markdown olarak çıkarır. v1 sürümü revision="v1" altında korunur.

Belge türleri (12)

Genel vekaletname · DASK poliçesi · e-Arşiv fatura · Konut kira sözleşmesi · Banka dekontu · Tapu senedi · Maaş bordrosu · Kasko poliçesi · Araç tescil bilgi formu · Resmî kurum yazısı · Ticaret sicil ilanı · SGK hizmet dökümü

Çekim koşulları (3)

clean (dijital) · scan (tarayıcı: eğim, gürültü, toner bandı) · photo (telefon: perspektif, gölge, düşük DPI)

Sonuçlar

72 ayrılmış test sayfasında (12 tür × 3 koşul × 2), greedy üretim:

Model CER (ort.) CER (medyan)
LightOnOCR-2 taban 64,2% 61,6%
Werea-DocOCR-1B v1 ~8,1% 0,16%
Werea-DocOCR-1B v2 0,15% 0,15%

v2, v1'in zorlandığı fotoğraf ve tarama koşullarındaki yoğun tabloları (SGK dökümü, bordro) çözerek ortalama CER'i %8,1'den %0,15'e düşürdü; kolay koşullardaki kusursuz performansı korudu.

⚠️ Test sayfaları eğitimle aynı sentetik dağıtımdandır (şablon-içi ölçüm). Gerçek tarama/fotoğraf belgelerde doğrulama önerilir; kritik kullanımda insan kontrolü.

Eğitim

  • Veri: werea-tr-doc-ocr-enterprise-v2 — 12.960 tamamı sentetik sayfa (geçersiz-checksum TC/IBAN/plaka, kurgusal kimlikler)
  • Yöntem: tam-parametre SFT, 1 epoch (810 adım), lr 8e-6, bf16, gradient checkpointing + 8-bit AdamW, tek RTX 3090

Kullanım

import torch
from transformers import LightOnOcrForConditionalGeneration, LightOnOcrProcessor

model = LightOnOcrForConditionalGeneration.from_pretrained(
    "Werea-co/Werea-DocOCR-1B", torch_dtype=torch.bfloat16).to("cuda")
processor = LightOnOcrProcessor.from_pretrained("Werea-co/Werea-DocOCR-1B")

conv = [{"role": "user", "content": [{"type": "image", "path": "belge.jpg"}]}]
inputs = processor.apply_chat_template(conv, add_generation_prompt=True,
                                       tokenize=True, return_dict=True, return_tensors="pt")
inputs = {k: v.to("cuda", dtype=torch.bfloat16) if v.is_floating_point() else v.to("cuda")
          for k, v in inputs.items()}
out = model.generate(**inputs, max_new_tokens=2048)
print(processor.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Lisans

Apache-2.0. Taban: lightonai/LightOnOCR-2-1B-base (LightOn). Werea.

💜 werea.co — Fikirden üretime.
Downloads last month
17
Safetensors
Model size
1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Werea-co/Werea-DocOCR-1B

Finetuned
(19)
this model

Dataset used to train Werea-co/Werea-DocOCR-1B