2025년 10월 29일 수요일

Deepseek 기반 문서 레이아웃 파티셔닝, OCR 파싱 기술 분석 및 멀티모달 데이터셋 파이프라인 개발

이 글은 Deepseek OCR 파싱(Parsing) 기술을 간략히 분석해 설명한다. 

AI 에이전트 개발 시 제일 문제가 되는 것 중 하나가 LLM의 먹이인 컨텍스트를 비정형 데이터에서 추출하는 챌린지이다. 이를 해결하려는 다양한 방법들이 있는 데, 보통은 파서, OCR, 벡터라이징 기술 등 여러가지를 조합해 솔류션을 구현한다. 

최근 오픈소스로 DeepSeek OCR(https://github.com/deepseek-ai/DeepSeek-OCR) 이 릴리즈되었다. 문서 이미지에서 그림, 텍스트, 벡터 등을 인식해 레이아웃을 유지한 체 디지털 데이터로 변환할 수 있다. 


물론 학습된 데이터 기준이겠지만, 다양한 비정형 멀티모달 데이터를 처리하려 노력한 것 같다. 

참고로, OCR을 좀 더 가성비 있게 처리하는 여러 라이브러리가 있다. 아직 이런 VLM은 너무 많은 VRAM 메모리를 사용한다. 

이외 PyMuPDF, pdfplumber, python-doctr[torch], Paddle OCR, pytesseract 등이 성능이 좋다. 단, 각 라이브러리 마다 장단점(예. 레이아웃 파티션만 됨, OCR만 잘됨. 이미지 묘사만 잘 됨. 의존성 높아 설치 난해. 속도 매우 느리나 성능 좋음. GPU 사용해야 함. 버전 개선 없음 등)을 고려해야 한다.

레퍼런스
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)을 인식해서 표를 데이터프레임으로 추출.
멀티모달 적합성 (하): 전체 레이아웃을 파티셔닝하는 용도보다는, 특정 페이지에 있는 표의 구조를 유지하며 긁어올 때 쓰는 보조 도구에 가까움. 처리 속도도 매우 느린 편.

댓글 없음:

댓글 쓰기