--- license: mit language: - ja - en - zh base_model: baidu/Unlimited-OCR library_name: mlx pipeline_tag: image-text-to-text tags: - mlx - ocr - document-parsing - japanese - quantized --- # Unlimited-OCR (MLX 4bit, verified) Baiduの [Unlimited-OCR](https://huggingface.co/baidu/Unlimited-OCR)(3.3B・DeepSeek-V2系MoE+MLA+deepencoder構成のドキュメントパースモデル)を、公式重みからMLX 4bit(group size 64、実効5.88bpw)に量子化したものです。日本語ビジネス文書での検証済みで公開しています。 ページ画像から、レイアウト検出ボックス(`<|det|>種別 [x1,y1,x2,y2]<|/det|>`)付きで読み順どおりのテキスト(表はHTML)を出力します。 ## なぜ公開するか 公開時点で存在した本モデルの既存MLX変換を同一プロトコルで検証したところ、現行mlx-vlmでロードできないもの(model_type改名)や、トークナイザ不整合により出力がbyte-BPE片のまま文字化けするものを確認しました。本リポジトリは公式重みから変換し、下記の検証を通した上で公開しています。 ## 変換品質の検証(tokimoa) 日本語ビジネス文書5種(請求書・議事録・契約条項・チェックシート・英日混在技術文書、正解文字列59項目)で検証: - テキスト内容がbf16版と4/5画像で一致。唯一の差分は記号1箇所(bf16が「X」とした×記号を4bitは「×」と正しく出力) - 正解文字列カバレッジ **58/59**・検出ボックス座標の差は±数px - 同一入力の反復で出力完全一致(決定論的) ## 実測速度(M4 Max 36GB) - 生成: 368 tok/s / ピークメモリ: 5.9GB(MoEのアクティブパラメータが小さいため高速) ## 使い方 チャットテンプレートではなく、**素のプロンプトに `` トークンを含める**形式です: ```python # pip install mlx-vlm (0.6.7で動作確認) from mlx_vlm import load, generate model, processor = load("tokimoa/unlimited-ocr-mlx-4bit") out = generate(model, processor, "document parsing.", image=["page.png"], max_tokens=4096, temperature=0.0) print(out.text) ``` 複数ページは `"Multi page parsing."`(上流README準拠)。 ## 変換情報 - 変換元: `baidu/Unlimited-OCR`(公式重み) - 変換: `mlx-vlm 0.6.7` `convert` `-q --q-bits 4`(2.4GB) - 変換者: [tokimoa](https://tokimoa.jp) ## ライセンス MIT(元モデルに準拠)