17 분 소요

0. Introduction

Paper link

olmOCR는 OCR 논문으로만 읽으면 절반만 읽게 된다. 내가 보기에는 이 논문의 진짜 주제는 PDF를 LLM이 바로 먹을 수 있는 텍스트로 바꾸는 open pipeline 이다. 즉 “문자를 얼마나 잘 읽느냐”보다 문서를 얼마나 자연스러운 reading order의 plain text/Markdown으로 선형화하느냐, 그리고 그 결과가 실제 LM 학습과 추론에 얼마나 쓸모 있느냐가 핵심이다.

문서 AI 쪽에서 이 문제는 점점 더 중요해지고 있다. pretraining 관점에서는 웹 페이지 바깥에 있는 방대한 PDF 코퍼스를 토큰으로 바꾸는 문제가 있고, inference/RAG 관점에서는 private PDF를 proprietary API에 보내지 않고도 안정적으로 읽어야 하는 요구가 있다. olmOCR는 이 둘을 한 번에 겨냥한다.

한 줄 요약: olmOCR는 document-anchoring + GPT-4o silver data distillation + specialized 7B VLM + batch inference pipeline + LM-centric evaluation 을 묶어서, OCR을 “문자 인식”이 아니라 대규모 문서 토큰 생산 시스템 으로 재정의한 논문이다.

0-1. 왜 지금 읽을 가치가 있는가

  • 요즘 Document AI는 더 이상 pure OCR 문제가 아니라, LLM ingestion / pretraining data quality / enterprise document pipeline 문제에 가깝다.
  • 이 논문은 모델 하나 소개로 끝나지 않고, 데이터 수집 -> teacher labeling -> fine-tuning -> benchmark -> downstream LM 효과 -> deployment cost 까지 한 묶음으로 보여준다.
  • 특히 out-of-the-box VLM prompttask-specialized open VLM 의 차이를 꽤 설득력 있게 보여준다.
  • open source로 private PDF를 처리해야 하는 실무 상황에서는 “가장 좋은 closed API”보다 충분히 좋은 open pipeline 이 더 중요할 때가 많다.

0-2. 먼저 말하고 싶은 핵심 결론

  1. olmOCR의 핵심은 OCR 정확도보다 문서 선형화(linearization) 품질 이다.
    reading order, header/footer 제거, table/수식 표현, 긴 작은 글씨 처리 같은 요소가 더 중요하게 다뤄진다.

  2. document-anchoring이 단순 prompt trick이 아니라 이 논문의 중심 아이디어 다.
    born-digital PDF의 내부 metadata를 버리지 않고, raster image와 함께 모델에 넣는다.

  3. 가장 설득력 있는 실험은 teacher imitation보다 downstream LM 개선 이다.
    같은 원본 PDF에서 더 좋은 선형화를 만들었더니, 실제 continued pretraining 결과가 올라간다는 점이 중요하다.

  4. 이 논문은 모델 논문이면서 동시에 data engine + serving system + evaluation design 논문이다.

0-3. 이 글의 관점

이 글은 olmOCR를 “최신 OCR 성능표”로 보기보다, 아래 세 층위에서 읽은 정리다.

  • 논문에서 직접 확인되는 사실: document-anchoring, Qwen2-VL-7B 기반 fine-tuning, olmOCR-Bench, OLMo-2 downstream evaluation, cost/throughput
  • 설계 의도 해석: 왜 GPT-4o 자체보다 specialized 7B 모델을 만들었는가, 왜 benchmark를 unit-test 스타일로 설계했는가
  • 내 해석: 이 논문의 진짜 가치는 OCR 그 자체보다 LLM용 document pipeline design 에 있다

공개된 문서 버전에 따라 일부 세부 수치(예: 정확한 데이터 페이지 수, million-page cost)가 조금 다르게 보이는 부분이 있어서, 본문에서는 그 차이가 중요하지 않은 경우 약 26만 페이지 / 10만+ PDF / 1M pages당 200달러 미만 같은 수준으로 읽고, 마지막 Verification Notes에 최종 발행 전 확인 포인트를 따로 적어두었다.

1. Problem Setting

1-1. Problem definition

