NeoMME: 효율적인 멀티모달 네이티브 및 다국어 인코더
Hugging Face는 260M 및 800M 파라미터 버전으로 제공되는 다국어 멀티모달 인코더 제품군인 NeoMME를 소개했습니다. 별도의 사전 학습된 비전 타워와 인과적 언어 모델에 의존하는 기존의 생성형 시각 언어 모델(VLMs)과 달리, NeoMME는 단일 양방향 Transformer를 사용하여 텍스트 토큰과 원본 이미지 패치를 모두 처리하며, 마스크드 디스크리트-디퓨전(masked discrete-diffusion) 목적 함수를 사용하여 처음부터 학습되었습니다.
멀티모달 네이티브 아키텍처
NeoMME는 이미지와 텍스트를 동일한 계산 경로를 통해 처리함으로써 별도의 비전 인코더와 프로젝터와 관련된 파라미터 및 계산 오버헤드를 제거합니다. 이 설계는 모달리티 간의 사전 학습, 미세 조정 및 서빙을 단순화합니다.
핵심 기술 사양
- Unified Processing: 텍스트는 인수분해된 토큰 임베딩을 사용하며, 이미지는 32×32 비중첩 패치로 나뉘어 작은 MLP를 통해 투영됩니다.
- Dynamic Resolution: 모델은 이미지의 종횡비와 크기를 유지하여, 정보 밀도가 높은 고해상도 문서 페이지에 더 많은 토큰을 할당할 수 있습니다.
- Long Context Window: 16,384 토큰의 컨텍스트 길이는 최대 두 개의 4K UHD 이미지를 지원합니다. 아키텍처는 대부분의 레이어에서 대칭 슬라이딩-윈도우 어텐션(symmetric sliding-window attention)을 사용하며, 6번째 레이어마다 그리고 마지막 레이어에서 글로벌 어텐션을 사용합니다.
- Modern Encoder Stack: 모델은 grouped-query attention, query-key normalization, gated attention, 2D rotary position embeddings, 그리고 squared-ReLU MLPs를 포함합니다.
- Multilingual Support: 131k-token 어휘집을 가진 커스텀 BPE tokenizer가 다국어 텍스트, 코드, 수학, 그리고 이미지 트랜스크립트를 사용하여 처음부터 학습되었습니다.
사전 학습 목적 함수
NeoMME는 이산형 마스크드-디퓨전 텍스트 디노이저(discrete masked-diffusion text denoiser)로 사전 학습되었습니다. 멀티모달 예제의 경우, 이미지 패치는 가시적인 상태로 유지되는 반면 모델은 마스크된 텍스트를 재구성합니다. 0.3에서 1 사이의 오염(corruption) 비율을 적용함으로써, 모델은 언어 전용 단축 경로에 의존하기보다 가시적인 이미지 증거에 의존하도록 강제되어 텍스트를 시각적 데이터에 접지(grounding)시킵니다.
NeoMME-Retriever를 이용한 시각적 문서 검색
백본(backbone)을 평가하기 위해, Hugging Face는 ColPali 페이지-이미지 방법론을 사용하여 시각적 문서 검색을 위해 모델을 미세 조정하는 NeoMME-Retriever를 개발했습니다. 이 접근 방식은 OCR을 우회하고 레이아웃, 차트, 폰트 스타일과 같은 시각적 단서를 활용하여 문서 페이지 스크린샷을 직접 순위화합니다.
Dual-Head 디자인
NeoMME-Retriever는 검색 인프라의 유연성을 제공하기 위해 공동으로 학습된 두 개의 헤드를 사용합니다:
- Dense Head: 평균 풀링(mean pooling)을 사용하여 단일 정규화된 벡터를 생성하며, 이는 빠르고 컴팩트한 검색을 위한 근사 최근접 이웃(ANN) 기술과 호환됩니다.
- Late-Interaction Head: 각 토큰 또는 패치를 128차원 정규화된 벡터로 투영하여, 쿼리 토큰과 이미지 영역 간의 로컬 매칭을 유지함으로써 더 높은 정밀도를 제공합니다.
성능 및 벤치마크
ViDoRe v3 벤치마크에서 NeoMME-Retriever-260M은 0.523 nDCG@10을 달성하여 800M 파라미터 미만의 모든 모델 중 가장 높은 점수를 기록했습니다. 이는 약 14배 적은 파라미터를 사용하면서도 훨씬 더 큰 ColQwen2.5 (3.75B 파라미터)의 0.002 nDCG@10 성능에 근접합니다.
| Model | Params | ViDoRe v3 (nDCG@10) | ViDoRe v2 (nDCG@5) | ViDoRe v1 (nDCG@5) | | :--- | :--- | :--- | :--- | :--- | :--- | | ColModernVBERT | 250M | 0.261 | 0.407 | 0.806 | | NeoMME-260M | 260M | 0.523 | 0.522 | 0.860 | | ColSmol-500M | 500M | 0.340 | 0.455 | 0.825 | | NeoMME-800M | 800M | 0.556 | 0.559 | 0.874 | | Vultron Flash | 850M | 0.565 | 0.604 | 0.882 | | ColQwen2.5-v0.2 | 3.75B | 0.524 | 0.601 | 0.895 |
효율성 및 최적화
인덱스 저장소 압축
Late-interaction 임베딩은 고해상도 이미지에 대해 저장 공간을 많이 차지할 수 있습니다 (문서당 평균 1.5 MB). NeoMME는 이 발자국을 줄이기 위해 두 가지 방법을 사용합니다:
- Hierarchical Token Pooling: 유사한 문서 벡터를 클러스터링하고 평균값으로 대체합니다.
- Asymmetric Quantization: 쿼리 임베딩은 높은 정밀도로 유지하면서 문서 임베딩을 int8 또는 binary로 양자화합니다.
풀링 계수(pooling factor) 8과 binary 문서 방식을 사용하면, 기준 nDCG@10의 95% 이상을 유지하면서 저장 공간을 1.5 MB에서 페이지당 6 kB로 줄일 수 있습니다 (255배 감소).
추론 처리량
NeoMME-Retriever-260M은 코퍼스 인덱싱 과정에서 상당한 속도 이점을 보여줍니다. NVIDIA L40S GPU에서 2048×2048 입력 크기로 테스트했을 때, 초당 약 51페이지를 인코딩하며 이는 ColModernVBERT (초당 26페이지)의 거의 두 배에 달하는 처리량입니다.
시각적 RAG 통합
NeoMME-Retriever는 시각적 Retrieval-Augmented Generation (RAG) 파이프라인의 첫 번째 단계로 활용됩니다. 텍스트 청크를 검색하는 대신, 시스템은 원본 페이지 이미지를 검색하고 이를 시각 언어 모델(VLM)에 전달합니다. 이를 통해 VLM이 텍스트 추출 과정에서 손실되기 쉬운 원본 레이아웃, 다이어그램, 표 등을 활용할 수 있게 합니다.
모든 NeoMME 체크포인트는 Apache 2.0 라이선스 하에 출시되며 Hugging Face Transformers 라이브러리에 통합되어 있습니다.