긴 문서를 OCR로 처리할 때 속도가 점점 느려지거나 메모리 부족으로 작업이 중단되는 경험은 흔하다. 대부분의 모델은 페이지를 하나씩 처리하고 매번 컨텍스트를 처음부터 다시 구축한다. 표가 페이지 경계에서 잘리고 읽기 순서가 끊기는 근본 원인이다. Unlimited-OCR은 이 문제를 모델 구조 차원에서 해결한다. 문서 전체를 단일 패스로 전사하면서도 메모리 사용량을 일정하게 유지한다.
핵심은 ‘망각’이다: R-SWA가 KV 캐시를 평평하게 만든다
Unlimited-OCR은 DeepSeek-OCR을 기반으로 하되, 디코더의 모든 어텐션 레이어를 R-SWA(Reference Sliding Window Attention)로 전면 교체했다1. 기존 모델은 토큰을 생성할 때마다 키-값(KV) 캐시가 선형으로 증가해 결국 메모리 압박과 추론 속도 저하를 초래한다.
R-SWA의 작동 방식은 단순하면서도 효과적이다. 현재 생성 중인 토큰이 참조하는 정보를 오직 두 가지로 제한한다. 첫째, 입력 이미지와 프롬프트 같은 참조 토큰 전체는 항상 유지한다. 둘째, 자신이 지금까지 출력한 토큰 중에서는 직전 윈도우(기본 128토큰)만 참조하고, 그보다 오래된 출력은 과감히 잊는다.
이 설계 덕분에 KV 캐시 크기는 입력 길이에 윈도우 크기를 더한 값으로 고정되며, 전체 디코딩 과정 동안 변하지 않는다2. 아무리 긴 문서를 처리해도 메모리 소비와 생성 속도가 일정하게 유지된다. 책을 옮겨 적을 때 원본과 방금 쓴 글자만 확인하고, 이미 옮긴 내용을 처음부터 다시 읽지 않는 원리와 같다.
추론 효율과 정확도: 수치로 확인한 개선 폭
Unlimited-OCR은 총 30억 개 파라미터 중 5억 개만 활성화하는 MoE(Mixture-of-Experts) 구조를 채택해 추론 비용 자체도 낮다3. OmniDocBench v1.5 기준 종합 점수는 93.23점으로, DeepSeek-OCR 베이스라인 대비 6.22점 높은 수치를 기록했다1. 40페이지가 넘는 문서를 한 번에 처리할 때도 편집 거리(edit distance)는 0.11 이하로 유지된다.
속도 차이는 출력 길이가 길어질수록 극명해진다. 짧은 출력에서는 베이스라인과 유사하지만, 6,000토큰 수준에 도달하면 Unlimited-OCR이 최대 35% 더 빠르다1. 메모리 사용량 그래프는 베이스라인의 우상향 곡선과 Unlimited-OCR의 수평선으로 대비된다.
모드 선택과 실무 적용 가이드
Unlimited-OCR은 단일 이미지 추론 시 두 가지 모드를 제공한다4.
Gundam 모드:
image_size=640,crop_mode=True설정. 이미지를 타일로 분할 처리해 고해상도의 작은 텍스트까지 정밀하게 포착한다. 글씨가 작거나 정보 밀도가 높은 문서에 적합하다.Base 모드:
image_size=1024,crop_mode=False설정. 이미지를 단일 뷰로 처리하므로 Gundam 모드보다 추론 속도가 빠르다. 깔끔한 인쇄물에 적합하다.
두 모드는 목적에 따라 선택하면 된다. 정밀도가 중요하면 Gundam, 처리량이 우선이면 Base 모드가 합리적이다. 다만 다중 페이지 PDF 파싱은 Base 모드만 지원한다. PyMuPDF로 페이지를 이미지로 변환한 뒤 infer_multi()에 전달하면 문서 전체를 한 번에 전사할 수 있다.
추론 파라미터에도 주의가 필요하다. n-gram 반복을 방지하기 위해 no_repeat_ngram_size=35는 두 모드에 공통이며, ngram_window는 단일 이미지에서 128, 다중 페이지에서 1024로 설정한다. 프롬프트는 반드시 <image>로 시작해야 하며, vLLM 환경이라면 skip_special_tokens=False로 지정해야 한다5.
하나의 흐름으로 읽는 긴 문서
R-SWA는 OCR에 국한되지 않는다. 긴 시퀀스를 다루는 음성 인식(ASR), 번역 등에도 범용적으로 적용할 수 있는 파싱 어텐션 메커니즘이다2. 현재 32K 컨텍스트 제한이라는 한계가 있지만, 페이지 경계를 의식하지 않고 문서 전체를 하나의 흐름으로 읽을 수 있다는 점 자체가 실무 파이프라인에 의미 있는 전환점이다.
Unlimited-OCR을 도입하면 지금까지 별도로 설계했던 페이지 분할, 순서 재조합, 컨텍스트 연결 로직을 단일 모델 호출로 대체할 수 있다. 파이프라인이 단순해지는 만큼 유지보수 부담이 줄고, 페이지 경계에서 발생하던 인식 오류도 구조적으로 피할 수 있다.
1Unlimited OCR Works (arXiv:2606.23050)
2Baidu Releases Unlimited OCR, a 3B Model That Keeps the KV Cache Flat for Long-Document Parsing
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
