xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v2
Llama-xReadable-11B-zhTW-OCR-v2
Built with Llama
云碩科技 · xCloudinfo · 系列:Meta Llama 3.2 Vision · 云碩繁體中文 OCR
以 `meta-llama/Llama-3.2-11B-Vision-Instruct` 為基底,由云碩科技在自有 AI 算力資源池上微調的繁體中文(台灣)OCR 模型。專注台灣場景的文字辨識——公文、票據、文件與各類筆記的中英混寫內容,可地端部署、資料不外流。xReadable:讓文件被讀懂。
### 已有更新版本 新導入請使用 [`Llama-xReadable-11B-zhTW-OCR-v3`](https://huggingface.co/xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v3) —— 字型多樣性由 5 個設計家族擴充至 16 個,印刷辨識在各項量測上全面優於本版。本頁保留供既有使用者參考。
v2 相對 v1 的變化:真實手寫訓練樣本大幅擴充(含首次納入純英文樣本),長篇手寫辨識大幅改善;短篇手寫與 v1 相當;印刷/掃描辨識維持生產可用水準。定位:印刷/掃描文件辨識為生產可用主力;手寫辨識持續迭代中。
能力與量測(真實資料、逐字 CER,越低越好)
評測皆以真實拍攝/掃描或渲染文件影像計算字元錯誤率(CER)。
未見字型的實測表現
上表 0.73% 係在內部測試集上量測,該測試集的渲染字型與訓練資料同源。為量測真實泛化能力,我們另以訓練從未使用過的字型驗證:
本模型對未見過的字型泛化良好:未見宋體 0.00%、未見黑體 2.78%。
勘誤(2026-07-23):本卡片先前版本記載「未見宋體 25~28%」並據此描述字型泛化不足。該數字係測試影像製作錯誤所致,並非模型表現:Songti.ttc的第 0 個字面為簡體字面(Songti SC Black),缺少「碩體學識測試義區號電話機驗證準確」等繁體字;PILImageFont.truetype(path, size)預設取 index=0,缺字被靜默渲染為空白(非豆腐字方框),模型正確辨識了影像上實際存在的文字,是比對用的 ground truth 有誤。改用同一檔案中的 Songti TC Regular(index=7)重製測試圖後,實測為 0.00%。特此更正。 提醒自行評測者:渲染測試影像後請逐字確認非空白再用於量測,否則會把字型缺字誤判為模型缺陷。
更強的版本:字型多樣性已於 v3 擴充至 16 個設計家族(另保留 8 家族全程不進訓練供泛化量測),未見黑體由 2.78% 進步至 1.39%。新導入建議直接使用 v3。
誠實說明:手寫短篇的 64~66% 是「影像難度地板」,非模型天花板
我們以完全不同架構的開源 OCR(NVIDIA nemotron-ocr-v2,偵測+辨識管線、非語言模型)在同一組真實手寫短篇上交叉驗證,逐張 CER 與本模型幾乎完全一致(例:某淡鉛筆掃描頁兩者皆約 88%、某清晰頁兩者皆約 45%)。兩種原理迥異的系統得到相同的逐張結果,代表該數字主要由影像本身的可辨識度決定(淡鉛筆、潦草、低對比=物理極限),而非單一模型的弱點。清晰書寫的短篇手寫,實測可達 40% 上下;影像品質是關鍵變因。
用途與限制
- 適用:台灣繁中印刷/掃描文件的地端 OCR、文件數位化、票據與筆記辨識前處理;長篇手寫筆記轉錄(v2 已明顯改善)。
- 輸出正規化:本模型輸出統一為繁體中文(訓練標註採繁體正規化);輸入含簡寫字時亦會輸出對應繁體。
- 限制:
- 字型多樣性:本版合成訓練語料涵蓋 7 個字型;未見字型實測 0.00%~2.78%。v3 已擴充至 16 個設計家族,表現更佳。
- 手寫辨識仍在迭代;潦草、淡筆、低對比字跡可能出錯,重要用途請務必人工複核。
- 純英文段落已納入訓練但樣本量仍有限。
- 表格/複雜版面建議先切行/切格再辨識。
- 輸出僅供辨識參考,不宜作為法律、醫療、財務等關鍵決策的唯一依據。
格式與相容性
本 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)
from transformers import MllamaForConditionalGeneration, AutoProcessor
from PIL import Image
import torch
model_id = "xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v2"
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)
vllm serve xCloudinfo/Llama-xReadable-11B-zhTW-OCR-v2 --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 進行;不得用於非法用途;須遵守中華民國相關法律。
Built with Llama. 由 云碩科技 xCloudinfo 於自有 AI 算力資源池微調、散布;基底模型之權利屬 Meta Platforms, Inc.。