olmOCR가 겨냥하는 문제는 단순한 OCR보다 훨씬 넓다.

  • PDF는 사람이 보기엔 문서지만, 내부적으로는 문단/섹션/표 가 아니라 glyph, 위치, spacing, font metadata 의 집합에 가깝다.
  • language model이 필요로 하는 것은 이런 시각적 렌더링 정보가 아니라, 자연스러운 읽기 순서의 plain text 다.
  • 그런데 실제 PDF는 multi-column, floating figures, headers/footers, scanned pages, handwriting, tables, formulas, tiny fonts 같은 문제를 한꺼번에 안고 있다.
  • 즉 문제는 “문자를 읽어내는가?”보다 문서를 LM이 이해하기 좋은 linearized text로 바꿀 수 있는가? 다.

이 점이 중요하다. OCR 관점에서는 한 글자도 놓치지 않는 게 핵심처럼 보일 수 있지만, LM 관점에서는 아래가 더 중요하다.

  • 불필요한 반복 헤더/푸터가 제거되는가
  • multi-column에서 순서가 자연스러운가
  • 표와 수식이 downstream에 쓸 수 있는 형식으로 보존되는가
  • 의미 없는 캡션/환각이 섞이지 않는가
  • page-local extraction이 아니라 document reading flow에 가까운 결과가 나오는가

1-2. Why previous approaches are insufficient

기존 접근은 크게 세 갈래가 있는데, 각각 뚜렷한 한계가 있다.

1) 전통적 PDF parser / heuristic pipeline

Grobid, PaperMage, Marker, MinerU 같은 계열은 born-digital PDF 내부 구조를 파고들거나, 여러 ML 모듈을 이어 붙여 파싱한다. 이들은 특정 도메인에서는 강하지만, 다음 문제가 있다.

  • reading order가 복잡한 페이지에서 깨지기 쉽다
  • header/footer, floating object 처리에서 brittle하다
  • 표/수식/스캔 문서처럼 어려운 케이스에서 일관성이 흔들린다
  • 휴리스틱이 많아서 새로운 문서 분포로 갈수록 예외 처리 비용이 늘어난다

2) image-only end-to-end OCR / VLM

Nougat, GOT-OCR 같은 계열은 rasterized page만 보고 plain text를 뽑는다. 이 방식은 스캔 기반 문서와 호환성이 좋지만, born-digital PDF에서는 이미 내부에 들어 있는 text/layout metadata를 버리게 된다.

즉, 쓸 수 있는 단서를 일부러 버리고 시각 모델에게 다시 맞혀 보라고 하는 셈 이다.

3) proprietary VLM prompting

GPT-4o, Gemini 같은 모델은 확실히 강하다. 하지만 이 방식은 다음 문제가 있다.

  • 비용이 비싸다
  • private PDF를 외부 API로 보내기 어려운 상황이 많다
  • general VLM을 prompt engineering으로만 다루면, 긴밀한 task-specific behavior를 안정적으로 얻기 어렵다
  • teacher로는 좋을 수 있지만, million-page scale pipeline으로는 부담이 크다

정리하면, 기존 방식의 한계는 단순히 “정확도가 낮다”가 아니다.
LM에 쓸 수 있는 문서 표현을 open하고 저렴하게 대량 생산하기 어렵다 는 것이 진짜 문제다.

2. Core Idea

2-1. Main contribution

내가 보기에는 이 논문의 핵심 기여는 다섯 가지다.

  1. document-anchoring
    born-digital PDF 내부의 text block / image / coordinate metadata를 page raster와 함께 prompt에 넣어, VLM이 문서 구조를 더 잘 복원하게 만든다.

  2. silver data distillation
    GPT-4o를 teacher로 사용해 대규모 PDF page -> linearized text 데이터를 만들고, 이를 기반으로 specialized 7B VLM을 fine-tune한다.

  3. specialized student model
    Qwen2-VL-7B-Instruct를 task-specific OCR/linearization 모델로 바꿔, generic VLM prompting보다 더 싸고 더 안정적인 파이프라인을 만든다.

  4. olmOCR-Bench
    fuzzy reference matching이나 LLM-as-judge 대신, pass/fail unit-test 스타일로 문서 선형화 품질을 평가하는 benchmark를 만든다.

  5. downstream validation
    같은 원본 PDF를 더 잘 선형화했을 때 실제 LM training이 좋아지는지까지 보여준다.

이 다섯 개가 함께 있어야 olmOCR의 설계가 이해된다.
하나라도 빠지면 “PDF OCR 모델 하나 만들었다” 정도로만 보이는데, 실제로는 document ingestion stack 전체를 설계 한 것이다.

2-2. Design intuition

