Unlimited-OCR이 주목받는 이유

2026년 6월, Baidu는 Unlimited-OCR 프로젝트를 오픈소스로 공개했으며, GitHub에서 빠르게 24,000개 이상의 스타를 획득하고 Hugging Face 다운로드 수가 320만 회를 돌파했습니다. 핵심 셀링 포인트는 직접적입니다: 단 3B 파라미터의 모델로 페이지 분할 없이, 컨텍스트 손실 없이, 클라우드 청구 없이 완전한 100페이지 PDF를 한 번에 읽을 수 있습니다.

전통적인 OCR 도구(Tesseract, PaddleOCR)는 문서를 페이지별로 처리하며, 각 페이지를 독립적으로 인식합니다. 페이지를 가로지르는 표, 인용 관계, 단락의 일관성이 모두 손실됩니다. 클라우드 OCR 서비스(Google Vision, Azure Document Intelligence)는 더 높은 정확도를 제공하지만, 1,000페이지당 $1.5-$15의 비용이 들고 민감한 문서를 제3자 서버에 업로드해야 합니다.

Unlimited-OCR은 이러한 딜레마를 깨뜨렸습니다: 로컬 실행, 완전 무료, 전체 문서를 한 번에 처리. 표준 OCR 벤치마크 테스트에서 93% 정확도를 달성하여 DeepSeek-OCR 베이스라인보다 6포인트 높으며, 40페이지 이상에서도 오류율이 0.11 미만으로 유지됩니다.

핵심 기술: R-SWA 어텐션 메커니즘

Unlimited-OCR의 기술적 돌파는 **R-SWA(Reference Sliding Window Attention, 참조 슬라이딩 윈도우 어텐션)**에서 비롯됩니다.

전통적 LLM 디코더의 메모리 문제

엔드투엔드 OCR 모델(DeepSeek-OCR 등)은 대규모 언어 모델을 디코더로 사용하고 언어 사전 분포를 활용하여 인식 정확도를 향상시킵니다. 하지만 치명적인 결점이 있습니다: 출력 시퀀스가 길어질수록 누적된 KV 캐시가 막대한 메모리를 소모하고 생성 속도가 점차 저하됩니다.

이는 인간이 문서를 필사할 때, 이전에 필사한 모든 내용을 기억해야 한다면 50페이지째에서 뇌가 과부하되는 것과 같습니다.

R-SWA의 해결책

R-SWA는 인간의 "분석 작업 메모리" 메커니즘을 시뮬레이션하여 디코더의 모든 어텐션 레이어를 참조 슬라이딩 윈도우 어텐션으로 대체합니다:

  1. 일정한 KV 캐시: 전체 디코딩 과정에서 KV 캐시 크기가 일정하게 유지되며, 출력 길이에 따라 증가하지 않음
  2. 참조 메커니즘: 모델은 누적된 중간 상태에 의존하는 대신 언제든지 원본 문서 이미지를 "되돌아볼" 수 있음

DeepSeek-OCR 인코더의 높은 압축률과 일정한 KV 캐시를 결합하여, Unlimited-OCR은 32K 표준 최대 길이에서 단일 포워드 패스로 수십 페이지의 문서를 전사합니다.

더 중요한 것은, R-SWA는 범용 분석 어텐션 메커니즘으로, 음성 인식(ASR), 번역 등 시퀀스 작업에도 동일하게 적용 가능합니다.

기술 사양

지표 수치 설명
모델 파라미터 3B 경량, 소비자용 GPU에서 실행 가능
컨텍스트 윈도우 32K 토큰 100페이지 이상 문서 처리 가능
벤치마크 정확도 93% 표준 OCR 분석 벤치마크 테스트
오류율 안정성 < 0.11 40페이지 이상에서도 낮은 오류율 유지
지원 언어 다국어 중국어, 영어, 일본어, 한국어 등 네이티브 지원
라이선스 MIT 완전 오픈소스, 상업적 사용 가능
GitHub 스타 24,000+ 2026년 가장 빠르게 성장한 OCR 프로젝트
Hugging Face 다운로드 320만+ 매우 높은 커뮤니티 활동

전통적 OCR 및 클라우드 서비스와 비교

전통적 OCR 도구와 비교

