바이두가 새로 공개한 Unlimited-OCR이 한 번의 포워드 패스로 수십 페이지를 변환하는 방법
How Baidu's newly released Unlimited-OCR transcribes dozens of pages in one forward pass
핵심 요약
바이두의 신규 OCR 모델은 R-SWA 어텐션 메커니즘을 도입해 긴 문서를 효율적으로 처리합니다.
- R-SWA 메커니즘 — 이전 토큰을 슬라이딩 윈도우로 참조하여 KV 캐시 문제를 해결함
- DeepSeek-OCR 기반 — 기존 인코더와 3B 파라미터 MoE 구조를 그대로 계승함
- 성능 향상 — 벤치마크상 DeepSeek-OCR보다 높은 정확도를 기록함
- 오픈 소스 — MIT 라이선스로 허깅페이스와 모델스코프에 공개됨
바이두(Baidu)가 이틀 전에 Unlimited-OCR을 공개했는데, 한 번의 포워드 패스(forward pass)로 수십 페이지를 텍스트로 변환할 수 있다고 주장하네.
논문 읽어보고 글 하나 썼다. 관심 있는 놈들은 봐라 (링크).
얘네가 해결하려는 문제
이게 뭔 문제인지는 다들 잘 알 거다. 기존 엔드투엔드 OCR 모델들은 페이지를 토큰 하나씩 순서대로 변환하는데, 새로운 토큰이 나올 때마다 지금까지 생성된 모든 걸 다시 참조해야 함. 그래서 KV 캐시가 쌓이면서 메모리 잡아먹고, 출력물이 길어질수록 속도가 점점 느려지는 거임. 실무에서는 그래서 PDF를 페이지 단위로 쪼개서 처리하고 나중에 이어 붙이는 방식을 쓰지.
해결책
얘네가 들고 온 해결책은 새로운 어텐션 메커니즘인 Reference Sliding Window Attention (R-SWA)임. 논문에서 설명하는 핵심은 이거야. 사람이 문서를 베껴 쓸 때 이미 쓴 걸 전부 다시 읽지는 않잖아? 그냥 주변 문맥만 살짝 보면서 흐름을 잡지. R-SWA가 딱 그걸 구현한 거임. 비주얼 토큰(인코딩된 이미지)은 레퍼런스로 남겨둬서 생성되는 모든 토큰이 항상 볼 수 있게 하고, 생성된 텍스트는 이전 n개 토큰(기본값 128개)의 슬라이딩 윈도우만 참조하게 만든 거임.
Deepseek OCR 기반
인코더는 DeepSeek-OCR 걸 그대로 가져왔는데, 1024x1024 페이지를 대략 256개의 비주얼 토큰으로 압축함. 바이두는 DeepSeek-OCR을 베이스라인으로 잡고 디코더의 모든 어텐션 레이어를 R-SWA로 갈아 끼웠어. 나머지는 다 그대로임. 인코더, 16배 이미지 압축, MoE 설정(3B 파라미터, 토큰당 활성 파라미터 500M) 전부 DeepSeek 거 그대로 썼다.
참고:
벤치마크 결과로는 OmniDocBench v1.6에서 **93.92%**를 찍었다고 함. DeepSeek-OCR이 v1.5에서 **87.01%**였던 거랑 비교하면 꽤 높은데, 어차피 제조사 발표 수치고 벤치마크 버전도 살짝 다르니까, 확실한 결론 내리려면 독립적인 평가 나올 때까지 좀 기다려보는 게 좋을 듯.
모델은 MIT 라이선스고 허깅페이스랑 모델스코어에 올라와 있다.
hugging face: https://huggingface.co/baidu/Unlimited-OCR
modelscope: https://modelscope.cn/models/PaddlePaddle/Unlimited-OCR


