top of page

大型語言模型(LLM)落地部署筆記

公開·1 位會員

RolmOCR 詳細技術報告

【技術分享】RolmOCR:基於 Qwen2.5-VL 的高效開源 OCR 新選擇!

RolmOCR 是由 Reducto 開發的一款開源光學字符識別(OCR)模型,基於 Qwen/Qwen2.5-VL-7B-Instruct 模型進行微調,專為高效處理多樣化文檔而設計。本報告提供其技術細節,包括模型架構、訓練數據、性能評估、應用場景與局限性,並與其他主流 OCR 解決方案進行比較,供技術人員與研究者參考。

如果你正在尋找 Tesseract 以外的開源 OCR 方案,或是對大型視覺語言模型在 OCR 上的應用感興趣,這份介紹或許能提供一些參考。


核心重點:RolmOCR 是什麼?

  • 開發者:Reducto

  • 基礎模型:Qwen/Qwen2.5-VL-7B-Instruct (阿里巴巴雲 Qwen 團隊)

  • 類型:開源 OCR 模型 (Apache 2.0 授權)

  • 目標:高效、準確地處理多樣化文件,特別是掃描和手寫內容。

  • 特色:速度快、資源佔用相對較低、不依賴 PDF 中繼資料。

模型架構與技術規格

RolmOCR 繼承了 Qwen2.5-VL 的多模態能力,並針對 OCR 進行優化:

  • 參數規模:82.9 億

  • 張量類型:BF16 (運算效率更高)

  • 上下文長度:支援高達 128K 令牌 (適合長文件)

  • 支援語言:多語言 (>29 種,含中文、英文、法文等)

  • 核心函式庫:Hugging Face Transformers

  • 模型類型:AutoModelForImageTextToText

  • 前處理器:AutoProcessor

訓練資料與方法

模型是在一個大規模、多樣化的資料集上訓練的:

  • 資料集:allenai/olmOCR-mix-0225

  • 包含超過 10 萬份獨立文件,總頁數約 26.6 萬頁。

  • 來源主要是網路 PDF 和 Internet Archive 的書籍掃描。

  • 文件類型:涵蓋學術論文 (大宗, 約 60%)、宣傳冊、法律文件、表格、圖表、投影片等。

  • 訓練特色

  • 資料增強:包含旋轉過的圖片 (約 15%),提升對傾斜文件的辨識力。

  • 無中繼資料設計:刻意不使用 PDF 的中繼資料 (如標題、頁碼),以減少輸入提示長度,降低處理時間和 VRAM 需求。這在多數情況下不影響準確性。

  • 微調策略:在 Qwen 基礎上針對 OCR 任務進行優化。


RolmOCR 的主要優勢

和它的前身 olmOCR 或其他一些方案相比:

  • 🚀 高效率:推理速度快,VRAM 佔用更低,適合批次處理或資源有限的環境。

  • 📄 不依賴中繼資料:簡化了處理流程,提高了效率,適用於多數不需精確結構分析的文件。

  • 💪 魯棒性提升:對旋轉、傾斜的文件處理更好,支援多語言和手寫內容。

  • 🌐 開源易用:在 Hugging Face 上提供完整模型和指南 (Apache 2.0 授權),方便整合與二次開發。

性能表現如何?

目前雖然缺乏官方的 CER/WER 精確數字,但根據開發者的說明和案例:

  • 強項

  • 處理手寫筆記效果不錯,能辨識模糊字跡並保持順序。

  • 提取掃描信封上的主要資訊(地址、姓名)準確。

  • 學術文獻的純文字提取表現優異。

  • 待改進

  • 對於含多層子標題的複雜表格,可能會漏掉部分內容(這時利用中繼資料的 olmOCR 可能稍好)。

  • 字體過小或圖片解析度低的情況下,準確率會下降。

  • 和 olmOCR 比:RolmOCR 速度和效率勝出,多數情況準確率相當,但在極度依賴中繼資料的複雜結構場景可能略遜。

應用場景與如何使用

你可以將 RolmOCR 用在:

  • 學術研究 (論文/書籍數位化)

  • 檔案數位化 (歷史文件、信件手稿)

  • 商業文件處理 (提取合約、發票資訊)

如何開始使用?

  1. 模型下載:前往 Hugging Face 搜尋 reducto/RolmOCR。

  1. 執行環境:建議使用至少 16GB VRAM 的 GPU (如 NVIDIA A100),也可在 CPU 跑 (較慢)。

  2. 範例程式碼 (Python)

Python

from transformers import AutoModelForImageTextToText, AutoProcessor
import torch
from PIL import Image # 需要 Pillow 函式庫

