이 글은 Deepseek OCR 파싱(Parsing) 기술을 간략히 분석해 설명한다.
AI 에이전트 개발 시 제일 문제가 되는 것 중 하나가 LLM의 먹이인 컨텍스트를 비정형 데이터에서 추출하는 챌린지이다. 이를 해결하려는 다양한 방법들이 있는 데, 보통은 파서, OCR, 벡터라이징 기술 등 여러가지를 조합해 솔류션을 구현한다.
최근 오픈소스로 DeepSeek OCR(https://github.com/deepseek-ai/DeepSeek-OCR) 이 릴리즈되었다. 문서 이미지에서 그림, 텍스트, 벡터 등을 인식해 레이아웃을 유지한 체 디지털 데이터로 변환할 수 있다.
물론 학습된 데이터 기준이겠지만, 다양한 비정형 멀티모달 데이터를 처리하려 노력한 것 같다.
참고로, OCR을 좀 더 가성비 있게 처리하는 여러 라이브러리가 있다. 아직 이런 VLM은 너무 많은 VRAM 메모리를 사용한다.
- Unstructured, Unstructured is open-source ETL solution for transforming complex documents into clean, structured formats for language models. Visit our website to learn more about our enterprise grade Platform product for production grade workflows, partitioning, enrichments, chunking and embedding.
- Surya, OCR, layout analysis, reading order, table recognition in 90+ languages
- EasyOCR, Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.
- Docling, Get your documents ready for gen AI
- PyMuPDF4LLM, PyMuPDF4LLM
이외 PyMuPDF, pdfplumber, python-doctr[torch], Paddle OCR, pytesseract 등이 성능이 좋다. 단, 각 라이브러리 마다 장단점(예. 레이아웃 파티션만 됨, OCR만 잘됨. 이미지 묘사만 잘 됨. 의존성 높아 설치 난해. 속도 매우 느리나 성능 좋음. GPU 사용해야 함. 버전 개선 없음 등)을 고려해야 한다.
레퍼런스
- PaddlePaddle/PaddleOCR: Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100+ languages.
- Layout Parser, Unified Toolkit for Deep Learning Based Document Image Analysis
부록: 레이아웃 파티션 비교
- Surya
VRAM 소모: 약 2GB ~ 4GB (8GB 환경에 아주 쾌적함)특징: 최근 가장 각광받는 오픈소스 경량 AI 레이아웃 모델.멀티모달 적합성 (최상): 텍스트, 그림, 표, 캡션을 딥러닝 기반으로 분리.
- Unstructured (partition_pdf)
VRAM 소모: 약 3GB ~ 5GB (내부적으로 YOLOX나 Detectron2 모델 사용 시)특징: LLM/RAG 데이터 전처리의 업계 표준(De facto standard).멀티모달 적합성 (상): 성능은 훌륭하고 범용성이 뛰어나지만, 무거운 편이고 종속성(Dependency) 설치가 꽤 까다로워 가상환경이 꼬이기 쉬움.
- PyMuPDF (fitz)
VRAM 소모: 0GB (순수 CPU 구동)특징: 파이썬 PDF 라이브러리 중 압도적인 처리 속도.멀티모달 적합성 (중하): AI 딥러닝 방식이 아니라 규칙 기반(Rule-based)으로 좌표를 계산. 도면과 텍스트가 복잡하게 섞인 레이아웃을 논리적으로 분리하는 데는 한계가 명확.
- pdfplumber
VRAM 소모: 0GB (순수 CPU 구동)특징: 표(Table) 추출. 문서의 선(Line)을 인식해서 표를 데이터프레임으로 추출.멀티모달 적합성 (하): 전체 레이아웃을 파티셔닝하는 용도보다는, 특정 페이지에 있는 표의 구조를 유지하며 긁어올 때 쓰는 보조 도구에 가까움. 처리 속도도 매우 느린 편.



댓글 없음:
댓글 쓰기