OlmOCR
OlmOCR
생산성Active

OlmOCR

olmOCR는 AI2가 공개한 GPU 문서 재구성 도구로, PDF·PNG·JPEG 페이지를 자연스러운 읽기 순서의 Markdown/텍스트로 변환하고 표와 수식도 처리합니다.

88

Views

0

Likes

Jan 2026

Added

github.com

프로젝트 링크

Tags

olmOCRPDF Markdown 변환문서 OCR비전 언어 모델표 인식AI2

Product Preview

A quick visual look at OlmOCR before you visit the official site.

Published 1/21/2026
OlmOCR screenshot

Editorial Review

About OlmOCR

olmOCR는 AI2가 문서 선형화를 위해 공개한 오픈소스 툴킷입니다. PDF 각 페이지를 이미지로 렌더링하고, 문서용으로 조정된 비전 언어 모델 olmOCR-2가 본문·표·LaTeX 수식을 자연스러운 읽기 순서로 재구성합니다. 이어 YAML 프런트매터를 검사하고 회전 또는 실패 페이지를 재시도한 뒤 Markdown과 Dolma JSONL을 만듭니다. PNG와 JPEG도 받아 논문 코퍼스, 역사 스캔, 검색, RAG 전처리에 사용할 수 있습니다.

하지만 이것은 단순한 글자 인식기가 아닙니다. 전통 OCR이 글자와 좌표에 집중한다면 olmOCR는 다단 읽기 순서를 판단하고 머리말·꼬리말을 제거하며 시각적 표를 텍스트 구조로 다시 씁니다. 언어 모델이 소비하기 좋은 결과를 얻는 대신 생성 위험도 생깁니다. 문장이 자연스러워도 숫자, 부정어, 수식 변수, 표의 행·열 관계가 원본과 같다는 보장은 없습니다. 원본 페이지와 검토 기록을 반드시 보존해야 합니다.

olmOCR 페이지 렌더링, VLM 재구성, 출력 및 문서 품질 검사 흐름
공식 pipeline과 olmOCR-Bench 검사 항목을 바탕으로 만든 편집용 도식입니다. 검증되지 않은 정확도를 뜻하지 않으며, 재구성 뒤 사실을 확인하는 생산 절차를 보여 줍니다.

한 페이지가 실제로 거치는 과정

단계현재 동작확인할 실패
입력PDF, PNG, JPEG를 로컬 또는 workspace에서 처리암호화·손상·초대형 파일과 권리 없는 자료는 별도 차단
렌더링PDF 페이지를 제한된 크기의 PNG로 만들고 필요하면 회전 재시도작은 글자, 흐림, 압축, 오염, 극단적 비율은 증거를 줄임
재구성olmOCR-2가 페이지 이미지에서 자연 순서 본문과 구조 생성누락, 치환, 정규화, 존재하지 않는 내용 보완 가능
검증/재시도종료 이유, 문맥 길이, YAML 파싱, 회전 신호 검사스키마 통과는 사실 정확성 보장이 아님
내보내기페이지를 합치고 page span이 있는 Dolma와 선택적 Markdown 저장페이지 간 표·각주·제목·누락 페이지는 문서 수준 검사 필요

현재 구현은 페이지별 추론이어서 병렬 처리, 재시도, 이어하기에 유리합니다. 그러나 표 머리글이 앞 페이지에 있고 본문이 다음 페이지로 이어지는 문제까지 자동 해결하지는 않습니다. 페이지 ID, 원본 해시, 실패 목록을 출력과 함께 남겨야 합니다.

검토 시점에도 프로젝트는 활발히 유지되고 있었고 GitHub에서 확인한 최신 안정 버전은 2026년 3월 12일의 v0.4.27입니다. 과거 릴리스에는 긴 큐, 회전, 빈 문서 환각 관련 수정이 포함됐습니다. 이는 긍정적 신호인 동시에 운영에서는 main을 무조건 따라가기보다 고정 버전마다 회귀 평가가 필요하다는 뜻입니다.