이 논문의 설계 직관은 생각보다 단순하다.

직관 1) born-digital PDF라면 내부 정보를 버리지 말자

PDF 내부 text extraction은 noisy하다. reading order가 깨져 있고 boilerplate도 섞여 있다.
그렇다고 완전히 무시할 필요는 없다. 노이즈가 있더라도 중요한 힌트는 남아 있다.

그래서 olmOCR는 이 noisy metadata를 정답으로 쓰지 않고, VLM이 page image를 해석할 때 참고하는 anchor text 로 사용한다.

직관 2) teacher는 크고 비싸도 되지만, serving model은 specialized해야 한다

GPT-4o는 data generation teacher로 훌륭할 수 있다. 하지만 실제 pipeline을 million-page scale로 굴릴 student는 훨씬 싸고 안정적이어야 한다.

그래서 이 논문은 teacher capability를 specialized 7B model로 distill하는 쪽을 선택한다.

직관 3) evaluation target은 “faithful OCR”이 아니라 “LM에 유용한 plain text”다

이 점이 매우 좋다.
Appendix의 human evaluation instructions를 보면 평가자는 “가장 faithful한 OCR”이 아니라, 이 출력이 LM training에 정말 유용해 보이는가 를 보도록 지시받는다.

즉, 이 논문은 처음부터 metric 자체를 LM-centric하게 설계한다.

직관 4) production pipeline은 retry / fallback / rotation 같은 엔지니어링이 핵심이다

실전에서는 좋은 모델 하나보다, 실패를 어떻게 다루느냐가 중요하다.

  • JSON parse 실패 시 retry
  • repetition loop 시 재시도
  • anchor resampling
  • rotation correction
  • 최종 fallback to plain text extraction

이런 요소들이 논문 본문과 appendix에 모두 꽤 구체적으로 들어가 있다.
그래서 이 논문은 “모델이 잘 됐다”보다 “운영 가능한 시스템이 되었다” 는 쪽에 더 가깝다.

3. Architecture / Method

3-1. Overview

Item Description
Goal PDF를 LM 학습/추론에 바로 쓸 수 있는 clean plain text/Markdown으로 선형화
Teacher GPT-4o + document-anchoring prompt
Student Qwen2-VL-7B-Instruct -> olmOCR-7B-0225-preview
Key module document-anchoring, structured JSON supervision, specialized fine-tuning, robust batch inference
Output target natural reading order, headers/footers 제거, tables는 Markdown, equations는 LaTeX 중심 표현
Evaluation target OCR fidelity 자체보다 LM-useful linearization
Serving path 대규모 batch inference, SGLang/vLLM 기반 open pipeline

이 구조의 핵심은 “generic VLM + smart prompt”에서 멈추지 않고, 그 결과를 task-specific model과 deployment pipeline으로 굳혔다 는 점이다.

3-2. Module breakdown

1) document-anchoring

document-anchoring은 olmOCR의 중심 아이디어다.

  • pypdf로 page 내부 text blocks와 images, position 정보를 추출한다.
  • 이 내부 표현은 매우 noisy하다. reading order는 깨져 있고, boilerplate와 rendering artifact도 섞여 있다.
  • 그럼에도 이 긴 추출 결과 중 일부를 선택적으로 prompt에 넣는다.
  • 특히 text blocks와 images 중 문서의 시작과 끝 쪽에 있는 요소를 우선 사용한다.
  • 이 anchor text를 page raster image와 함께 VLM 입력으로 준다.

중요한 건 이 anchor가 “정답”이 아니라 힌트 라는 점이다.
즉, image-only OCR처럼 완전한 재인식을 시키는 대신, PDF 내부 단서를 같이 보여주고 VLM이 더 잘 선형화하도록 유도 하는 것이다.

내가 보기엔 이건 단순한 프롬프트 트릭이 아니다.
born-digital document에서 쓸 수 있는 metadata를 버리지 않는다는 점에서, 문서 AI 파이프라인의 기본 설계 원리 에 가깝다.

2) teacher labeling with structured output

저자들은 2024년 10월 시점에서 여러 모델을 teacher 후보로 검토했다.

  • Gemini 1.5: RECITATION 문제가 잦아 제외
  • GPT-4o mini: hallucination이 많음
  • Claude Sonnet 3.5: 비용 부담 큼
  • 최종 선택: gpt-4o-2024-08-06

