DeepSeek-OCR Contexts Optical Compression
대규모 언어 모델(LLM)이 긴 텍스트를 처리할 때 시퀀스 길이에 따라 연산량이 제곱으로 증가하는 문제가 있습니다. 이 논문은 흥미로운 질문을 던집니다. 텍스트를 이미지로 변환하면 더 효율적으로 압축할 수 있지 않을까요? 하나의 문서 이미지가 실제 텍스트 토큰보다 훨씬 적은 비전 토큰으로 동일한 정보를 표현할 수 있다면, 시각적 압축이 새로운 해결책이 될 수 있습니다. DeepSeek-OCR은 이러한 비전-텍스트 압축의 가능성을 탐구한 초기 연구입니다.
H. Wei, Y. Sun and Y. Li, "DeepSeek-OCR: Contexts Optical Compression", arXiv preprint arXiv:2510.18234, 2025.
요약
DeepSeek-OCR은 두 가지 핵심 구성 요소로 이루어져 있습니다:
아키텍처: 380M 파라미터의 DeepEncoder(인코더)와 570M 활성 파라미터를 가진 DeepSeek3B-MoE(디코더)로 구성됩니다. DeepEncoder는 80M SAM-base와 300M CLIP-large를 직렬로 연결하고, 그 사이에 16배 압축 모듈을 배치한 새로운 구조입니다.
압축 성능: Fox 벤치마크에서 텍스트 토큰 대비 비전 토큰이 10배 미만일 때(압축 비율 < 10배) 97%의 OCR 정확도를 달성했습니다. 20배 압축에서도 약 60%의 정확도를 유지합니다.
실용적 가치: OmniDocBench에서 GOT-OCR2.0(페이지당 256토큰)를 100개의 비전 토큰만으로 능가했으며, MinerU2.0(페이지당 평균 6000+ 토큰)보다 800개 미만의 토큰으로 더 나은 성능을 보였습니다.
훈련 데이터: OCR 1.0(문서 및 자연 장면 OCR), OCR 2.0(차트, 화학식, 평면 기하학 파싱), 일반 비전 데이터, 텍스트 전용 데이터를 각각 70%, 20%, 10%의 비율로 구성했습니다.
평가 지표: Edit Distance를 주요 지표로 사용하여 OmniDocBench의 다양한 문서 유형(책, 슬라이드, 재무 보고서, 교과서 등)에서 성능을 측정했습니다.
논문 상세
1. Introduction
현재 대규모 언어 모델들은 긴 텍스트를 처리할 때 시퀀스 길이에 따라 계산 비용이 제곱으로 증가하는 문제에 직면해 있습니다. 이 논문은 비전 모달리티를 텍스트 정보의 효율적인 압축 매체로 활용하는 방안을 탐구합니다.
핵심 아이디어는 간단합니다. 문서 텍스트가 포함된 하나의 이미지는 동일한 디지털 텍스트보다 훨씬 적은 토큰으로 풍부한 정보를 표현할 수 있다는 것입니다. 이는 비전 토큰을 통한 광학적 압축이 훨씬 높은 압축 비율을 달성할 수 있음을 시사합니다.
이러한 통찰을 바탕으로 연구팀은 세 가지 주요 기여를 제시합니다:
첫째, 비전-텍스트 토큰 압축 비율에 대한 포괄적인 정량적 분석을 제공합니다. 9-10배 텍스트 압축에서 96% 이상의 OCR 디코딩 정확도를, 10-12배에서 약 90%를, 20배에서도 약 60%의 정확도를 달성했습니다.
둘째, 고해상도 입력에서도 낮은 활성화 메모리와 최소한의 비전 토큰을 유지하는 새로운 아키텍처인 DeepEncoder를 소개합니다.
셋째, DeepEncoder와 DeepSeek3B-MoE를 기반으로 한 DeepSeek-OCR을 개발했습니다. 프로덕션 환경에서 단일 A100-40G GPU로 하루에 200k+ 페이지의 훈련 데이터를 생성할 수 있습니다.
2. Related Works
비전 인코더의 유형: 현재 오픈소스 VLM들은 세 가지 주요 비전 인코더 유형을 사용합니다.
첫 번째는 Vary로 대표되는 듀얼 타워 아키텍처입니다. 고해상도 이미지 처리를 위해 병렬 SAM 인코더를 활용하지만, 이중 이미지 전처리가 필요하고 파이프라인 병렬화가 어렵다는 단점이 있습니다.
두 번째는 InternVL2.0으로 예시되는 타일 기반 방법입니다. 이미지를 작은 타일로 나누어 병렬 처리하며 고해상도에서 활성화 메모리를 줄이지만, 낮은 네이티브 인코더 해상도(512×512 이하) 때문에 큰 이미지가 과도하게 분할되어 많은 비전 토큰이 생성됩니다.
세 번째는 Qwen2-VL로 대표되는 적응형 해상도 인코딩입니다. NaViT 패러다임을 채택하여 타일 병렬화 없이 전체 이미지를 직접 처리하지만, 큰 이미지에서 막대한 활성화 메모리 소비와 GPU 메모리 오버플로우 문제가 발생합니다.
End-to-end OCR 모델: OCR, 특히 문서 파싱 작업은 이미지-텍스트 도메인에서 매우 활발한 주제입니다. Nougat은 arXiv 학술 논문 OCR을 위한 end-to-end 프레임워크를 처음으로 사용했습니다. GOT-OCR2.0은 OCR2.0의 범위를 더 많은 합성 이미지 파싱 작업으로 확장했습니다.
그러나 현재 모델들이 다루지 않은 중요한 연구 질문이 있습니다: 1000개의 단어를 포함한 문서를 디코딩하기 위해 최소한 몇 개의 비전 토큰이 필요한가? 이 질문은 "한 장의 그림이 천 마디 말의 가치가 있다"는 원리에 대한 연구에서 중요한 의미를 갖습니다.
3. Methodology
아키텍처: DeepSeek-OCR은 인코더와 디코더로 구성된 통합 end-to-end VLM 아키텍처를 가지고 있습니다. 인코더(DeepEncoder)는 이미지 특징을 추출하고 시각적 표현을 토큰화 및 압축하는 역할을 담당하며, 약 380M 파라미터로 구성됩니다. 디코더는 이미지 토큰과 프롬프트를 기반으로 필요한 결과를 생성하며, 570M 활성 파라미터를 가진 3B MoE 아키텍처를 채택합니다.
DeepEncoder 아키텍처: DeepEncoder는 윈도우 어텐션이 지배적인 시각적 인식 특징 추출 구성 요소와 밀집 글로벌 어텐션을 가진 시각적 지식 특징 추출 구성 요소로 구성됩니다. 이전 연구의 사전 훈련 이득을 활용하기 위해 SAM-base(패치 크기 16)와 CLIP-large를 두 구성 요소의 주요 아키텍처로 사용합니다.
두 구성 요소 사이에는 Vary에서 차용한 2계층 컨볼루션 모듈을 사용하여 비전 토큰의 16배 다운샘플링을 수행합니다. 1024×1024 이미지를 입력하면 DeepEncoder는 이를 \(1024/16 \times 1024/16 = 4096\) 패치 토큰으로 분할합니다. 인코더의 전반부가 윈도우 어텐션이 지배적이고 80M만 사용하므로 활성화가 허용 가능합니다. 글로벌 어텐션에 들어가기 전에 4096개의 토큰이 압축 모듈을 거쳐 \(4096/16=256\)개가 되므로 전체 활성화 메모리가 제어 가능합니다.
다중 해상도 지원: DeepEncoder는 다양한 네이티브 해상도와 동적 해상도 모드를 지원하도록 설계되었습니다. 네이티브 해상도는 Tiny(512×512, 64토큰), Small(640×640, 100토큰), Base(1024×1024, 256토큰), Large(1280×1280, 400토큰)의 네 가지 하위 모드를 지원합니다.
동적 해상도는 두 개의 네이티브 해상도로 구성될 수 있습니다. 예를 들어, Gundam 모드는 \(n \times 640 \times 640\) 타일(로컬 뷰)과 하나의 \(1024 \times 1024\) 글로벌 뷰로 구성됩니다. Gundam 모드에서 DeepEncoder가 출력하는 비전 토큰 수는 \(n \times 100 + 256\)이며, 여기서 \(n\)은 타일 수입니다.
MoE 디코더: 디코더는 DeepSeekMoE, 특히 DeepSeek-3B-MoE를 사용합니다. 추론 중에 모델은 64개의 라우팅된 전문가 중 6개와 2개의 공유 전문가를 활성화하여 약 570M의 활성화된 파라미터를 갖습니다.
디코더는 DeepEncoder의 압축된 잠재 비전 토큰으로부터 원래 텍스트 표현을 재구성합니다:
\[f_{\text{dec}} : \mathbb{R}^{n \times d_{\text{latent}}} \rightarrow \mathbb{R}^{N \times d_{\text{text}}}; \quad \hat{X} = f_{\text{dec}}(Z) \text{ where } n \leq N\]
여기서 \(Z \in \mathbb{R}^{n \times d_{\text{latent}}}\)는 DeepEncoder의 압축된 잠재(비전) 토큰이고 \(\hat{X} \in \mathbb{R}^{N \times d_{\text{text}}}\)는 재구성된 텍스트 표현입니다.
데이터 엔진: 복잡하고 다양한 훈련 데이터를 구축했습니다.
OCR 1.0 데이터: 인터넷에서 약 100개 언어를 다루는 30M 페이지의 다양한 PDF 데이터를 수집했습니다. 중국어와 영어가 약 25M을 차지하고 다른 언어가 5M을 차지합니다. 이 데이터에 대해 거친 주석과 세밀한 주석의 두 가지 유형의 ground truth를 생성했습니다. 자연 장면 OCR의 경우 LAION과 Wukong에서 이미지 데이터 소스를 가져와 PaddleOCR로 라벨링하여 중국어와 영어 각각 10M 데이터 샘플을 구축했습니다.
OCR 2.0 데이터: GOT-OCR2.0을 따라 차트, 화학식, 평면 기하학 파싱 데이터를 OCR 2.0 데이터로 지칭합니다. 차트 데이터의 경우 OneChart를 따라 pyecharts와 matplotlib을 사용하여 10M 이미지를 렌더링했습니다. 화학식의 경우 PubChem의 SMILES 형식을 데이터 소스로 활용하고 RDKit을 사용하여 이미지로 렌더링하여 5M 이미지-텍스트 쌍을 구축했습니다. 평면 기하학 이미지의 경우 Slow Perception을 따라 총 1M의 평면 기하학 파싱 데이터를 구축했습니다.
일반 비전 데이터: DeepEncoder는 CLIP의 사전 훈련 이득으로부터 이익을 얻을 수 있고 일반적인 시각적 지식을 통합하기에 충분한 파라미터를 가지고 있습니다. DeepSeek-VL2를 따라 캡션, 탐지, 그라운딩과 같은 작업에 대한 관련 데이터를 생성했습니다.
텍스트 전용 데이터: 모델의 언어 능력을 보장하기 위해 자체 텍스트 전용 사전 훈련 데이터의 10%를 도입했으며, 모든 데이터는 8192 토큰 길이로 처리했습니다.
훈련 파이프라인: 훈련 파이프라인은 매우 간단하며 주로 두 단계로 구성됩니다: a) DeepEncoder를 독립적으로 훈련; b) DeepSeek-OCR을 훈련.
DeepEncoder 훈련: Vary를 따라 소형 언어 모델을 활용하고 다음 토큰 예측 프레임워크를 사용하여 DeepEncoder를 훈련합니다. 이 단계에서는 앞서 언급한 모든 OCR 1.0 및 2.0 데이터와 LAION 데이터셋에서 샘플링한 100M 일반 데이터를 사용합니다.
DeepSeek-OCR 훈련: DeepEncoder가 준비된 후 섹션 3.4에서 언급한 데이터를 사용하여 DeepSeek-OCR을 훈련합니다. 전체 모델은 파이프라인 병렬성(PP)을 사용하고 4개 부분으로 나뉩니다. 20개 노드(각각 8개의 A100-40G GPU)를 사용하여 훈련하며, 데이터 병렬성(DP)은 40이고 글로벌 배치 크기는 640입니다.
4. Evaluation
비전-텍스트 압축 연구: Fox 벤치마크를 선택하여 텍스트가 풍부한 문서에 대한 DeepSeek-OCR의 압축-압축 해제 능력을 검증했습니다. Fox의 영어 문서 부분을 사용하고 ground truth 텍스트를 DeepSeek-OCR의 토크나이저로 토큰화한 후 600-1300 토큰의 문서를 테스트용으로 선택했습니다.
결과는 매우 고무적입니다. 10배 압축 비율 내에서 모델의 디코딩 정밀도는 약 97%에 도달할 수 있습니다. 압축 비율이 10배를 초과하면 성능이 감소하기 시작하는데, 이는 긴 문서의 레이아웃이 더 복잡해지거나 512×512 또는 640×640 해상도에서 긴 텍스트가 흐릿해지기 때문일 수 있습니다. 거의 20배로 토큰을 압축할 때도 정밀도는 여전히 60%에 근접할 수 있습니다.
OCR 실용적 성능: OmniDocBench에서 DeepSeek-OCR을 테스트했습니다. 100개의 비전 토큰(640×640 해상도)만 필요로 하는 DeepSeek-OCR은 256개의 토큰을 사용하는 GOT-OCR2.0을 능가합니다. 400개의 토큰(285개의 유효 토큰, 1280×1280 해상도)으로 이 벤치마크에서 최첨단과 동등한 성능을 달성합니다. 800개 미만의 토큰(Gundam 모드)을 사용하여 DeepSeek-OCR은 거의 7,000개의 비전 토큰이 필요한 MinerU2.0보다 우수한 성능을 보입니다.
일부 문서 카테고리는 만족스러운 성능을 달성하기 위해 매우 적은 토큰이 필요합니다. 예를 들어 슬라이드는 64개의 비전 토큰만 필요합니다. 책과 보고서 문서의 경우 DeepSeek-OCR은 100개의 비전 토큰만으로 좋은 성능을 달성할 수 있습니다. 신문의 경우 허용 가능한 편집 거리를 달성하려면 Gundam 또는 Gundam-master 모드가 필요합니다.
정성적 연구: DeepSeek-OCR은 레이아웃과 OCR 2.0 기능을 모두 보유하여 이차 모델 호출을 통해 문서 내 이미지를 추가로 파싱할 수 있습니다. 이를 "딥 파싱"이라고 합니다. 차트, 기하학, 화학식, 심지어 자연 이미지에 대한 딥 파싱을 수행할 수 있으며 통합된 프롬프트만 필요합니다.
인터넷의 PDF 데이터에는 중국어와 영어뿐만 아니라 대량의 다국어 데이터가 포함되어 있습니다. PDF 문서의 경우 DeepSeek-OCR은 거의 100개 언어를 처리할 수 있습니다. 중국어 및 영어 문서와 마찬가지로 다국어 데이터도 레이아웃 및 비레이아웃 OCR 형식을 모두 지원합니다.
또한 DeepSeek-OCR에 일정 수준의 일반 이미지 이해 능력을 제공했습니다. 주로 이미지 설명, 객체 탐지, 그라운딩 등이 포함됩니다.
5. Discussion
이 연구는 비전-텍스트 압축의 경계에 대한 초기 탐구를 나타내며, \(N\)개의 텍스트 토큰을 디코딩하는 데 몇 개의 비전 토큰이 필요한지 조사합니다. 예비 결과는 고무적입니다: DeepSeek-OCR은 약 10배 비율에서 거의 무손실 OCR 압축을 달성하며, 20배 압축에서도 60%의 정확도를 유지합니다.
이러한 결과는 향후 응용 프로그램에 대한 유망한 방향을 제시합니다. 예를 들어 다중 턴 대화에서 \(k\) 라운드를 초과하는 대화 기록에 대해 광학적 처리를 구현하여 10배 압축 효율성을 달성할 수 있습니다.
더 오래된 컨텍스트의 경우 렌더링된 이미지를 점진적으로 다운사이징하여 토큰 소비를 더욱 줄일 수 있습니다. 이 가정은 시간 경과에 따른 인간 기억 감소와 공간적 거리에 따른 시각적 인식 저하 사이의 자연스러운 평행관계에서 영감을 얻었습니다. 둘 다 점진적인 정보 손실의 유사한 패턴을 보입니다.
6. Conclusion
이 기술 보고서에서는 DeepSeek-OCR을 제안하고 이 모델을 통해 컨텍스트 광학 압축의 타당성을 예비적으로 검증했습니다. 모델이 소수의 비전 토큰에서 10배를 초과하는 양의 텍스트 토큰을 효과적으로 디코딩할 수 있음을 보여줍니다. 이 발견이 향후 VLM과 LLM의 개발을 촉진할 것으로 믿습니다.
또한 DeepSeek-OCR은 대규모 사전 훈련 데이터 생성이 가능한 매우 실용적인 모델로, LLM에 필수적인 보조 도구 역할을 합니다. 물론 OCR만으로는 진정한 컨텍스트 광학 압축을 완전히 검증하기에 충분하지 않으며, 향후 디지털-광학 텍스트 인터리브 사전 훈련, 건초 더미에서 바늘 찾기 테스트 등의 평가를 수행할 예정입니다.