요약
바이두의 오픈소스 Unlimited-OCR은 전통적 OCR 도구가 할 수 없는 것을 달성: 100페이지 PDF를 한 번에 읽고, 메모리 폭발이나 속도 저하 없이, 단 30억 파라미터로. 비밀은 R-SWA(Reference Sliding Window Attention) — 모델이 인간처럼 텍스트를 복사하며, 원본과 방금 쓴 몇 글자만 보는 방식.
전통적 OCR이 긴 문서에서 고전하는 이유
10페이지 이상 스캔 PDF로 Tesseract나 Adobe Acrobat을 사용해봤다면 다음을 경험했을 것:
- 페이지별 처리: OCR 엔진이 각 페이지를 독립적으로 처리, 페이지 간 상태 리셋. 페이지를 가로지르는 표가 잘림.
- 메모리 폭발: 엔드투엔드 OCR 모델(DeepSeek-OCR 등)의 KV Cache는 텍스트 길이에 따라 선형 증가. 40페이지 문서가 24GB VRAM을 소비할 수 있음.
- 포맷 손실: 다단 레이아웃, 페이지를 가로지르는 표, 헤더/푸터가 페이지별 처리에서 완전히 엉킴.
도구가 나빠서가 아니라 아키텍처적 한계. 전통적 OCR은 각 페이지를 독립 작업으로 취급, “책 전체” 관점이 부족.
Unlimited-OCR의 핵심 혁신: R-SWA 어텐션 메커니즘
인간이 텍스트를 복사하듯이 작동
바이두 연구팀은 인간이 책을 복사하는 방식에서 영감을 얻음. 책을 복사할 때:
- 눈은 원본 텍스트를 봄 (시각 토큰)
- 방금 쓴 마지막 몇 글자는 아직 시야에 있음 (슬라이딩 윈도우 내 토큰)
- 이전 내용은 다시 읽을 필요 없음 (윈도우에서 밀려난 토큰)
이것이 **Reference Sliding Window Attention(R-SWA, 참조 슬라이딩 윈도우 어텐션)**의 핵심 아이디어.
기술 세부사항
R-SWA는 두 가지를 수행:
- 시각 토큰 고정: 이미지 인코딩은 한 번만 수행되고 변경되지 않음. 표준 슬라이딩 윈도우 어텐션이 야기하는 이미지 특징 흐림 문제 회피.
- 출력 토큰의 슬라이딩 윈도우: 각 새 토큰은 마지막 128개 생성 토큰만 참조. 오래된 토큰은 윈도우에서 밀려남. KV Cache는 고정 길이 큐가 됨.
결과: 문서가 5페이지든 100페이지든, 디코딩 중 KV Cache는 일정.
DeepSeek-OCR과의 관계
Unlimited-OCR은 오픈소스 DeepSeek-OCR 위에 구축:
- DeepEncoder 시각 인코더 유지 (1024×1024 PDF 페이지를 256개 토큰으로 압축)
- 디코더를 MoE(Mixture of Experts) 아키텍처로 교체 — 총 파라미터 30억, 추론 시 약 5억만 활성
- 모든 표준 어텐션 레이어를 R-SWA로 교체
성능: 정확도 93%, 32K 컨텍스트 윈도우
벤치마크 결과
OmniDocBench v1.5/v1.6 표준 OCR 벤치마크:
| 모델 | 점수 | 비고 |
|---|---|---|
| Unlimited-OCR | 93.92% | OmniDocBench v1.6 SOTA |
| DeepSeek-OCR | 87.70% | 베이스라인 |
| GPT-4o | ~88% | 비공개 소스 |
| Tesseract 5 | ~72% | 전통적 OCR |
DeepSeek-OCR 대비 6.22 포인트 향상, 40페이지 이상 문서에서 특히 안정적.
실제 사용 사례
- 단일 이미지: “Gundam” 모드(동적 해상도), 고정밀 단일 페이지 인식용
- 다중 페이지 문서/PDF: “Base” 모드 — 전체 문서를 한 번에 입력, 페이지 분할 불필요
- 32K 컨텍스트 윈도우: 이론적으로 약 100페이지 표준 PDF 처리 가능 (페이지당 약 300 토큰)
두 가지 사용 방법: 온라인 데모 vs 로컬 배포
방법 1: Hugging Face Space (설정 없음)
가장 빠른 체험 방법:
- akhaliq/Unlimited-OCR 접속
- 이미지 또는 PDF 업로드
- 빠른 자르기 모드 또는 전체 분석 모드 선택
- 처리 완료 후 Markdown 형식 출력 획득
빠른 검증에 적합하지만, 공유 GPU 리소스 제한 — 긴 문서는 대기열 필요 가능.
방법 2: 로컬 배포 (완전한 제어)
하드웨어 요구사항:
- GPU: NVIDIA GPU, 최소 8GB VRAM (RTX 3090/4090 권장)
- 메모리: 16GB+
- 디스크: 모델 약 6GB
설치 단계:
# 1. 저장소 클론
git clone https://github.com/baidu/Unlimited-OCR.git
cd Unlimited-OCR
# 2. 가상 환경 생성
conda create -n unlimited-ocr python=3.10
conda activate unlimited-ocr
# 3. 의존성 설치
pip install -r requirements.txt
# 4. 모델 다운로드 (Hugging Face에서 자동 다운로드)
# 5. 추론 실행
python inference.py \\
--input document.pdf \\
--mode base \\
--output result.md
vLLM 가속 추론 (프로덕션 환경 권장):
# vLLM 설치
pip install vllm
# 서버 시작
python -m vllm.entrypoints.openai.api_server \\
--model baidu/Unlimited-OCR \\
--max-model-len 32768
Apple Silicon 사용자: MLX 버전
커뮤니티가 Unlimited-OCR을 Apple MLX로 이식 (LoJexLLM/Unlimited-OCR-MLX), M1/M2/M3 Mac에서 네이티브 실행 가능.
비교: Unlimited-OCR vs 전통적 OCR
| 항목 | Unlimited-OCR | Tesseract 5 | Adobe Acrobat OCR | PaddleOCR |
|---|---|---|---|---|
| 긴 문서 | ✅ 100페이지 한 번에 | ❌ 페이지별 | ❌ 페이지별 | ❌ 페이지별 |
| KV Cache | 일정 (R-SWA) | N/A | N/A | N/A |
| 표 인식 | ✅ 페이지 간 표 유지 | ⚠️ 간단한 표 | ✅ 양호 | ⚠️ 보통 |
| 수식 인식 | ✅ LaTeX 출력 | ❌ 미지원 | ⚠️ 제한적 | ⚠️ 제한적 |
| 모델 크기 | ~6GB | ~30MB | 클라우드 | ~100MB |
| 오픈소스 | ✅ MIT | ✅ Apache 2.0 | ❌ 상용 | ✅ Apache 2.0 |
| 오프라인 | ✅ | ✅ | ❌ | ✅ |
| GPU 요구 | 8GB+ VRAM | CPU만 | 클라우드 | 선택적 |
결론: Unlimited-OCR은 Tesseract 같은 경량 도구를 대체하는 것이 아니라, 엔드투엔드 긴 문서 OCR이라는 특정 문제를 해결. 스캔 PDF 일괄 디지털화, 계약서/재무보고 전문 추출, 학술 논문 파싱에는 현재 사용 가능한 최적의 오픈소스 선택.
커뮤니티 및 최신 동향
- Hugging Face Space: akhaliq/Unlimited-OCR 온라인 데모
- Apple MLX 이식: LoJexLLM/Unlimited-OCR-MLX Mac 네이티브 지원
- vLLM 통합: uv-scripts/ocr 커뮤니티 추론 스크립트
- GitHub: baidu/Unlimited-OCR, MIT 라이선스, 활발한 커뮤니티
FAQ
Q1: Unlimited-OCR에 얼마나 많은 VRAM이 필요한가요?
추론 시 약 8GB VRAM. 총 파라미터는 30억이지만, MoE 아키텍처로 추론 시 약 5억만 활성. R-SWA의 KV Cache 일정과 결합, 실제 메모리 사용량은 동일 크기 dense 모델보다 훨씬 낮음.
Q2: 어떤 언어를 지원하나요?
주로 중국어와 영어 문서로 훈련, 이 두 언어의 인식 정확도가 최상. 다른 언어(일본어, 한국어 등)도 인식 가능하지만 정확도는 다소 낮을 수 있음.
Q3: PaddleOCR과 차이점은? 어느 것을 선택해야 하나요?
PaddleOCR은 전통적 파이프라인(감지 + 인식) — 경량, 빠름, 단일 페이지용. Unlimited-OCR은 엔드투엔드로, 긴 문서 처리와 복잡한 레이아웃 이해에 우수. 단일 영수증이나 명함은 PaddleOCR, 스캔 책 전체나 긴 계약서는 Unlimited-OCR이 적합.
Q4: 상업적 사용이 가능한가요?
네. Unlimited-OCR은 MIT 라이선스로, 추가 인증 없이 상업적 사용, 수정, 배포 가능.
Q5: 100페이지 처리에 얼마나 걸리나요?
GPU에 따라 다름. RTX 4090에서, 100페이지 표준 PDF(페이지당 약 300 토큰 출력)는 약 3-5분. 병목은 시각 인코딩 단계, 디코딩 단계는 R-SWA로 일정 속도 유지.
Q6: GPU 없이 사용할 수 있나요?
이론적으로는 가능하지만 매우 느림. CPU로 30억 파라미터 모델 실행은 실용적이지 않음. GPU 없는 사용자는 Hugging Face Space 온라인 데모 또는 M 시리즈 Mac의 Apple MLX 버전 권장.
이 기사가 도움이 되었기를 바랍니다! 더 많은 AI 도구를 찾고 계신다면, 2026 AI 도구 얼티밋 가이드(50개 이상 심층 리뷰)도 확인해보세요.