그런데 저자들은 GPT-4o도 그냥 쓰지 않았다.
document-anchoring을 붙이고, output을 structured JSON으로 제한하는 방향으로 teacher labeling 자체를 설계했다.

이 structured output이 중요한 이유는 다음과 같다.

  • primary_language
  • is_rotation_valid
  • rotation_correction
  • is_table
  • is_diagram
  • natural_text

즉 teacher는 바로 text만 뱉는 게 아니라, 페이지를 먼저 분석 하고 그 다음 자연스러운 text를 낸다.
논문은 이 field ordering 자체가 품질 향상에 도움이 된다고 해석한다.

특히 이 schema는 “읽을 텍스트가 없으면 null도 가능하다”는 선택지를 열어 둔다.
이게 중요한 이유는, 이미지나 다이어그램만 있는 페이지에서 모델이 멋대로 caption을 붙이는 환각을 줄이기 위해서다.

3) student fine-tuning

student model은 Qwen2-VL-7B-Instruct에서 시작한다.

논문 공개 PDF 기준 fine-tuning 설정은 아래와 같다.

  • effective batch size: 4
  • learning rate: 1e-6
  • optimizer: AdamW
  • schedule: cosine annealing, 10,000 steps
  • 대략 1.2 epochs
  • 8 x NVIDIA H100 80GB
  • 단일 run 약 16 node-hours, 전체 실험 약 365 node-hours

이 부분에서 인상적인 건, 이 모델이 거대한 foundation training을 다시 한 것이 아니라 잘 설계된 distillation + task specialization 으로 competitive한 문서 선형화 모델을 만든다는 점이다.

또한 fine-tuning 중에는 teacher용 prompt보다 약간 단순화된 prompt를 쓴다.

  • page render 최대 길이: 1024px
  • anchor prompt 최대: 6,000 characters
  • typical input: page image 약 1,000 tokens + anchor text 약 1,800 tokens = 총 약 3,000 input tokens
  • example truncation: 8,192 tokens
  • loss는 final response tokens에만 걸림

즉, 이 모델은 “문서 이미지를 보고 text를 내는 일반 VLM”이 아니라,
page image + noisy anchor text + structured output supervision 에 맞춰 다듬어진 specialized extractor다.

4) full fine-tuning vs LoRA

논문은 LoRA도 실험하지만, 최종 모델은 full fine-tuning을 사용한다.

이 지점도 중요하다.
문서 선형화처럼 output format, layout interpretation, hallucination control이 모두 중요한 task에서는, 단순 adapter만으로는 충분하지 않을 수 있다.

내 해석으로는 이 task가 단순 domain adaptation이 아니라 output behavior 자체의 강한 재정렬 을 요구하기 때문에, full fine-tuning이 더 자연스러운 선택으로 보인다.

5) inference pipeline

deploy 단계에서 olmOCR는 단순히 model.generate() 호출이 아니다.

  • 문서를 약 500페이지 단위의 work item으로 묶는다
  • 각 work item을 GPU worker에 큐잉한다
  • shared cloud bucket(S3 등)을 써서 single node에서 hundreds of nodes까지 확장 가능하게 한다
  • GPU utilization과 latency의 균형을 위해, worker는 work item 내 페이지들을 한꺼번에 inference queue에 넣고 처리한다

즉 이 파이프라인은 처음부터 대량 변환(batch conversion) 을 상정한다.

6) robustness design

내가 이 논문에서 좋게 본 부분 중 하나가 robustness engineering이다.

a. Prompt length control

anchor가 길어져 전체 prompt가 8,192 token을 넘으면, character limit를 점점 줄여 다시 생성한다.

b. No forced schema at inference

학습 때는 structured JSON supervision을 강하게 썼지만, 추론 시에는 억지 schema decoding을 강제하지 않는다.
논문은 open source force decoding 도구가 종종 불안정하고, schema가 살짝만 어긋나도 out-of-domain generation이나 repetition collapse가 생길 수 있다고 본다.

c. Retries

JSON parsing 실패 시 같은 입력으로 retry한다.

d. Rotations

출력 schema에 orientation 관련 field를 포함해, 필요 시 페이지를 다시 회전시켜 재처리한다.

e. Repetition handling

가장 흔한 실패는 endless repetition이다. 이를 max context length 초과 혹은 JSON invalidation으로 감지하고, generation temperature를 높여 재처리한다.

f. Fallback

반복 실패 시 plain text 기반 PDF extraction으로 fallback한다.

