CoolFace
Modelpublic

xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v3

sourceHugging Facellama3.2updated 2mo agoView on Hugging Face
0likes63downloads
Model Card

Llama-xReadable-11B-zhTW-OCR-v3

Built with Llama

云碩科技 · xCloudinfo · 系列:Meta Llama 3.2 Vision · 云碩繁體中文 OCR

以 `meta-llama/Llama-3.2-11B-Vision-Instruct` 為基底,由云碩科技在自有 AI 算力資源池上微調的繁體中文(台灣)OCR 模型。專注台灣場景的文字辨識——公文、票據、文件與各類筆記的中英混寫內容,可地端部署、資料不外流。xReadable:讓文件被讀懂。

v3 相對 v2 的變化:合成語料的字型多樣性由 5 個設計家族擴充到 16 個家族/36 個字型檔(另保留 8 家族/17 字型檔全程不進訓練,專供泛化量測)。印刷辨識在四項量測上全面優於 v2。

能力與量測

所有數字皆為逐字元錯誤率(CER,越低越好)。評測集的字型與訓練字型完全不重疊——保留字型從建池起就切開,從未進入訓練。

印刷/掃描文件

量測**v3(本模型)**v2(前版)nemotron-ocr-v2(NVIDIA,外部對照)
未見字型·宋體(macOS Songti TC)0.00%0.00%2.78%
未見字型·黑體(macOS STHeiti)1.39%2.78%9.72%
保留字型集(8 家族,200 張)7.28%7.80%—
訓練字型集(200 張,參考值)0.28%0.44%—

保留字型集為逐張配對比較(同 200 張圖):v3 逐張勝 51 / 負 21 / 平手 128,平均改善 −0.52pp(95% CI [−1.02, −0.03]),完全正確張數 124 vs 115。

外部對照:`nvidia/nemotron-ocr-v2` 為偵測+辨識管線(非語言模型),在相同影像、相同 CER 計算下量測。

手寫

場景CER說明
清晰短篇約 40%實驗性,需人工複核
長篇多句內容73.5%v2 起已大幅改善(v1 為 142%)
潦草/淡筆64~88%見下方說明

手寫的 64~88% 是影像難度地板,非模型天花板。 我們以架構完全不同的開源 OCR(NVIDIA nemotron-ocr-v2,偵測+辨識管線)在同一組真實手寫影像上交叉驗證,逐張 CER 與本模型幾乎一致(某淡鉛筆掃描頁兩者皆約 88%、某清晰頁皆約 45%)。兩種原理迥異的系統得到相同的逐張結果,代表該數字主要由影像本身的可辨識度決定,而非單一模型的弱點。

字型分層方法

訓練字型(16 家族/36 檔):Noto Sans/Serif CJK、文鼎 UMing/UKai、Chiron Hei/Sung/GoRound、Zev Hei、GenKiGothic、GenKiMin、GenWanMin、cwTeX 明/楷/圓、jf-openhuninn、辰宇落雁體。

保留字型(8 家族/17 檔,永不進訓練):GenRyuMin、GenSekiGothic、GenSenRounded、cwTeX 仿宋、EvilSung、LXGW 文楷、芫荽 Iansui、Cubic 11。

同一套設計的所有字重與正/斜體一律歸同一家族(例:ChironSungHKVF 與 ChironSungHKItVF;GenRyuMin 與其注音版 Bpmf、台語版 Taigi 衍生字型),避免同一設計同時出現在訓練與評測兩側而高估泛化能力。

用途與限制

  • —適用:台灣繁中印刷/掃描文件的地端 OCR、文件數位化、票據與筆記辨識前處理;長篇手寫筆記轉錄。
  • —輸出正規化:本模型輸出統一為繁體中文(訓練標註採繁體正規化);輸入含簡寫字時亦會輸出對應繁體。
  • —限制:
  • —手寫辨識仍在迭代;潦草、淡筆、低對比字跡可能出錯,重要用途請務必人工複核。
  • —純英文段落已納入訓練但樣本量仍有限。
  • —表格/複雜版面建議先切行/切格再辨識。
  • —輸出僅供辨識參考,不宜作為法律、醫療、財務等關鍵決策的唯一依據。
量測方法提醒:自行評測時,請先確認測試影像的字型確實含有待測字元。部分字型檔(如 macOS Songti.ttc 的第 0 個字面為簡體字面)缺繁體字時,PIL 等渲染器會靜默畫成空白而非豆腐字,導致模型被錯誤扣分。建議渲染後逐字驗證非空白再用於評測。

格式與相容性

本 repo 提供 bf16 safetensors(transformers/vLLM 原生格式),未提供 GGUF:Llama 3.2 Vision 的 mllama 架構 llama.cpp 官方尚未支援轉換/載入,故 llama.cpp/LM Studio/Ollama 目前無法運行本模型;transformers 與 vLLM 可原生載入。上游支援後將補上官方相容 GGUF。

硬體需求

bf16 權重約 21GB,推論建議單張 ≥ 24GB VRAM 的 GPU(RTX 3090/4090、A10、L4、A100 等),或以 device_map="auto" 多卡分攤;記憶體不足可用 bitsandbytes 做 int8/int4 量化。

用法(transformers)

python
from transformers import MllamaForConditionalGeneration, AutoProcessor
from PIL import Image
import torch

model_id = "xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v3"
model = MllamaForConditionalGeneration.from_pretrained(
    model_id, torch_dtype=torch.bfloat16, device_map="auto"
).eval()
processor = AutoProcessor.from_pretrained(model_id)

image = Image.open("your_document.jpg").convert("RGB")
prompt = "請辨識圖片中的所有文字,逐字完整輸出,只輸出文字本身。"
messages = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": prompt}]}]
text = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=768, do_sample=False)
print(processor.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

用法(vLLM)

bash
vllm serve xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v3 --dtype bfloat16 --max-model-len 4096

授權與來源聲明(Llama 3.2 Community License)

本模型為 Meta Llama 3.2 的衍生模型,散布須遵守 Llama 3.2 Community License Agreement:

  • —Built with Llama。 本模型以 Meta Llama 3.2 建構。
  • —基底模型:`meta-llama/Llama-3.2-11B-Vision-Instruct`(Meta Platforms, Inc.)。
  • —模型命名:依授權要求,衍生模型名稱以「Llama」開頭。
  • —授權文本:本散布隨附 Llama 3.2 Community License Agreement 副本(見本 repo LICENSE);須提供該授權副本並保留本聲明。
  • —可接受使用政策:使用須遵守 Meta Acceptable Use Policy。
  • —歐盟(EU)限制:Llama 3.2 授權規定,設立地或主要營業地在歐盟的個人或公司,不被授予使用 Llama 3.2 多模態模型所含之多模態能力的授權。
  • —大規模服務門檻:月活躍使用者超過 7 億須另向 Meta 申請授權。
  • —微調與散布由 云碩科技 xCloudinfo 進行;不得用於非法用途;須遵守中華民國相關法律。

字型:合成訓練語料所用字型均為開放授權(SIL OFL 1.1、jf 開放授權、GPL+字型例外等),僅用於產生訓練影像,本 repo 不散布字型檔本身。


Built with Llama. 由 云碩科技 xCloudinfo 於自有 AI 算力資源池微調、散布;基底模型之權利屬 Meta Platforms, Inc.。