문서와 다이어그램 이해
문서는 사진이 아닙니다. PDF, 과학 논문, 송장(invoice), 손글씨 양식에는 일반 이미지 이해만으로 포착할 수 없는 레이아웃(layout), 표, 다이어그램, 각주, 머리글, 의미 구조가 있습니다. VLM 이전의 스택은 파이프라인이었습니다. Tesseract OCR + LayoutLMv3 + 표 추출(table-extraction) 휴리스틱이 대표적입니다. VLM 흐름은 이를 OCR이 필요 없는 모델(OCR-free models)로 대체했습니다. Donut(2022), Nougat(2023), DocLLM(2023)은 구조화 마크업(structured markup)을 직접 출력합니다. 2026년 최전선은 "페이지 이미지를 2576px 네이티브(native) 해상도 그대로 Claude Opus 4.7에 넣기"에 가깝고, 구조화 마크업 출력은 자연스럽게 따라옵니다. 이 lesson은 문서 AI(document AI)의 세 시대를 따라갑니다.
유형: Build
언어: Python (표준 라이브러리, 레이아웃 인식 문서 파서 뼈대)
선수 지식: Phase 12 · 05 (LLaVA), Phase 5 (NLP)
예상 시간: 약 180분
학습 목표
- 문서 AI의 세 시대, 즉 OCR 파이프라인(OCR pipeline), OCR-free, VLM-native를 설명합니다.
- LayoutLMv3의 세 입력 스트림인 텍스트, 레이아웃(layout, bbox), 이미지 패치(image patches)와 통합 마스킹(unified masking)을 설명합니다.
- Donut(OCR-free, 이미지 → 마크업), Nougat(과학 논문 → LaTeX), DocLLM(레이아웃 인식 생성 모델), PaliGemma 2(VLM-native)를 비교합니다.
- 새 과제, 예를 들어 송장, 과학 논문, 손글씨 양식, 중국어 영수증에 적합한 문서 모델을 선택합니다.
문제
"이 PDF를 이해해줘"라는 요청은 겉보기와 달리 매우 어려운(deceptively hard) 작업입니다. 정보는 다음 위치에 흩어져 있습니다.
- 텍스트 내용. 신호의 90%를 차지합니다.
- 레이아웃. 머리글, 각주, 사이드바, 2단 구성 등이 포함됩니다.
- 표. 행, 열, 병합 셀이 포함됩니다.
- 그림과 다이어그램.
- 손글씨 주석.
- 글꼴과 타이포그래피(typography). 제목과 본문을 구분하는 단서입니다.
순수 OCR은 텍스트만 뽑아내고 나머지 정보를 모두 잃습니다. 송장을 다루는 시스템은 "Total: $1,245"라는 값이 각주가 아니라 페이지 오른쪽 아래에서 왔다는 사실을 알아야 합니다.
개념
시대 1 — OCR 파이프라인(2021년 이전)
전통적인 스택은 다음과 같습니다.
- PDF를 페이지별 이미지로 변환합니다.
- Tesseract 또는 상용 OCR이 단어별 경계 상자(bounding boxes)와 함께 텍스트를 추출합니다.
- 레이아웃 분석기가 머리글, 표, 문단 같은 블록을 식별합니다.
- 표 구조 인식기가 표를 파싱(parsing)합니다.
- 도메인 규칙과 정규식(regex)이 필드를 추출합니다.
깨끗한 인쇄 텍스트에는 잘 작동합니다. 손글씨, 기울어진 스캔, 복잡한 표, 비영어권 문자 체계에서는 깨집니다. 실패 모드 하나하나마다 맞춤형 예외 처리 경로가 필요합니다.
TrOCR(2021)
TrOCR(Li et al., arXiv:2109.10282)은 Tesseract의 전통적인 CNN-CTC 구조를, 합성(synthetic) 데이터와 실제(real) 텍스트 이미지를 함께 사용해 학습한 트랜스포머 인코더-디코더(transformer encoder-decoder)로 대체했습니다. 손글씨와 다국어 텍스트에서 분명한 개선을 보여주었습니다. 여전히 탐지기(detector) → TrOCR → 레이아웃으로 이어지는 파이프라인이지만, OCR 단계 자체는 크게 좋아졌습니다.
시대 2 — OCR-free(2022-2023)
초기 OCR-free 모델의 주장은 단순했습니다. 탐지(detection)를 완전히 건너뛰고, 이미지 픽셀을 곧바로 구조화된 출력으로 매핑하자는 것이었습니다.
Donut(Kim et al., arXiv:2111.15664):
- 인코더-디코더 트랜스포머이며, 인코더는 Swin-B를 사용합니다.
- 양식 이해(form understanding)에는 JSON을, 요약에는 markdown을, 그 밖에 과제별 schema를 출력합니다.
- OCR도, 레이아웃 분석도, 탐지도 없습니다.
Nougat(Blecher et al., arXiv:2308.13418):
- 과학 논문에 특화해 학습되었습니다.
- 출력은 LaTeX / markdown입니다.
- 수식, 다단 레이아웃, 그림을 처리합니다.
- 모든 arXiv 파서가 호출하게 된 사실상의 표준 모델입니다.
이들은 특정 영역에 특화된 전문가 모델(specialists)이지, 범용 모델(generalists)이 아닙니다. Donut은 과학 논문에서 실패하고, Nougat은 송장에서 실패합니다.
LayoutLMv3(2022)
또 다른 흐름도 있었습니다. LayoutLMv3(Huang et al., arXiv:2204.08387)는 OCR을 유지하되 레이아웃 이해를 함께 학습하도록 추가했습니다.
- 세 입력 스트림: OCR 텍스트 토큰, 토큰별 2D 경계 상자, 이미지 패치
- 세 모달리티(modality) 전체에 걸친 마스킹 학습 목표(masked text, masked patches, masked layout)
- 활용 과제(downstream): 분류, 엔티티 추출(entity extraction), 표 QA
LayoutLMv3는 OCR 기반 문서 이해의 정점에 해당합니다. 양식과 송장에 강하며, 상류(upstream) 단계에서 OCR이 반드시 필요합니다. 표준화된 문서 벤치마크에서는 VLM 등장 이전 기준 최고의 정확도를 기록했습니다.
DocLLM(2023)
DocLLM(Wang et al., arXiv:2401.00908)은 LayoutLM의 생성형 형제 모델입니다. 레이아웃 토큰에 조건화된(conditioned) 자유 형식 답변을 생성합니다. 문서 QA에는 더 적합하지만, 여전히 OCR 입력에 의존합니다.
시대 3 — VLM-native(2024+)
2024년이 되자 VLM은 전체 파이프라인을 통째로 대체할 만큼 좋아졌습니다. 전체 페이지 이미지를 고해상도로 VLM에 넣고, 질문을 던지고, 답을 받는 식입니다.
- LLaVA-NeXT 336-tile AnyRes는 작은 문서에서 잘 작동합니다.
- Qwen2.5-VL은 동적 해상도(dynamic-resolution) 방식으로 2048px 이상을 네이티브 해상도 그대로 처리합니다.
- Claude Opus 4.7은 2576px 문서를 지원합니다.
- PaliGemma 2(2025년 4월)는 문서와 손글씨에 특화해 학습한 모델입니다.
VLM-native와 OCR 파이프라인 사이의 격차는 빠르게 좁혀졌습니다. 2026년 기준 VLM-native가 우세한 영역은 다음과 같습니다.
- 장면 텍스트(scene text). 손글씨와 인쇄체가 섞이고, 여러 문자 체계가 혼재된 경우.
- 병합 셀이 있는 복잡한 표.
- 본문 텍스트 안에 들어간 수식.
- 텍스트 주석이 달린 그림.
반대로 OCR 파이프라인이 여전히 우세한 영역도 있습니다.
- 페이지당 지연 시간이 중요한 대규모 순수 스캔 업무.
- 파이프라인 신뢰성. 결정적인 실패와 VLM 환각(hallucination) 사이의 차이가 큽니다.
- 감사 가능한(auditable) OCR 출력이 필요한 규제 환경.
Claude 4.7 / GPT-5 최전선
2576픽셀 네이티브 입력 조건에서 최전선 VLM은 사람 수준에 가까운 정확도로 문서를 이해합니다. 2026년 초 벤치마크(benchmark) 수치는 다음과 같습니다.
- DocVQA: Claude 4.7 약 95.1, PaliGemma 2 약 88.4, Nougat 약 77.3, LayoutLMv3 파이프라인 약 83
- ChartQA: Claude 4.7 약 92.2, GPT-4V 약 78
- VisualMRC: Claude 4.7 약 94
폐쇄형 모델과의 격차는 대부분 입력 해상도와 기반 LLM 규모 차이에서 비롯됩니다. 7B 규모의 공개(open) 모델은 몇 점 뒤처져 있지만 빠르게 따라잡고 있습니다.
수식과 LaTeX 출력
과학 논문에는 정확한 수식 LaTeX 출력이 필요합니다. Nougat은 바로 이 목적을 위해 학습되었습니다. LaTeX를 타깃으로 학습한 VLM, 예를 들어 Qwen2.5-VL-Math나 Nougat 파생 모델은 충분히 쓸 만한 LaTeX를 생성합니다. 반대로 명시적인 LaTeX 학습이 없으면, VLM은 읽을 수는 있어도 정확도가 떨어지는 전사(transcription)를 내놓습니다.
2026년 과학 논문 파이프라인은 PDF에 Nougat을 먼저 적용하고, 까다로운 페이지에 한해 VLM을 추가로 적용하는 구성이 권장됩니다.
손글씨
손글씨는 여전히 가장 어려운 하위 과제로 남아 있습니다. 인쇄체와 손글씨가 섞인 문서, 예를 들어 의사가 작성한 메모나 사람이 직접 채워 넣은 양식에서는 비용 측면에서 OCR 파이프라인이 여전히 VLM을 앞설 때가 있습니다. 손글씨에 특화된 VLM은 Claude 4.7, PaliGemma 2를 중심으로 빠르게 좋아지고 있습니다.
2026년 레시피
새 문서 AI 프로젝트라면 다음과 같이 선택합니다.
- 대규모 순수 인쇄 송장: LayoutLMv3 + 규칙. 비용 효율이 가장 좋습니다.
- 혼합 문서(과학 논문 + 손글씨 + 양식): VLM-native(PaliGemma 2 또는 Qwen2.5-VL).
- 전체 arXiv 수집: 수식 부분은 Nougat, 그림 부분은 VLM.
- 규제 환경: OCR 파이프라인을 주(primary)로 두고, 교차 확인용 검증기(VLM validator)를 추가로 둡니다.
사용해보기
code/main.py는 다음을 포함합니다.
- 학습용 간이 레이아웃 인식 토크나이저(toy layout-aware tokenizer).
(text, bbox) 쌍을 받아 LayoutLMv3 스타일 입력을 만듭니다.
- Donut 스타일의 과제 schema 생성기. 양식을 위한 JSON 템플릿을 만듭니다.
- OCR 파이프라인, Donut, Nougat, VLM-native 사이의 페이지당 토큰 예산(token budget) 비교.
산출물 만들기
이 lesson은 outputs/skill-document-ai-stack-picker.md를 만듭니다. 문서 AI 프로젝트의 도메인, 규모, 품질, 규제 조건이 주어졌을 때 OCR 파이프라인, OCR-free 전문가 모델, VLM-native 중 무엇을 사용할지 골라주는 skill입니다.
연습문제
-
프로젝트가 하루 1,000만 장의 송장을 처리해야 합니다. 정확도를 잃지 않으면서 페이지당 비용을 최소화할 수 있는 스택은 무엇입니까?
-
LayoutLMv3는 양식 QA에서 순수 CLIP-VLM보다 더 뛰어나지만, 장면 텍스트(scene text)에서는 오히려 뒤처지는 이유는 무엇입니까? bbox 스트림이 포기하는 것은 무엇입니까?
-
Nougat은 LaTeX를 생성합니다. VLM-native 출력이 LaTeX 충실도(fidelity)에서 Nougat을 이기는 테스트 사례 하나와, 반대로 Nougat이 이기는 사례 하나를 제안해 봅니다.
-
PaliGemma 2 논문(Google, 2024)을 읽고, PaliGemma 1 대비 문서 정확도를 끌어올린 핵심 학습 데이터 추가가 무엇이었는지 정리해 봅니다.
-
규제 환경에서 안전하게 사용할 수 있는 하이브리드를 설계해 봅니다. OCR 파이프라인을 주(primary)로, VLM을 보조 교차 확인(secondary cross-check)으로 두는 구조에서, 두 결과가 불일치할 때 어떻게 해결할지 정의합니다.
핵심 용어
| 용어 | 흔한 설명 | 실제 의미 |
|---|
| OCR 파이프라인(OCR pipeline) | "Tesseract 방식" | detect → OCR → layout → rules로 이어지는 단계식 스택. 결정적이지만 취약하다 |
| OCR-free | "Donut 방식" | 명시적 OCR을 건너뛰고 이미지에서 곧바로 출력을 만드는 단일 트랜스포머 모델 |
| 레이아웃 인식(Layout-aware) | "LayoutLM" | 입력에 토큰별 bbox 좌표가 포함되고, 모달리티 전반에 통합 마스킹(unified masking)을 적용하는 방식 |
| VLM-native | "최전선 VLM" | 페이지 이미지를 고해상도로 Claude/GPT/Qwen 계열 VLM에 직접 넣는 방식. 별도 파이프라인이 없다 |
| DocVQA | "문서 벤치마크" | 문서 시각 질의응답(Document VQA) 표준 벤치마크이며, 가장 많이 인용되는 점수 |
| 마크업 출력(Markup output) | "LaTeX / MD" | 자유 형식 텍스트 대신 후속 자동화(downstream automation)를 가능하게 하는 구조화 출력 형식 |
더 읽을거리