이 모든 걸 묶어 보면, 이 논문은 모델을 자랑하는 논문이 아니라 failure-aware pipeline 을 설계한 논문이다.

4. Training / Data / Recipe

4-1. Data

세부 count는 공개 버전에 따라 약간 다르게 보이지만, 큰 그림은 일관된다.

  • 규모: 약 26만 페이지
  • 문서 수: 10만+ PDFs
  • 소스: web-crawled PDFs + Internet Archive public domain books

이 구성은 꽤 중요하다.

  • web PDFs만 보면 born-digital 위주가 되고
  • books/scans만 보면 OCR 문제로 좁아진다

olmOCR는 둘을 함께 넣어, born-digital과 scan-heavy 문서를 동시에 다루려 한다.

문서 타입 분포도 흥미롭다.
공개 PDF 기준 샘플링된 분포는 대략 아래와 같다.

  • Academic: 55.9%
  • Brochure: 11.2%
  • Legal: 10.2%
  • Books: 6.8%
  • Table: 5.6%
  • Diagram: 4.7%
  • Slideshow: 1.9%
  • Other: 3.7%

즉 “논문 PDF만 잘 읽는 모델”이 아니라,
academic + legal + brochure + scanned books + tables/diagrams 가 섞인 현실적인 문서 분포를 겨냥한다.

또한 데이터 필터링도 꽤 강하다.

  • non-English 제거
  • pypdf parse failure 제거
  • spam keyword 제거
  • fillable form 제거
  • text가 너무 짧은 문서 제거

그리고 각 PDF에서 최대 3페이지 정도만 샘플링한다.
이 선택은 스케일과 다양성 확보에는 유리하지만, 반대로 문서 전체 coherence를 배우기보다는 page-level extraction task 로 학습되는 구조라고도 볼 수 있다.

4-2. Training strategy

이 논문의 학습 전략은 다음 순서로 볼 수 있다.

1) teacher prompt engineering

먼저 GPT-4o에게 page image + anchored text를 주고,
자연스러운 reading order의 text를 structured JSON으로 생성하게 한다.

teacher prompt는 아래 같은 행동을 유도한다.

  • equations는 LaTeX로 표현
  • tables는 Markdown으로 표현
  • headers/footers 제거
  • references/footnotes는 유지
  • handwriting 읽기
  • 페이지 경계에서 문장이 이어지면 끊지 말기
  • 텍스트가 없으면 null 허용
  • hallucination 금지

즉 dataset의 질은 teacher model만이 아니라 teacher prompt design 에 크게 의존한다.

2) silver dataset construction

이렇게 얻은 structured outputs를 olmOCR-mix-0225로 쓴다.
핵심은 human annotation을 직접 대규모로 만들기보다, 강한 VLM을 teacher로 삼아 specialized student를 훈련시키는 distillation 이다.

3) full fine-tuning

student는 이 dataset 위에서 full fine-tuning된다.
논문은 LoRA도 실험하지만, validation 상 full fine-tuning을 최종 선택한다.

4) development-time evaluation

훈련 중 저자들은 단순 validation loss만 보지 않았다.
side-by-side viewer를 만들어 서로 다른 방법의 출력을 원문 페이지와 나란히 비교하며 qualitative inspection을 반복한다.

이것도 매우 현실적인 선택이다.
문서 linearization은 수치 하나만 보고 튜닝하기 어려운 영역이기 때문이다.

4-3. Engineering notes

1) output schema를 학습시키되, inference에선 과하게 강제하지 않는다

이건 꽤 좋은 균형이다.

  • 학습: 구조적 supervision으로 행동을 잡음
  • 추론: 모델이 이미 schema를 내재화했으니, 억지 decoding constraint는 피함

2) repetition은 low-temperature deterministic decoding의 부작용으로 본다

논문은 temperature를 τ = 0.1에서 τ = 0.8까지 높이면 repetition likelihood가 줄어든다고 본다.
즉 완전 deterministic path가 항상 최선은 아니고, robust serving을 위해 sampling dynamics를 조절한다.

3) retry rate를 cost 계산에 반영한다

paper PDF 기준 Table 6은 olmOCR 비용을 L40S 약 $176, H100 약 $178 per million pages로 추정하고, retry rate 약 12%를 측정했다고 밝힌다.

이건 중요하다.
많은 시스템 논문이 “ideal path cost”만 말하는데, olmOCR는 실제 retry overhead까지 반영한 운영 비용 을 보여주려 한다.

