Skip to content
logo

Marker - 성공하면 최고, 하지만 안정성이 문제인 PDF 파서

2026-03-265 min read·
#pdf-parser
#document-ai
#rag
#marker
#surya-ocr
#layout-analysis

Marker v1.10.1의 내부 구조를 분석하고 READoc 벤치마크로 성능을 평가한다. Surya OCR 기반의 ML 파서로, 성공한 문서에서 80.6% Edit Similarity(5개 파서 중 최고)를 달성하지만, 63%의 문서에서 에러가 발생하여 안정성에 문제가 있다.

Summary

Marker는 Vik Paruchuri(Datalab)가 개발한 GPL-3.0 PDF 파서로, Surya OCR 기반이다. READoc 벤치마크에서 성공한 문서의 **80.6% Edit Similarity(5개 파서 중 최고)**를 기록했지만, 63%의 문서에서 에러가 발생하여 안정성이 최대 약점이다.

개요

항목내용
개발자Vik Paruchuri / Datalab
GitHubdatalab-to/marker
최신 버전v1.10.1 (2026-01-31)
라이선스GPL-3.0 (상용 제한)
GitHub Stars~33,000+
Python3.10+
GPU 필요선택 (MPS/CUDA 가속 가능)
모델 크기~2GB+ (Surya 모델들)
관련 프로젝트Surya OCR (동일 개발자)

Marker는 같은 개발자가 만든 Surya OCR을 핵심 엔진으로 사용하는 PDF-to-Markdown 파서다. 90개 이상 언어를 지원하며, 학술 논문이나 복잡한 문서에서 구조 보존 품질이 가장 높다. 다만 GPL-3.0 라이선스와 안정성 문제가 걸림돌이다.


내부 파이프라인

PDF 입력
  → Surya 레이아웃 감지 (텍스트/테이블/이미지/수식 영역 분류)
  → Surya OCR (텍스트 인식, 90개 언어)
  → 테이블 구조 인식
  → 수식/코드 블록 감지
  → 읽기 순서 결정
  → Markdown 생성 (헤딩 레벨, 볼드/이탤릭, 이미지 참조)

Surya OCR

Marker의 모든 OCR/레이아웃 작업을 담당하는 핵심 엔진:

  • 레이아웃 감지: 텍스트, 테이블, 이미지, 헤더, 수식 등 영역 분류
  • 텍스트 인식: 90개 이상 언어 지원
  • 읽기 순서 감지: 다단 레이아웃에서 자연스러운 읽기 순서
  • 테이블 인식: 셀 구조 감지 및 재구성

Marker의 차별점

다른 파서들과 비교했을 때 Marker의 독특한 점:

  • 헤딩 레벨 구분: # H1, ## H2를 정확히 구분 (MinerU/Docling/PyMuPDF4LLM은 단일 레벨)
  • 위첨자/아래첨자: <sup>, <sub> HTML 태그 처리
  • 이미지 참조: ![](_page_1_Figure_1.jpeg) 형태로 이미지를 인라인 참조
  • 코드 블록 감지: 코드 영역을 별도로 인식
  • 링크/참조: [\[1\]](#page-9-0) 형태의 내부 참조 처리

설치 및 사용법

uv venv marker-env --python 3.12
source marker-env/bin/activate
uv pip install marker-pdf

Python API

from marker.converters.pdf import PdfConverter
from marker.models import create_model_dict
from marker.config.parser import ConfigParser
 
# 모델 로딩 (최초 1회, 시간 소요)
config = ConfigParser({})
model_dict = create_model_dict()
converter = PdfConverter(
    config=config.generate_config_dict(),
    artifact_dict=model_dict
)
 
# 변환
rendered = converter("input.pdf")
markdown = rendered.markdown
images = rendered.images  # dict: filename → PIL.Image

주요 설정

파라미터설명
force_ocr모든 페이지에 OCR 강제 적용
output_format출력 형식 (markdown, json, html)
languagesOCR 언어 지정

READoc 벤치마크 결과

결과

메트릭
Edit Similarity (성공분)80.6% ★ 최고
Edit Similarity (전체)29.8%
처리 시간9,139초 (92문서, 152분)
문서당 평균 (성공분)237초
성공률37% (34/92)

실패 원인 분석

58개 문서가 동일한 에러 패턴으로 실패:

index 8192 is out of bounds: 2, range 0 to 4756

이는 Surya 모델의 토큰 시퀀스 길이 제한(8192)을 초과하는 문서에서 발생한다. 긴 논문이나 페이지 수가 많은 문서에서 주로 발생하며, Marker/Surya의 알려진 한계다.

성공한 문서의 품질

성공했을 때의 출력 품질은 5개 파서 중 최고:

# 1 Introduction
 
## 1.1 A Richer Picture of Academic Mathematics
 
What do mathematicians do? Ask a pure mathematician...
 
![](_page_1_Figure_1.jpeg)
 
Figure 1: A "mathematical pyramid"...
  • # / ## / ### 헤딩 레벨 정확
  • 이미지 인라인 참조 포함
  • 위첨자 <sup> 처리
  • 문단 분리 정확

파서 비교 (READoc)

파서Edit Sim속도성공률라이선스
MinerU (MPS)77.2%69초100%AGPL
Marker (성공분)80.6%237초37%GPL
Docling74.3%4.9초100%MIT
PyMuPDF4LLM73.4%1.9초100%AGPL
LiteParse50.7%0.1초100%MIT

장단점 분석

장점

  • 최고 품질: 성공한 문서에서 80.6% Edit Similarity
  • 헤딩 레벨 정확: 유일하게 H1/H2/H3 구분 가능
  • 풍부한 Markdown: 위첨자, 이미지 참조, 코드 블록, 링크 처리
  • 90개 언어: Surya OCR 기반 다국어 지원
  • 이미지 출력: PIL.Image 객체로 직접 제공

단점

  • 안정성 문제: 63% 실패율 (토큰 길이 제한)
  • 느린 속도: 성공해도 237초/문서
  • GPL-3.0 라이선스: 상용 서비스 포함시 소스 공개 의무
  • 높은 메모리: ~5.2GB RAM 사용
  • 모델 로딩 시간: 첫 실행 시 수 분 소요
  • 수식 LaTeX: 제한적 (MinerU보다 약함)

추천 사용처

사용처적합도이유
짧은 문서 (< 10페이지)★★★★☆토큰 제한 회피, 최고 품질
학술 논문 (짧은 것)★★★★☆헤딩/참조/이미지 구조 보존
대량 배치 처리★★☆☆☆63% 실패 + 느린 속도
상용 프로젝트★★☆☆☆GPL-3.0 제약
긴 문서 (50+ 페이지)★☆☆☆☆토큰 제한으로 거의 확실히 실패

정리

Marker는 "성공하면 최고, 하지만 성공을 보장할 수 없는" 파서다. 80.6%의 Edit Similarity는 테스트한 5개 파서 중 최고이며, 헤딩 레벨 구분, 이미지 참조, 위첨자 처리 등 Markdown 품질이 가장 풍부하다.

하지만 63% 실패율과 237초/문서의 처리 시간은 프로덕션 환경에서 치명적이다. 짧은 문서를 소량으로 처리하는 경우에만 추천하며, 대량 처리나 안정성이 중요하다면 Docling(MIT, 100% 성공, 4.9초)이나 MinerU(AGPL, 100% 성공, 69초)가 더 적합하다.


이 파서의 헤딩/테이블/수식/이미지 처리 결과를 다른 파서와 직접 비교한 글: PDF 파서 5종 비교 분석

참고

Linked from (2)

Comments