OmniDocBench 96.58로 엔드투엔드 OCR 최고 성능을 달성한 0.8B 문서 파서
이미지 입력의 페이지 단위 문서를 읽기 순서대로 파싱해 텍스트, 표, 수식, 시각영역을 포함한 Markdown/HTML 형식으로 생성하는 image-text-to-text 문서 파싱 태스크0.8Bapache-2.0
OvisOCR2는 Qwen3.5-0.8B를 기반으로 한 0.8B 엔드투엔드 문서 파서로, 이미지 페이지를 자연 읽기 순서의 Markdown으로 직렬화하고 표·수식·시각영역을 구조적으로 출력한다.
TL;DR
OvisOCR2는 Qwen3.5-0.8B를 기반으로 post-training(SFT→RL→OPD)과 실세계·합성 데이터 혼합을 통해 페이지 단위 문서 이미지를 자연 읽기 순서의 Markdown으로 직접 생성하는 0.8B 엔드투엔드 파서이다. 출력은 표를 HTML로, 수식을 LaTeX로, 시각영역을 좌표 기반 <img> 태그로 표준화하며 vllm 환경에서 max_tokens=16384와 temperature=0.0 설정으로 긴 결정론적 출력을 지원한다. OmniDocBench v1.6에서 Overall 96.58을 기록해 README가 인용한 벤치마크에서 최고 성능을 달성했고 PureDocBench Avg3 75.06도 보고됐다. 이 접근은 파이프라인식 복수 컴포넌트를 대체해 배포·유지보수 부담을 줄였지만 README는 다양하고 복잡한 실문서에서 여전히 오류가 발생할 수 있음을 경고해 결과 수동 검증이 필요함을 명시했다.
핵심 역량
- 단일 페이지 이미지에서 자연스러운 읽기 순서로 본문과 시각영역을 직렬화해 Markdown 문서로 출력할 수 있다.
- 표를 HTML <table>로, 수식을 LaTeX 표기법으로 변환해 구조화된 문서 아티팩트를 생성할 수 있다.
- 차트·그림 등 시각영역은 README 규약대로 좌표 기반 <img> 태그로 참조해 크롭 이미지를 별도 파일로 저장할 수 있다.
- vllm 기반 추론 설정을 통해 대용량 토큰(max_tokens=16384)과 낮은 온도(temperature=0.0)로 결정론적 출력을 생성할 수 있다.
강점
- OmniDocBench v1.6에서 96.58 전체 점수를 기록해 README가 인용한 벤치마크에서 최고 점수를 달성했다.
- 모델 크기가 0.8B로 작아 엔드투엔드 방식임에도 배포 비용과 메모리 요구량이 상대적으로 낮다.
- 읽기 순서, 표·수식의 구조화, 시각영역 참조를 단일 모델 추론으로 처리해 파이프라인식 접근에서 발생하던 인터페이스 오류와 복잡도를 줄였다.
훈련 방식
Qwen3.5-0.8B를 기반으로 post-training으로 SFT, RL, OPD를 순차 통합해 실세계 및 합성 데이터를 혼합한 데이터 엔진으로 특화 문서 파싱 능력을 학습시켰다.
알아두면 좋은 것
- 모델은 Qwen3.5-0.8B를 기반으로 post-training 방식으로 개발됐으며 라이선스는 Apache-2.0이다.
- 학습 데이터는 실세계(real) 데이터와 합성(synthetic) 데이터를 결합한 데이터 엔진을 사용했고 다단계 SFT, RL, OPD 훈련 레시피가 적용됐다.
- 기본 파이프라인은 vllm 런타임을 권장하며 예시로 tensor_parallel_size, gpu_memory_utilization, gdn_prefill_backend 트리톤 설정 등이 포함돼 있다.
- 기본 동작은 Markdown 출력에서 시각영역 태그를 필터링해 반환하며, 시각영역을 포함하려면 filter_imgtags=False로 크롭 이미지를 함께 생성해야 한다.
기술적 특징
- 모델은 Qwen3.5-0.8B를 기반으로 post-training을 수행해 엔드투엔드 이미지→텍스트 파서를 구현했으며, 이 과정에서 실세계 데이터와 합성 데이터를 결합한 데이터 엔진이 사용돼 다양한 문서 레이아웃에 대한 일반화 성능을 확보했다. 데이터 혼합은 레이아웃 다양성, 폰트·언어·잡음 분포를 증강해 엔드투엔드 학습의 데이터 부족 문제를 보완하는 역할을 했다.
- 다단계 훈련 레시피로 SFT 이후 RL을 적용하고 마지막에 OPD 단계를 통합해 출력 품질과 안정성을 순차적으로 개선했으며, RL 단계는 읽기 순서·표 구조의 정합성을 보상 신호로 학습해 SFT에서 얻기 어려운 선호도를 보정했다. OPD 단계는 반복적 오류 패턴(반복 출력, 잘린 출력 등)을 추가적인 신호로 조정해 배포 시 불안정성을 낮추는 목적을 가졌다.
- 출력 포맷은 사전 약속된 프롬프트 템플릿을 통해 Markdown을 표준화하고 표는 HTML로, 수식은 LaTeX로 포맷하도록 강제해 다운스트림 재사용성을 높였다. 프롬프트 템플릿은 이미지와 텍스트를 결합한 multi-modal 입력 템플릿을 사용해 모델이 구조화된 출력을 생성하도록 유도한다.
- 추론 구현은 vllm 기반으로 tensor_parallel_size와 gpu_memory_utilization 같은 런타임 파라미터로 메모리와 처리량을 제어하며 gdn_prefill_backend로 triton을 사용해 사전 채우기(prefill) 효율을 개선했다. SamplingParams에서 max_tokens=16384와 temperature=0.0을 사용해 긴 문서의 결정론적 직렬화를 지원한다.
- 후처리에서는 긴 출력에서 순환 반복(repeated truncation) 패턴을 탐지해 잘린 반복을 제거하는 알고리즘을 적용해 출력의 중복과 불완전성을 줄였다. 이 알고리즘은 끝부분에서 반복되는 유닛을 역탐색해 충분한 반복 횟수와 길이를 만족하면 반복을 잘라내고 원래 직렬화를 복원하는 방식으로 동작한다.
차별점
- 엔드투엔드 한 모델로 페이지 전체를 Markdown으로 직렬화하는 아키텍처를 채택해 별도 OCR+구조화 파이프라인 없이 문서 파싱을 수행한다.
- 0.8B라는 소형 모델 크기로 OmniDocBench v1.6에서 최고 성능을 달성해 모델 크기 대비 효율성을 보였다.
- 출력 포맷을 Markdown/HTML/LaTeX로 고정해 포스트프로세싱 없이도 재사용 가능한 문서 산출물을 직접 생성한다.
- vllm 환경에서 긴 토큰 한도(max_tokens=16384)를 활용해 페이지 수준의 긴 출력과 안정적 결정론적 출력을 지원한다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| OmniDocBench v1.6 | Overall | 96.58 | README는 OvisOCR2가 해당 리더보드에서 파이프라인 모델을 제치고 1위를 기록했다고 명시했다 |
| PureDocBench | Avg3 | 75.06 | README는 OvisOCR2가 PureDocBench에서 가장 높은 Avg3 점수를 달성했다고 명시했다 |
이미지 분석



349
Likes
57.4k
Downloads
1 / 0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.