4) benchmark도 recipe의 일부다

olmOCR-Bench는 학습 데이터와 독립적으로, 훈련 후 별도 구성했다고 밝힌다.
즉 benchmark에 맞춰 직접 iterative overfitting하지 않으려는 의도가 있다.

5. Evaluation

5-1. Main results

한눈에 보는 결과

Evaluation What it measures Key result 내가 보는 의미
olmOCR-Bench 문서 선형화 품질 Ours (Anchored) overall 75.5 specialized open VLM이 generic VLM prompting을 넘어섬
Teacher alignment GPT-4o silver data와의 정렬 0.875 (GPT-4o self: 0.954, GPT-4o mini: 0.833) teacher를 꽤 잘 흉내내지만 완전 복제는 아님
Human pairwise eval 사람이 보는 LM-useful output 품질 ELO 1800+, vs Marker 61.3%, vs GOTOCR 58.6%, vs MinerU 71.4% win rate qualitative usefulness에서도 우세
Downstream LM eval 실제 LM 학습 영향 OLMo-2-7B average 53.9 -> 55.2 (+1.3) 가장 강한 증거

1) olmOCR-Bench

이 benchmark가 특히 좋다.
기존 문서 OCR 평가는 fuzzy matching이나 reference text 기반 soft metric에 기대는 경우가 많다. 그런데 이 논문은 benchmark를 pass/fail unit test 스타일로 설계한다.

구성은 대략 아래 failure mode를 겨냥한다.

Source Stress point
AR / OSM 수식 정확도, 특히 수학 PDF/오래된 스캔
TA table structure
OS 오래된 스캔 문서와 reading order
HF header/footer 제거
MC multi-column reading order
LTT dense small text

논문 공개 PDF 기준, Ours (v0.1.75 Anchored) 는 overall 75.5 +/- 1.0 을 기록한다.
비교군은 다음과 같다.

  • Mistral OCR API: 72.0
  • GPT-4o (Anchored): 69.9
  • Qwen 2.5 VL (No Anchor): 65.5
  • Marker v1.7.5: 70.1
  • MinerU v1.3.10: 61.5

이 표에서 중요한 건 단순히 “1등”이라는 사실보다, 세 가지 축을 동시에 이긴다 는 점이다.

  • dedicated commercial OCR(Mistral)
  • teacher model(GPT-4o)
  • base-family successor(Qwen 2.5 VL)

즉, 이 결과는 “더 강한 general model을 잘 프롬프트하면 되지 않나?”라는 질문에 대해,
task specialization의 이득이 실제로 존재한다 고 답한다.

2) anchoring의 효과

Table 4를 보면 anchoring 자체도 의미가 있다.

  • GPT-4o: 68.9 -> 69.9
  • Gemini Flash 2: 57.8 -> 63.8
  • Ours: 74.7 -> 75.5

즉 document-anchoring은 generic VLM에도 도움이 되지만, anchoring + specialization 의 결합에서 가장 큰 가치가 나온다.

내 해석은 이렇다.

  • anchoring만으로 모든 문제가 해결되지는 않는다
  • 하지만 born-digital PDF에서 metadata를 버리는 것보다는 낫다
  • 그리고 이 힌트를 학습 과정 전체에 녹여 넣었을 때 specialized student의 강점이 나온다

3) teacher alignment

teacher alignment는 sanity check로는 좋지만, 이것만으로는 충분하지 않다.

논문은 page-weighted alignment에서 아래를 보고한다.

  • GPT-4o self-alignment: 0.954
  • GPT-4o mini: 0.833
  • olmOCR (τ = 0.1): 0.875
  • olmOCR (τ = 0.8): 0.859

이 결과는 student가 teacher behavior를 꽤 잘 모사한다는 뜻이다.
하지만 teacher alignment는 어디까지나 teacher imitation 이지 ground truth quality 는 아니다.

그래서 나는 이 결과를 “student가 teacher로부터 충분히 잘 distill되었다” 정도로 읽고, 최종 판단은 아래 human eval과 downstream eval에 더 무게를 둔다.

4) human pairwise evaluation

Appendix human eval도 꽤 흥미롭다.

  • 2,017개 새 PDF 샘플링
  • 2,000 comparison pairs
  • 11명의 Ai2 data researchers/engineers
  • 실제 preference로 집계된 것은 452건
  • 나머지는 too similar / both good / both bad / invalid 등으로 제외