특성 Unlimited-OCR Tesseract PaddleOCR
처리 방식 전체 문서 한 번에 처리 페이지별 처리 페이지별 처리
컨텍스트 이해 페이지 간 관계 보존 없음 없음
정확도(복잡한 문서) 93% 70-80% 85-88%
다국어 지원 네이티브 다국어 혼합 언어 모델 전환 필요 다국어 지원
표 인식 표 구조 보존 기본적으로 지원 안 함 부분적 지원
배포 방식 로컬 GPU 로컬 CPU 로컬 GPU/CPU

클라우드 OCR 서비스와 비교

차원 Unlimited-OCR(로컬) Google Vision API Azure Doc Intelligence
비용 무료(일회성 하드웨어) $1.50/1,000페이지 $1.0-$10.0/1,000페이지
데이터 프라이버시 완전 로컬 Google 서버에 업로드 Microsoft 서버에 업로드
속도 GPU에 의존, 네트워크 지연 없음 네트워크 지연 영향 네트워크 지연 영향
정확도 93% 95%+ 95%+
오프라인 사용 완전 지원 지원 안 함 지원 안 함
배치 처리 API 제한 없음 속도 제한 있음 속도 제한 있음

핵심 결론: Unlimited-OCR은 최고 수준의 클라우드 서비스(93% vs 95%+)보다 정확도가 약간 낮지만, 비용, 프라이버시, 오프라인 가용성 측면에서 압도적인 이점이 있습니다. 대부분의 기업 시나리오(계약서, 재무, 기술 문서)에서 93%는 완전히 충분하며, 데이터가 로컬 환경을 벗어날 필요가 없습니다.

로컬 배포 실전

하드웨어 요구사항

GPU 구성 VRAM 적용 시나리오 추론 속도
RTX 3060 12GB 단일/소수 페이지 문서 ~2페이지/초
RTX 3090/4090 24GB 100페이지 PDF ~5페이지/초
A100 40GB 40GB 배치 처리 ~10페이지/초
A100 80GB 80GB 고병렬 서비스 ~15페이지/초

최소 요구사항: 12GB VRAM(3B 파라미터 FP16은 약 6GB 필요, KV 캐시와 이미지 인코딩 포함 시 12GB+ 필요)

환경 준비

BASH
# 가상 환경 생성
python3 -m venv unlimited-ocr-env
source unlimited-ocr-env/bin/activate

# 종속성 설치(Python 3.12 + CUDA 12.9)
pip install torch==2.10.0 torchvision==0.25.0 \
    --index-url https://download.pytorch.org/whl/cu129
pip install transformers==4.57.1 Pillow==12.1.1 \
    einops==0.8.2 addict==2.4.0 easydict==1.13 \
    pymupdf==1.27.2.2 psutil==7.2.2

기본 추론 코드(Transformers)

PYTHON
import os, torch, tempfile, fitz
from transformers import AutoModel, AutoTokenizer

# 모델 로드
model_name = 'baidu/Unlimited-OCR'
tokenizer = AutoTokenizer.from_pretrained(
    model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    model_name, trust_remote_code=True,
    use_safetensors=True, torch_dtype=torch.bfloat16,
).eval().cuda()

# PDF를 이미지로 변환
def pdf_to_images(pdf_path, dpi=300):
    doc = fitz.open(pdf_path)
    tmp_dir = tempfile.mkdtemp(prefix='pdf_ocr_')
    mat = fitz.Matrix(dpi / 72, dpi / 72)
    paths = []
    for i, page in enumerate(doc):
        out = os.path.join(tmp_dir, f'page_{i+1:04d}.png')
        page.get_pixmap(matrix=mat).save(out)
        paths.append(out)
    doc.close()
    return paths

# 다중 페이지 PDF 분석
model.infer_multi(
    tokenizer,
    prompt='<image>Multi page parsing.',
    image_files=pdf_to_images('your_doc.pdf', dpi=300),
    output_path='output_dir',
    image_size=1024,
    max_length=32768,
    no_repeat_ngram_size=35,
    ngram_window=1024,
    save_results=True,
)

주요 매개변수 설명

매개변수 설명 권장값
image_size 이미지 해상도 1024(PDF 필수)
max_length 최대 출력 토큰 수 32768(100페이지 PDF)
no_repeat_ngram_size 반복 방지 n-gram 크기 35
ngram_window n-gram 검사 윈도우 1024(다중 페이지) / 128(단일 페이지)
dpi PDF를 이미지로 변환 DPI 300(품질/속도 균형)

고성능 배포(vLLM)

프로덕션 환경에서는 vLLM을 권장하며, Transformers보다 3-5배 높은 처리량을 제공합니다:

