NVIDIA, 다국어 OCR 'Nemotron OCR v2' 공개… 합성 데이터 1,200만 장으로 NED 0.035~0.069, A100 초당 34.7페이지
NVIDIA가 다국어 OCR 모델 'Nemotron OCR v2'를 공개하며, 합성 데이터 파이프라인으로 훈련한 해당 모델이 단일 A100 GPU에서 초당 34.7 페이지를 처리한다고 밝혔다. 이 모델은 총 1,200만 장의 합성 훈련 이미지를 6개 언어에 걸쳐 생성해 영어 외 언어의 NED(Normalized Edit Distance) 점수를 기존 0.56~0.92에서 0.035~0.069 수준까지 끌어내렸다.
이전 버전인 Nemotron OCR v1은 영어 전용으로 훈련돼, SynthDoG 벤치마크에서 일본어 0.723, 한국어 0.923, 러시아어 0.564, 중국어 간체 0.784, 중국어 번체 0.700의 NED를 기록하며 정답 문서와 거의 무관한 출력을 내놓았다. v1은 지원 문자가 855자에 불과해 CJK(중국어·일본어·한국어)와 키릴 문자를 제대로 다루지 못했다.
연구진은 v1의 문자 셋을 14,244자로 확장하는 실험을 먼저 진행했으나, 해당 문자들이 포함된 훈련 데이터가 없는 이상 성능 개선은 미미했다고 밝혔다. 병목이 아키텍처가 아닌 데이터에 있다고 판단하고, 6개 언어의 실제 이미지에 단어·줄·문단 단위 바운딩 박스와 읽기 순서 그래프를 직접 주석하는 비용을 피하기 위해 합성 데이터 파이프라인을 택했다.
텍스트 소스로는 라틴, CJK, 키릴, 아랍, 데바나가리, 태국 문자를 포함한 163개 언어 서브셋 규모의 mOSCAR 다국어 웹 코퍼스를 사용했다. mOSCAR 샘플링으로 각 언어별 어휘·문장 길이·문자 빈도의 현실적 분포를 확보했다. 렌더링 엔진은 Donut 프로젝트의 SynthDoG(Synthetic Document Generator)를 대폭 수정한 버전 위에 구축됐다.
파이프라인은 단어·줄·문단 세 단계의 픽셀 단위 주석을 동시에 생성하며, 각 단계마다 축 정렬 바운딩 박스와 4점 쿼드를 포함한다. HierText 데이터셋의 계층적 주석에서 영감을 얻어 모든 샘플에 읽기 순서 관계 그래프를 생성했고, 이 그래프가 Nemotron OCR v2의 relational model이 다중 칼럼 레이아웃과 표 같은 구조를 해석하는 기반이 된다.
다국어 변형 버전은 CJK 특성에 맞춰 단어 단위가 아닌 줄 단위 텍스트 인식으로 전환했다. 중국어와 일본어는 단어 사이에 공백이 없고 한국어는 공백 사용이 일관적이지 않아 자연스러운 단어 경계가 존재하지 않는다는 판단이다. 영어 변형 버전은 단어 단위 인식을 그대로 사용한다.
폰트 풀은 Google Fonts와 Noto 계열을 포함한 오픈소스 컬렉션에서 언어별로 165~1,258개씩 모았다. 세리프, 산세리프, 손글씨, 장식체, 가변 굵기 스타일을 포괄한다. 여기에 글리프 가장자리 스프링클 노이즈, 드롭 섀도, 모폴로지 연산(팽창·침식), 가우시안·모션 블러, 그림자 오버레이 같은 다층 증강이 텍스트·이미지·페이지 수준에서 적용된다.
속도는 공유 검출 백본 구조에서 나온다. 인식기(recognizer)와 관계 모델이 동일한 검출 백본의 피처를 재사용해 중복 연산을 제거하고, 단일 A100 GPU 기준 초당 34.7 페이지 처리량을 확보했다. 모델은 nvidia/nemotron-ocr-v2로, 데이터셋은 nvidia/OCR-Synthetic-Multilingual-v1로 공개됐으며, 브라우저에서 실행 가능한 Nemotron OCR v2 데모도 함께 제공된다.