결과는 다음과 같다.

  • olmOCR vs Marker: 49/31, 61.3%
  • olmOCR vs GOTOCR: 41/29, 58.6%
  • olmOCR vs MinerU: 55/22, 71.4%
  • overall ELO: 1800+

여기서 특히 좋았던 부분은 평가 지시문이다.
참가자들은 “가장 faithful한 OCR”이 아니라, 이 OCR output이 정말 LM training에 유용해 보이는가 를 기준으로 비교하도록 안내받는다.

구체적으로 보는 항목도 좋다.

  • meaningful content를 자연스러운 순서로 담았는가
  • weird split word / wrong word가 없는가
  • whitespace가 sensical한가
  • useless header/footer가 제거되었는가
  • tables/equations가 괜찮게 표현되었는가
  • Markdown과 LaTeX 중 어떤 형식인지는 본질이 아님

즉 이 논문은 평가 단계에서도 일관되게 LM usefulness 를 중심에 둔다.

5) downstream OLMo evaluation

내가 보기엔 이 논문에서 가장 강한 실험은 이 부분이다.

저자들은 peS2o에서 사용한 것과 같은 원본 PDF들 을 다시 가져와 olmOCR로 재처리한다.
그 다음 OLMo-2-7B intermediate checkpoint를 동일하게 50B tokens continued pretraining한다.

결과는 아래와 같다.

  • Grobid + rules: average 53.9
  • olmOCR-peS2o: average 55.2

+1.3 point 향상이다.

이 실험이 좋은 이유는, source documents를 바꾸지 않고 선형화 품질만 바꿨다 는 점이다.
그래서 “더 좋은 문서를 썼더니 좋아졌다”가 아니라, 같은 PDF라도 더 잘 읽어 오면 학습이 좋아진다 는 메시지가 된다.

이건 OCR 논문에서 보기 드문 종류의 강한 evidence다.

5-2. What really matters in the experiments

이 논문의 실험을 볼 때 정말 중요한 포인트는 네 가지다.

1) benchmark 설계 철학

olmOCR-Bench는 1,402개 PDF / 7,010개 unit tests로 구성되고, binary pass/fail 기반이다.
이 접근은 두 가지 면에서 좋다.

  • LLM-as-judge bias를 줄인다
  • edit distance/ROUGE가 놓치는 미세하지만 치명적인 오류를 잡는다

예를 들어 수식에서 x_ixi 차이는 soft metric으로는 별일 아닌 것처럼 보일 수 있지만, 실제론 전혀 다른 의미다.

2) OCR fidelity보다 LM utility

Appendix 지시문은 이 논문이 뭘 중요하게 보는지 매우 분명하게 보여준다.
저자들은 처음부터 LM용 문서 표현 을 만들고 싶어 한다.

즉 아래가 핵심이다.

  • 읽기 쉬운가
  • 순서가 자연스러운가
  • 불필요한 boilerplate가 제거되었는가
  • 구조 정보가 downstream에 쓸 만한가

이 프레이밍은 OCR/Document AI 쪽에서 꽤 중요하다.
실무에서는 character-level perfection보다 pipeline usefulness 가 더 중요할 때가 많기 때문이다.

3) downstream validation의 힘

teacher alignment나 human preference도 좋지만, 결국 가장 강한 증거는 같은 원본 PDF를 다시 처리해서 실제 LM training이 좋아졌는가 다.

나는 이 실험 설계가 이 논문의 가장 큰 장점이라고 본다.

4) cost-performance tradeoff

Table 6 기준 olmOCR는 million-page scale에서 대략 아래 정도다.

  • L40S: 약 $176
  • H100: 약 $178

비교군으로는

  • GPT-4o Batch: $6,240
  • Mistral OCR API: $1,000
  • Marker Force OCR: $1,484
  • MinerU L40S: $596
  • Gemini Flash 2 Batch: $249

즉 이 논문의 메시지는 “가장 싸다” 하나가 아니다.
꽤 강한 성능을 유지하면서도 truly large-scale data engine으로 굴릴 수 있는 가격대 라는 점이 중요하다.