# 建議明確指定資料類型以符合模型需求 (BF16 優先)
dtype = torch.bfloat16 if torch.cuda.is_available() and torch.cuda.get_device_capability()[0] >= 8 else torch.float32
device = "cuda" if torch.cuda.is_available() else "cpu"

print(f"準備在 {device} 上載入模型,使用資料類型 {dtype}...")

# 載入模型與前處理器
try:
    model = AutoModelForImageTextToText.from_pretrained(
        "reducto/RolmOCR",
        torch_dtype=dtype,
        trust_remote_code=True # 部分 Hugging Face 模型需要
    ).to(device)
    processor = AutoProcessor.from_pretrained("reducto/RolmOCR", trust_remote_code=True)
    print("模型與處理器載入成功!")
except Exception as e:
    print(f"載入失敗: {e}")
    exit()

# 替換成你的圖片路徑
image_path = "YOUR_DOCUMENT_IMAGE.jpg"
try:
    image = Image.open(image_path).convert("RGB")
except FileNotFoundError:
    print(f"錯誤:找不到圖片 {image_path}")
    exit()
except Exception as e:
    print(f"讀取圖片失敗: {e}")
    exit()

# 準備輸入
inputs = processor(images=image, return_tensors="pt").to(device, dtype=dtype)

# 執行 OCR 推理
print("開始進行 OCR 辨識...")
try:
    outputs = model.generate(**inputs, max_new_tokens=1024) # 可調整 max_new_tokens
    text = processor.decode(outputs[0], skip_special_tokens=True)
    print("\n--- 辨識結果 ---")
    print(text)
    print("--- 辨識完成 ---")
except Exception as e:
    print(f"辨識過程中發生錯誤: {e}")

  1. 授權:Apache 2.0 (可商用,需遵守條款)。同時需注意 AI2 和 OpenAI 的相關使用規範。

RolmOCR vs. 其他常見 OCR 工具

簡單比較一下 RolmOCR 和市面上其他方案的定位:

  • Tesseract OCR

  • 老牌開源,免費,支援語言多。

  • 缺點:速度較慢,對複雜排版和手寫較弱。

  • RolmOCR 在速度和準確率上通常更優。

  • PaddleOCR

  • 百度開源,表格和版面分析是強項,支援多語言。

  • 缺點:技術門檻稍高,手寫辨識可能不如 RolmOCR。

  • 選 PaddleOCR 如果你需要強大的表格/版面分析;選 RolmOCR 如果看重速度和泛用性。

  • Google Cloud Vision API

  • 商業雲端服務,準確率極高,功能全面。

  • 缺點:付費,需聯網。

  • 預算充足且追求頂級準確性的選擇。RolmOCR 是免費本地替代。

  • Amazon Textract

  • AWS 雲端服務,專精表格和表單提取。

  • 缺點:付費,需技術整合。

  • 處理結構化數據的強項。RolmOCR 成本和部署更靈活。

  • ABBYY FineReader

  • 成熟的商業軟體,功能豐富,準確率高。

  • 缺點:價格高 (訂閱制),核心引擎可能較舊。

  • 傳統專業級選擇。RolmOCR 更現代化且免費。

  • EasyOCR

  • 輕量開源,易用,手寫和多語言支援不錯。

  • 缺點:複雜排版能力有限,速度中等。

  • 易用性和手寫是亮點。RolmOCR 基於更大模型,整體性能更強。

局限性與未來展望

  • 待補強:缺乏公開的量化性能數據、處理極複雜表格/低畫質圖片仍有挑戰。

  • 可期待:未來若有更詳細的性能報告、對複雜文件的加強、或提供輕量化版本(如 INT8 量化),會更有利於評估和應用。

總結與建議

RolmOCR 是一個非常有潛力的開源 OCR 方案,它結合了大型視覺語言模型的威力與 OCR 任務的優化,在速度、效率和準確性上取得了不錯的平衡。

如何選擇?

  • 追求免費、高效的開源方案:RolmOCR 是首選,尤其適合學術文件、掃描件。若側重表格分析,可考慮 PaddleOCR。若求簡單易用+手寫,可試試 EasyOCR

  • 需要頂級商業級準確性/功能:Google Vision 或 Amazon Textract (雲端) / ABBYY (桌面/伺服器)。

  • 重視本地部署與成本:RolmOCR 的優勢明顯。

參考資源

91 次瀏覽

關於

AI 人工智慧 大型語言模型(LLM)落地部署評估與應用可能性紀錄

會員

訂閱

02 7720 9899

©2019 by GETOP Systems Inc.
堅達資訊實業股份有限公司

bottom of page