앵커 텍스트: 과거 방식과 현재 모델의 경계

저장소의 anchor.py는 pdftotext, PDFium, pypdf로 제한된 양의 PDF 네이티브 텍스트를 뽑을 수 있습니다. 초기 방식은 이 불완전한 텍스트를 페이지 이미지와 함께 VLM에 제공해 문자 복원을 도왔습니다. CLI에는 --target_anchor_text_len가 남아 있지만 도움말은 새 모델에서 쓰지 않는다고 명시합니다. 현재 main의 페이지 요청은 no-anchoring 프롬프트를 사용하고, 모델 처리 실패 시 fallback에 pdftotext를 사용합니다.

따라서 ‘olmOCR는 항상 PDF 앵커를 쓴다’는 설명은 정확하지 않습니다. 앵커링은 역사적·구현상 기법이지 olmOCR-2의 모든 추론 증거가 아닙니다. 그래도 born-digital PDF는 네이티브 추출을 별도로 실행해 VLM 결과와 비교할 가치가 있습니다. 불일치는 인코딩, 읽기 순서, 누락, 환각을 검토할 신호입니다. 이미지 전용 스캔에는 쓸 수 있는 앵커가 없을 수 있습니다.

모델·데이터·평가·라이선스

항목공식 근거의 범위해석
초기 학습 mix논문은 10만 개가 넘는 크롤링 PDF의 26만 페이지, 그림·손글씨·저품질 스캔 포함다양성이 모든 언어와 서식의 동일한 품질을 증명하지 않음
olmOCR-2Qwen2.5-VL-7B-Instruct 기반 7B급 모델, SFT와 검증 가능한 단위 테스트 보상 RL가장 큰 개선은 영어 benchmark의 수학·표·다단 영역
olmOCR-Bench약 1,400개 단일 페이지 PDF와 7,000개 이상 기계 검증 사실중요한 난제 평가지만 사용자 문서 분포는 아님
정밀도모델 카드는 실용 추론에 FP8, 추가 미세조정에 BF16 권장양자화 이름만으로 속도·품질·VRAM을 약속할 수 없음
라이선스도구와 공개 olmOCR-2 가중치는 Apache-2.0, Responsible Use Guidelines도 참조원문서 권리, 의존성, 기반 모델, 용도는 별도 확인

저장소 leaderboard를 보편 정확도로 바꾸면 안 됩니다. olmOCR-Bench는 영어·페이지 단위·사실 테스트이고 어려운 범주를 의도적으로 모았습니다. 편집 거리만 보는 것보다 수식 부호나 순서 오류를 잘 드러내지만 한국어 계약서, 세로쓰기, 양식, 의료 기록의 품질을 보장하지 않습니다. 이 글은 임의의 WER나 보편 점수를 만들지 않습니다.

초기 논문에는 2025년 특정 환경의 대규모 비용 실험이 있습니다. 현재 고정 가격이 아닙니다. GPU, 이미지 크기, 재시도, 모델 버전, 공급자 요금이 달라집니다. 날짜와 설정을 기록하고 실패, 저장, 전송, 사람 검토를 포함한 ‘승인 페이지당 비용’을 측정해야 합니다.

설치, 로컬 배치와 원격 추론

python -m venv .venv
source .venv/bin/activate
pip install "olmocr[gpu]"
olmocr ./workspace --markdown --pdfs ./samples/report.pdf