6. Limitations

  1. 영어 중심 데이터/평가
    학습 데이터는 non-English를 필터링한다. 따라서 multilingual 문서에 대한 일반화는 따로 검증해야 한다.

  2. page-level task 성격이 강함
    각 PDF에서 소수 페이지를 샘플링하고, supervision도 page-local structured output 중심이다.
    따라서 cross-page table, 긴 document-wide coherence, document graph 같은 문제는 별도 영역이다.

  3. teacher-generated silver data의 한계
    student는 결국 GPT-4o teacher의 bias를 일부 이어받는다. alignment가 높다고 해서 절대적 ground truth에 가깝다는 뜻은 아니다.

  4. robustness가 retry에 의존
    논문도 인정하듯, repetition failure가 자주 나면 throughput이 떨어지고 memory usage가 커진다.
    즉 robustness는 해결되었다기보다 관리 가능한 수준으로 억제 된 것에 가깝다.

  5. benchmark는 강하지만 authors’ failure modes에 최적화되어 있음
    olmOCR-Bench는 매우 좋은 benchmark지만, 결국 저자들이 중요하다고 본 문서 failure modes를 중심으로 설계됐다.
    다른 도메인(예: forms, invoices, key-value extraction, layout grounding)에서는 추가 검증이 필요하다.

  6. plain text/Markdown 중심 output
    만약 목표가 bounding box recovery, key-value extraction, DOM-like structured document graph라면, olmOCR output만으로는 충분하지 않다.
    이 논문은 어디까지나 LM-friendly linearization 에 초점이 있다.

7. My Take

7-1. Why this matters for my work

내가 이 논문을 좋게 보는 이유는 두 가지다.

1) OCR를 data engine으로 다시 보게 만든다

이 논문을 읽고 나면 OCR은 더 이상 “PDF 텍스트 추출 라이브러리”가 아니다.
그보다는 고품질 LM training data generator 에 가깝다.

이 관점은 pretraining, continual pretraining, private RAG, enterprise document assistants 전부에 중요하다.

2) 모델보다 pipeline을 보게 만든다

olmOCR의 성과는 아래 요소가 맞물려서 나온다.

  • document-anchoring
  • teacher prompt design
  • structured supervision
  • specialized student
  • failure-aware serving
  • LM-centric benchmark
  • downstream validation

즉 “좋은 모델 하나”가 아니라, 좋은 문서 ingestion loop 가 핵심이다.

7-2. Reuse potential

이 논문에서 재사용 가치가 큰 부분은 아래와 같다.

1) document-anchoring

PDF뿐 아니라, DOCX/HTML/슬라이드처럼 내부 structure가 어느 정도 남아 있는 포맷에도 비슷한 아이디어를 적용할 수 있다.

2) schema-before-text supervision

먼저 page-level metadata를 판단하고, 그 다음 natural text를 생성하게 만드는 방식은 hallucination 억제에 꽤 일반적으로 쓸 수 있다.

3) unit-test benchmark design

문서 파이프라인 평가는 fuzzy metric보다 deterministic pass/fail test 가 더 낫다는 메시지는 다른 Document AI task에도 옮겨갈 수 있다.

4) downstream data validation

ingestion pipeline의 품질은 결국 downstream에 어떤 영향을 주는지로 검증해야 한다.
이건 OCR뿐 아니라 web data cleaning, document filtering, multimodal parsing에도 그대로 적용되는 원칙이다.

7-3. Follow-up papers

  • Nougat: Neural Optical Understanding for Academic Documents
    academic PDF extraction을 end-to-end model로 풀었던 대표적 전작. olmOCR와의 대비가 잘 된다.

  • MinerU2.5: A Decoupled Vision-Language Model for Efficient High-Resolution Document Parsing
    document parsing을 더 구조적이고 high-resolution하게 다루는 최근 흐름을 보기 좋다.

  • Qwen2.5-VL Technical Report
    generic VLM이 문서/에이전트/비디오를 함께 다루는 방향과, specialized document model의 차이를 비교하기 좋다.

8. Summary

  • olmOCR는 OCR 논문이라기보다 PDF-to-LM token pipeline 논문으로 읽는 편이 맞다.
  • 핵심 아이디어는 born-digital PDF metadata를 활용하는 document-anchoring 이다.
  • GPT-4o teacher로 silver data를 만들고, 이를 specialized 7B VLM으로 distill해 cost를 크게 낮춘다.
  • olmOCR-Bench와 human eval도 좋지만, 가장 강한 실험은 같은 원본 PDF를 더 잘 선형화했더니 실제 LM continued pretraining이 좋아졌다 는 점이다.
  • 이 논문의 가장 큰 가치는 “좋은 OCR 모델”보다 좋은 document ingestion system 을 보여준다는 데 있다.

댓글남기기