Yuliang-Liu/MonkeyOCRv2

MonkeyOCRv2 Vision Encoder — A Document-Native Visual Backbone

MonkeyOCRv2 – Document AI를 위한 시각-텍스트 파운데이션 모델

소개 – MonkeyOCRv2는 오픈 소스, 문서 지향적 비전 인코더와 OCR 스타일 작업(텍스트 감지, 인식, 파싱, 이해, 수식 인식 등)을 위한 일련의 다운스트림 모델입니다. Hugging Face/ModelScope 모델 동물원으로 출시되었으며, 모든 PyTorch/Transformers 파이프라인에 쉽게 통합할 수 있습니다.

주요 구성 요소

구성 요소 목적 일반적인 크기
비전 인코더 (MonkeyOCRv2‑S /‑B /‑AS) 문서 이미지에서 이미지 특징을 추출합니다. ViT‑S, ViT‑B 또는 ViTAE‑v2‑S 백본을 기반으로 구축되었습니다. 28 M – 113 M 매개변수
파싱 모델 (‑S‑Parsing /‑B‑Parsing) 다국어 레이아웃 인식 문서 파싱(표, 제목 등). ~0.6‑0.7 B 매개변수
이해 모델 (‑S‑Und /‑B‑Und) 엔드투엔드 문서 질의응답(DocVQA, InfoVQA, ChartQA 등). ~1.7‑1.8 B 매개변수

모든 모델은 17개 언어(라틴 및 비라틴 문자)를 지원하며 MDPBench, DocVQA, OCRBench, Union14M 등에서 벤치마킹되었습니다.

시작하는 방법

  1. conda 환경을 생성하고(Python 3.11) 필요한 라이브러리 – PyTorch 2.8, transformers, accelerate, flash‑attn, vllm(빠른 추론용) 및 modelscope(선택 사항)를 설치합니다.
  2. 가중치 다운로드 – 제공된 download_model.py 스크립트를 사용하여 모델 이름(예: MonkeyOCRv2-B)을 선택합니다.
  3. 비전 인코더vision/extract_feature.py(또는 AS 변형의 경우 extract_feature_vitae.py)를 실행하여 이미지 임베딩을 얻습니다.
  4. 문서 파싱 – vLLM 서버(parsing/serve.py)를 시작하고 parsing/parse.py(CLI)를 호출하거나, 제공된 Gradio/FastAPI 데모를 사용하여 PDF 또는 이미지를 보내고 Markdown 레이아웃을 받습니다.
  5. 문서 이해 – 마찬가지로 understanding/serve.py를 시작하고 자연어 질문을 사용하여 understanding/infer.py를 실행합니다.

특별 참고 사항

  • CPU 지원 – 2026‑08‑22 기준으로 파싱 서비스는 CPU에서 실행할 수 있습니다(docs/cpu_support.md 참조).
  • DFlash 가속 – vLLM 0.25.1 + CUDA 12.9+를 사용하면 B‑Parsing 모델의 추론 속도를 최대 2배까지 높일 수 있습니다.
  • MonkeyDoc v2 데이터셋 – 문서 모델 사전 학습을 위해 출시된 113 M 이미지-텍스트 쌍 코퍼스(다운로드 후 약 10 TB).

모델을 찾을 수 있는 곳

일반적인 사용 사례 예시 (Python)

from transformers import AutoModel

# Load the vision backbone
encoder = AutoModel.from_pretrained(
    "zenosai/MonkeyOCRv2-B",
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

중요성 – 단일의 문서 네이티브 시각 인코더와 고성능 다국어 파싱/이해 헤드를 제공함으로써, MonkeyOCRv2는 연구원과 개발자가 별도의 감지, 인식 및 레이아웃 모델을 조합할 필요 없이 스캔한 PDF, 사진, 과학 논문, 역사적 문서, 심지어 원격 감지 보고서에서도 바로 작동하는 OCR 파이프라인을 구축할 수 있게 해줍니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트