핵심 요약
기존의 자기회귀 방식 OCR은 긴 문서를 처리할 때 토큰을 하나씩 순차적으로 생성해야 하므로 속도가 매우 느리다는 단점이 있었다. DODO는 블록 단위의 이산 확산 모델을 통해 정확도를 유지하면서도 병렬 디코딩을 가능하게 하여, 기존 대비 최대 3배 빠른 추론 속도를 달성하며 대규모 문서 처리의 효율성을 극대화했다.
왜 중요한가
기존의 자기회귀 방식 OCR은 긴 문서를 처리할 때 토큰을 하나씩 순차적으로 생성해야 하므로 속도가 매우 느리다는 단점이 있었다. DODO는 블록 단위의 이산 확산 모델을 통해 정확도를 유지하면서도 병렬 디코딩을 가능하게 하여, 기존 대비 최대 3배 빠른 추론 속도를 달성하며 대규모 문서 처리의 효율성을 극대화했다.
핵심 기여
블록 단위 이산 확산(Block Discrete Diffusion) 도입
OCR의 엄격한 결정론적 특성을 반영하여 전체 텍스트 생성을 순차적으로 연결된 블록 단위로 분해하고, 각 블록 내에서는 병렬 확산 디코딩을 수행하는 구조를 도입함.
OCR 특화 구조적 결함 해결
표준 확산 모델에서 발생하는 길이 불일치(Length Mismatch)와 위치 고정(Positional Anchoring) 오류를 블록 단위 제약 조건을 통해 해결하여 텍스트의 정렬 상태를 보존함.
효율적인 KV-캐싱 지원 (DODO-fast)
블록 인과적 어텐션(Block-causal Attention) 마스크를 적용하여 이전 블록의 계산 결과를 재사용함으로써 추론 속도를 기존 자기회귀 모델 대비 최대 3배까지 가속함.
핵심 아이디어 이해하기
기존 OCR 모델은 Transformer 기반의 자기회귀(Autoregressive) 방식을 사용한다. 이는 이전 토큰을 생성해야 다음 토큰을 예측할 수 있는 구조적 한계 때문에 문장이 길어질수록 추론 시간이 선형적으로 증가하며 병목 현상이 발생한다. 확산 모델(Diffusion Model)은 모든 토큰을 동시에 예측할 수 있는 잠재력이 있지만, OCR처럼 글자 하나만 틀려도 결과가 망가지는 '엄격한' 작업에서는 취약하다. 특히 전체 문장 길이를 미리 정확히 예측하지 못하면 텍스트가 밀리거나 잘리는 현상이 발생한다. DODO는 이를 해결하기 위해 문장을 '블록'이라는 작은 단위로 쪼갠다. 이전 블록의 정보를 고정된 닻(Anchor)으로 삼아 다음 블록을 생성함으로써, 블록 내부에서는 병렬 처리를 수행하면서도 블록 간의 순서와 정렬을 정확하게 유지한다. 이를 통해 정확도 손실 없이 병렬성의 이점을 극대화한다.
방법론
전체 시퀀스 L을 B개의 연속적인 블록(길이 L')으로 분할한다. 각 블록은 이전 블록들에 조건화되어 생성되며, 이는 [전체 텍스트 시퀀스와 이미지가 주어질 때] → [이를 B개의 블록으로 나누어 각 블록의 확률을 곱하는 연산을 수행하여] → [전체 시퀀스의 결합 확률을 얻는] 방식으로 정식화된다. 각 블록 내에서는 마스크드 이산 확산(Masked Discrete Diffusion)을 수행한다. [입력으로 노이즈가 섞인 토큰과 이미지를 받아] → [디노이저 모델이 원래 토큰을 예측하고] → [확률이 높은 토큰부터 마스크를 해제하여] → [블록 내 텍스트를 병렬로 복원한다]. DODO-fast 변체는 블록 인과적 어텐션(Block-causal Attention)을 사용한다. [현재 블록의 토큰들이 이전 블록의 토큰들만 참조하도록 마스킹하여] → [이전 블록의 Key-Value 값을 캐시에 저장하고] → [현재 블록 계산 시 재사용함으로써] → [전체 시퀀스를 매번 다시 계산하는 비용을 제거한다].
주요 결과
OmniDocBench와 Fox-Pages 벤치마크에서 평가를 수행했다. DODO(3B)는 OmniDocBench에서 NED(Normalized Edit Distance) 0.066을 기록하여, 기존 확산 기반 VLM인 LLaDA-V(0.524)나 Dimple(0.856) 대비 압도적인 성능 향상을 보였다. 추론 효율성 측면에서 DODO-fast는 초당 약 63개의 토큰(TPS)을 생성했다. 이는 동일한 백본(Qwen2.5-VL 3B)을 사용하는 자기회귀 모델(약 21 TPS) 대비 3배 빠른 속도이며, 확산 모델의 병렬 디코딩 이점이 실질적인 속도 향상으로 이어짐을 입증했다.
기술 상세
Qwen2.5-VL 3B를 백본으로 사용하며, 최대 8192 토큰의 시퀀스 길이를 지원하도록 설계되었다. 훈련 데이터로는 약 27만 개의 문서-텍스트 쌍으로 구성된 olmOCR-mix-1025 데이터셋을 활용했다. 이산 확산 프로세스는 전방 과정에서 토큰을 [M] 마스크로 교체하며, 훈련 시에는 가중치 마스크드 크로스 엔트로피 손실 함수를 사용하여 디노이저를 최적화한다. 샘플링 전략으로 '신뢰도 임계값(Confidence Thresholding)' 방식을 채택하여, 예측 확률이 p=0.98을 넘는 토큰만 각 단계에서 확정함으로써 OCR의 무오류 요구사항을 충족한다. DODO-fast는 블록 인과적 마스킹을 통해 정확한 KV-캐싱을 구현하여 추론 효율을 극대화했다.
한계점
DODO-fast 변체는 KV-캐싱을 위해 이전 블록의 표현을 고정(frozen)하므로, 전체 문맥을 동적으로 재계산하는 기본 DODO 모델에 비해 정확도가 다소 낮아지는 성능 저하가 발생한다. 또한 블록 크기나 어텐션 마스킹과 같은 구조적 하이퍼파라미터 설정에 따라 모델의 성능이 민감하게 변하는 특성이 있다.
실무 활용
대규모 문서 아카이브의 디지털화나 실시간 문서 파싱 작업에서 기존 모델보다 훨씬 빠른 속도로 텍스트를 추출할 수 있다.
- 수천 페이지 분량의 법률/금융 보고서 고속 OCR 처리
- 실시간 영수증 및 송장 데이터 추출 서비스
- 모바일 기기에서의 온디바이스 문서 스캔 및 텍스트 변환
코드 공개 여부: 미확인
키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.