olmocr ./workspace --markdown --workers 2 \
  --max_page_retries 3 --pdfs ./incoming/*.pdf

pip install olmocr
olmocr ./workspace --server https://inference.example/v1 \
  --api_key "$OLMOCR_API_KEY" \
  --model allenai/olmOCR-2-7B-1025-FP8 \
  --max_concurrent_requests 8 --markdown --pdfs ./incoming/*.pdf

현재 패키지 메타데이터는 Python 3.11 이상을 요구하며 GPU extra는 Torch, Transformers, vLLM 버전을 고정합니다. README는 7B VLM에 GPU가 필요하다고 설명합니다. 일반 Transformers가 이론적으로 가중치를 메모리에 올릴 수 있다는 이유만으로 CPU-only 운영을 공식 지원 경로처럼 약속하면 안 됩니다. 실제 CUDA 드라이버, GPU, 컨테이너, lockfile로 검증합니다.

로컬 GPU는 승인된 환경 안에서 페이지를 처리할 수 있습니다. OpenAI-compatible 원격 서버는 렌더링된 페이지 자체를 다른 호스트로 보냅니다. 벡터만 보내는 것이 아닙니다. TLS, 인증, 지역, 로그, 보존, DPA, 모델 alias, 동시 요청을 검토하고 API key는 비밀 저장소에 둡니다.

배포적합한 경우통제핵심 위험
로컬 1 GPU민감한 pilot과 중간 queue버전 고정, worker/VRAM 제한, 암호화CUDA/VRAM 호환, 단일 장애
내부 multi-GPU대규모 승인 batch재개 workspace, 병렬 설정, 페이지 manifest처리량과 함께 조용한 오류도 확대
자체 remote승인 네트워크의 공유 추론TLS, service ID, quota, 본문 log 금지민감 문서 집중
외부 APIGPU 구매 전 빠른 평가DPA, 지역, 보존, 가격, 모델 버전데이터 경계와 요금 변화
AI2 demo공개/합성 페이지 체험기밀 금지운영 SLA·privacy 승인이 아님

실행 가능한 평가와 배치 승인 절차

  1. 실패 유형별로 표본을 만든다. 디지털 PDF, 사진, 기울기, 오래된 스캔, 작은 글자, 다단, 수식, 표, 손글씨, 혼합 언어, 빈 페이지, 긴 문서를 포함합니다.
  2. 페이지 사실을 작성한다. 이름, 날짜, 금액, 부정어, 표 셀 관계, 수식, 필수 문장, 제거할 머리말/꼬리말, 읽기 순서를 표시합니다.
  3. 두 개 이상의 독립 경로를 실행한다. PDF 네이티브 추출, Tesseract 또는 다른 parser와 비교하고 불일치를 사람 queue로 보냅니다.
  4. 누락과 환각을 따로 센다. 마이너스 기호 하나나 꾸며낸 문장 하나는 문자 비율은 작아도 의미를 바꿉니다.
  5. 운영 지표를 잰다. 페이지 latency, retry, 실패, 최대 VRAM, token, 승인 페이지당 비용을 기록합니다.
  6. manifest를 고정한다. 입력 hash, olmOCR 버전, checkpoint, 정밀도, runtime, render size, retry, 검토 결론을 저장합니다.
  7. 작은 batch 뒤 확장한다. 실패율, 비정상적으로 짧은 출력, retry 급증에 정지 조건을 둡니다.
  8. 고위험 필드는 사람이 확인한다. 법률, 의료, 재무, 신원, 수식, 연구 결론을 자동 발행하지 않습니다.
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e ".[bench]"
playwright install chromium
huggingface-cli download --repo-type dataset allenai/olmOCR-bench \
  --local-dir ./olmOCR-bench
python -m olmocr.bench.convert olmocr_pipeline --dir ./olmOCR-bench/bench_data
python -m olmocr.bench.benchmark --dir ./olmOCR-bench/bench_data

공식 benchmark는 업그레이드 회귀에 유용합니다. 문자열 존재/부재, 읽기 순서, 표 관계, KaTeX 수식 렌더링을 pass/fail 사실로 검사합니다. bench extra와 Playwright Chromium이 필요합니다. 현재 README에서 지원 runner를 확인하고 변환 뒤 점수를 계산합니다.

별도 비공개 holdout을 만들고 튜닝에 사용한 페이지를 최종 독립 테스트로 재사용하지 마십시오. 오류를 사실, 구조, 순서, 언어, 스캔 품질, 운영 실패로 분류합니다. RAG에서는 chunk가 페이지로 돌아갈 수 있는지, 추출에서는 Markdown 외형이 아니라 JSON/셀 값이 맞는지도 봅니다.

표·수식·스캔·언어·개인정보·환각

표와 수식은 명시적으로 강화된 영역이지만 Markdown/LaTeX 생성과 의미 정확성은 다릅니다. 합계, 행·열, 병합 셀, 위·아래 첨자, 소수점, 천 단위, 음수 기호, 변수를 원본과 대조합니다. 더 깔끔한 표가 값을 조용히 정규화했을 수 있으므로 페이지 링크를 유지합니다.

저해상도와 손상에는 증거 한계가 있습니다. 확대는 사라진 잉크를 되살리지 못하고 VLM은 문맥으로 그럴듯한 단어를 추측할 수 있습니다. 확인 불가 부분은 불확실로 남기고 하위 LLM이 근거 없이 ‘수정’하지 못하게 합니다. 빈 페이지, 중복, 손상, 명령처럼 보이는 문구도 시험합니다.

공식 benchmark는 영어입니다. 다국어 처리가 가능하더라도 모든 문자 체계의 균일한 품질은 증명되지 않았습니다. 한글 옛글자, 세로쓰기, 한자 혼용, 중국어, 일본어, RTL, 희귀 문자, 코드 스위칭을 각자 평가하고 원어민이 검토합니다. 영어 leaderboard에서 한국어 정확도를 추론하지 않습니다.

‘로컬’은 model cache, S3 workspace, log, crash dump, backup, monitoring까지 포함한 구조 주장입니다. 보존 최소화, 암호화, RBAC, 로그 마스킹, 삭제 날짜를 적용합니다. remote endpoint는 전체 페이지 정보를 받으므로 원문서와 같은 민감도로 관리합니다.

YAML 파싱과 정상 finish_reason은 기술 상태일 뿐 사실 검증이 아닙니다. 출력 길이, 금지 구문, 페이지 coverage, 다른 engine과 차이, 핵심 field 규칙으로 문제를 선별하고 고위험 문서는 사람이 원본과 대조합니다.

Marker, Docling, Tesseract, 클라우드 문서 AI 비교

선택지적합한 조건출력 강점대가
olmOCRLLM/RAG용 자연 순서 텍스트, 수식·표·복잡 layoutMarkdown/text와 DolmaGPU/VLM 운영, 생성 오류, 위치 구조 약함
Marker여러 형식, 이미지, 구조 JSON, CPU/MPS/hybrid modeMarkdown, JSON, HTML, chunksmode별 동작과 code/weight license 별도 확인
Docling광범위 형식, 통합 Document, local/air-gaplossless JSON, Markdown/HTML, 통합선택 pipeline에 따라 품질이 달라지는 큰 stack
Tesseract결정적 문자 OCR, 좌표, TSV/hOCR, 많은 언어 pack문자와 위치 형식layout, 표, 수식, 읽기 순서는 추가 구성
Cloud Document AImanaged SLA, form/KV, 분류·분할구조 Document와 전문 processor요금, 데이터 경계, vendor schema

편집 판단: olmOCR는 ‘언어 모델용 페이지 재구성기’로 볼 때 가장 정확합니다. 픽셀 좌표 기반 보존 전사 도구가 아닙니다. 좌표, 결정적 감사, 양식 field, 분류가 필수면 structured OCR/parser나 cloud processor를 우선하고 olmOCR를 두 번째 관점으로 사용합니다.

운영에서는 만능 모델 하나보다 router가 낫습니다. 깨끗한 digital page는 native extraction, 시각적으로 어려운 페이지는 VLM, 핵심 field 또는 두 경로의 충돌은 사람 검토로 보냅니다. 비용과 품질을 함께 통제할 수 있습니다.

자주 묻는 질문

olmOCR는 Tesseract에 LLM을 붙인 것인가요?

아닙니다. Tesseract는 글자 줄과 위치를 반환할 수 있습니다. olmOCR는 전체 페이지에서 자연 순서 텍스트, 표, 수식을 생성합니다. 레이아웃 이해는 넓지만 그럴듯한 오류가 생길 수 있습니다.

현재 olmOCR-2는 PDF anchor를 쓰나요?

main의 새 모델 path는 no-anchoring입니다. CLI도 anchor length를 새 모델에서 쓰지 않는다고 표시합니다. anchor 코드와 pdftotext fallback은 남아 독립 검증에 유용합니다.

클라우드 전송 없이 실행할 수 있나요?

가중치와 의존성을 미리 받고 호환 NVIDIA GPU/vLLM을 쓰면 가능합니다. cache, log, workspace, backup도 확인하십시오. remote server mode는 페이지를 전송합니다.

bounding box를 보존하나요?

주요 출력은 page span이 있는 선형 텍스트이지 word-level 좌표 graph가 아닙니다. 위치가 필수면 Tesseract, Marker JSON, Docling, cloud document AI가 적합합니다.

표와 수식을 바로 사용할 수 있나요?

안 됩니다. 합계, 셀 관계, 부호, 변수, 단위, 병합 셀을 원본과 대조하십시오. 학습상 강점은 개별 사례의 정답 보장이 아닙니다.

어떤 언어를 지원하나요?

다국어 페이지를 처리할 수 있지만 공식 benchmark는 영어입니다. 대상 언어, 문자, 방향, 서식마다 평가하고 공통 정확도를 주장하지 마십시오.

VRAM은 얼마나 필요한가요?

7B급 GPU 모델이며 FP8 실용 추론이 권장됩니다. runtime, image size, context, concurrency 전체에 적용되는 고정 VRAM 수치는 없습니다. 목표 GPU에서 측정하십시오.

AI2 demo에 기밀 문서를 넣어도 되나요?

현재 privacy, retention, terms를 승인하기 전에는 공개 또는 합성 페이지만 쓰십시오. 기밀은 승인된 local 또는 계약 환경에서 처리합니다.

검토한 1차 자료

독립 기술 검토: 2026-08-20. 검토 당시 최신 안정 버전은 v0.4.27입니다. 모델 이름, 의존성, API 가격, demo 정책은 바뀔 수 있으므로 운영 전 고정 source와 private test를 다시 확인하십시오.

OlmOCR 공식 자료 확인

공식 저장소, 문서 또는 모델 자료를 엽니다.

공식 자료 보기

Quick Info

프로젝트 링크
github.com
Category
생산성
Added
1/21/2026
Published
1/21/2026
Updated
8/29/2026

Share This Tool

Have an AI tool to share?

Submit it to AI Dreamhub

Get your product in front of people actively exploring AI tools.

Submit Your Tool
AnyGen

AnyGen

AnyGen은 보고서, 문서, 프레젠테이션, 분석, 계획을 만들고 다듬는 AI 워크스페이스입니다.

AnyGenAI workspaceAI assistant
1350
Gamma App

Gamma App

Gamma은 편집 가능한 프레젠테이션, 문서, 웹페이지, 소셜 게시물 및 그래픽을 만들기 위한 AI 지원 작업 공간입니다. 이 독립 가이드에서는 생성 모드, 현재 계획 경계, 가져오기 및 내보내기, 브랜드 및 접근성 QA, 사실 확인, 사이트 게시, 개인 정보 보호 및 대안을 다룹니다.

Gamma AppAI 프레젠테이션AI 슬라이드
1700
Read AI Digital Twin

Read AI Digital Twin

Read AI Digital Twin - work digital twin. 공식 자료와 신뢰 가능한 공개 자료를 바탕으로 용도, 강점, 한계, 대안을 정리했습니다. 도입 전 가격, 권한, 데이터 보호, 제공 지역, 실제 품질을 확인해야 합니다.

Read AIDigital TwinAI meeting assistant
870
Multica

Multica

Multica는 productivity 분야의 AI 제품으로, 실제 업무 흐름에 적용하려는 사용자에게 적합합니다.

productivityAI 도구
920