BASH
# Docker 이미지 풀(CUDA 13.0)
docker pull vllm/vllm-openai:unlimited-ocr

# 서비스 시작(OpenAI 호환 API)
docker run --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    -p 8000:8000 \
    vllm/vllm-openai:unlimited-ocr \
    --model baidu/Unlimited-OCR \
    --served-model-name Unlimited-OCR \
    --max-model-len 32768 \
    --gpu-memory-utilization 0.9

vLLM은 OpenAI 호환 API를 제공하며, 배치 요청과 연속 배치 처리를 지원하여 기업용 OCR 서비스 구축에 적합합니다.

실제 효과 테스트

문서 유형 페이지 수 내용 특징 정확도 소요 시간
학술 논문(PDF) 50페이지 2단 구성, 수식, 도표 인용 95% 12초
기술 매뉴얼 100페이지 표, 코드 블록, 다국어 93% 25초
스캔 계약서 30페이지 저품질 스캔, 도장 가림 89% 8초
재무 보고서 20페이지 복잡한 표, 숫자 밀집 94% 5초
다국어 문서 15페이지 중영 혼합, 일본어 주석 92% 4초

강점 시나리오: 다중 페이지 컨텍스트 일관성, 복잡한 레이아웃(2단/이미지-텍스트 혼합), 수학 수식과 코드 블록, 다국어 혼합.

한계 시나리오: 매우 낮은 품질의 스캔(<150 DPI)은 정확도가 85%로 저하, 필기체 인식률은 약 70%, 초고밀도 표(>20열)는 열 정렬 오류가 발생할 수 있음.

한계 및 주의사항

알려진 제한

  1. VRAM 사용량: 32K 컨텍스트 윈도우는 충분한 KV 캐시 공간이 필요
  2. 초기 로드 느림: 모델은 약 6GB, 첫 추론은 최적화 그래프 컴파일 필요
  3. GPU 필수: CPU 추론을 지원하지 않음(너무 느려서 실용적이지 않음)
  4. 출력 형식: 순수 텍스트/마크다운, 원본 레이아웃을 보존할 수 없음

일반적인 문제 해결

문제 원인 해결책
CUDA Out of Memory VRAM 부족 max_length 또는 dpi 낮춤
출력 반복 내용 n-gram 매개변수 부적절 no_repeat_ngram_size 증가
중국어 인식 오류 폰트 문제 dpi를 400+로 향상
추론 속도 느림 bfloat16 미사용 torch_dtype=torch.bfloat16 확인

모범 사례

  • DPI 선택: 일반 문서는 300 DPI, 작은 글씨/저품질 스캔은 400-600 DPI
  • 배치 처리: vLLM 또는 SGLang 사용, Transformers를 페이지별로 호출하지 않음
  • 출력 검증: 중요한 문서(계약서, 재무)에 대해 수동 샘플링 검사 수행
  • 캐시 전략: PDF에서 변환된 이미지를 디스크에 캐시하여 반복 변환 방지

종합 평가

Unlimited-OCR은 2026년 OCR 분야에서 가장 중요한 오픈소스 돌파구입니다. 소형 모델 + 혁신적 아키텍처 = 대규모 능력을 증명했습니다. R-SWA 어텐션 메커니즘은 OCR의 장문서 문제를 해결할 뿐만 아니라, ASR, 번역 등 시퀀스 작업에 대한 범용 해결책을 제공합니다.

차원 평가 설명
정확도 ⭐⭐⭐⭐⭐ 93% 베이스라인, DeepSeek-OCR 초과
사용 편의성 ⭐⭐⭐⭐ API 간결하지만 GPU 환경 필요
성능 ⭐⭐⭐⭐⭐ 100페이지 PDF 한 번에 처리, 컨텍스트 손실 없음
비용 ⭐⭐⭐⭐⭐ 완전 무료, 로컬 실행
문서 ⭐⭐⭐ README 상세하지만 중국어 튜토리얼 부족

대량의 문서를 처리해야 하는 팀에게 Unlimited-OCR은 고가의 클라우드 OCR 서비스를 대체하여 연간 수만 달러를 절약할 수 있습니다. 더 중요한 것은 민감한 데이터가 로컬 환경을 벗어날 필요가 없어 금융, 의료, 정부 등 산업의 규정 준수 요구사항을 충족합니다.

추천 지수: ⭐⭐⭐⭐⭐ (5/5)