Streszczenie AI
[STRESZCZENIE]
NeoMME to rodzina multimodalnych enkoderów (260 M i 800 M parametrów) wykorzystujących jeden dwukierunkowy Transformer do przetwarzania tekstu i obrazów, trenowanych od zera przy pomocy maskowanego, dyskretnego celu dyfuzyjnego. Model osiąga wyniki na granicy Pareto w benchmarku ViDoRe v3 przy znacznie niższym koszcie parametrów i wyższej przepustowości, a jego architektura pozwala na szybkie kodowanie stron i elastyczne wykorzystanie embeddingów dense oraz late‑interaction.
[FAQ]
Pytanie: Jakie są kluczowe zalety architektury NeoMME w porównaniu z tradycyjnymi VLM?
Odpowiedź: NeoMME eliminuje potrzebę oddzielnej „wieży wizji” i kausalnego dekodera, co redukuje liczbę parametrów i obliczeń; jednocześnie tekst i obraz dzielą tę samą ścieżkę obliczeniową, upraszczając pretraining, fine‑tuning oraz serwowanie.
Pytanie: Na czym polega training NeoMME?
Odpowiedź: Model jest trenowany jako maskowany denoiser tekstu z dyskretną dyfuzją, przy czym w danych multimodalnych maskuje się tekst, pozostawiając niezmienione patchy obrazu, co wymusza naukę semantycznych opisów obrazów.
Pytanie: Co daje podejście „page‑image” w NeoMME‑Retriever?
Odpowiedź: Pozwala na wyszukiwanie pełnych stron dokumentów zamiast fragmentów tekstu OCR, zachowując układ, tabele, wykresy i czcionki, co przekłada się na lepszą jakość retrievalu.
Pytanie: Jakie możliwości kompresji mają embeddingi late‑interaction?
Odpowiedź: Dzięki hierarchicznemu poolowaniu tokenów i asymetrycznej kwantyzacji (np. int8 lub binary) można zmniejszyć footprint indeksu z około 1,5 MB na stronę do kilku kilobajtów przy zachowaniu ponad 95 % oryginalnej jakości nDCG@10.
Pytanie: Jak NeoMME integruje się z ekosystemem Hugging Face i użyciem RAG?
Odpowiedź: Model jest dostępny w Transformers “day‑zero” i może być fine‑tuned z Sentence Transformers, a jego retriever wspiera pipeline Visual RAG, pozwalając na wyszukiwanie obrazów stron i dalsze generowanie odpowiedzi z wykorzystaniem pełnej informacji wizualnej.
H Company udostępniło NeoMME – rodzinę otwartych enkoderów multimodalnych (260M i 800M parametrów), trenowanych od zera z użyciem jednego dwukierunkowego Transformera dla tekstu i obrazu. Modele osiągają wyniki na granicy Pareto w benchmarku ViDoRe v3 dla wyszukiwania wizualnych dokumentów, przy znacząco niższym koszcie parametrów i wyższej przepustowości niż konkurencja.
Kluczowa idea architektoniczna
NeoMME nie korzysta z oddzielnej „wieży wizji” (np. SigLIP) ani z kausalnego dekodera językowego, co jest typowe dla wielu generatywnych modeli VLM. Zamiast tego jeden wspólny, dwukierunkowy Transformer przetwarza zarówno tokeny tekstowe, jak i surowe patche obrazu (32×32), a całość jest trenowana od podstaw z użyciem maskowanego, dyskretnego celu dyfuzyjnego (masked discrete-diffusion denoising).
Taka konstrukcja ma kilka praktycznych konsekwencji:
- tekst i obraz dzielą tę samą ścieżkę obliczeniową, co upraszcza pretraining, fine-tuning i serwowanie;
- brak kausalnego dekodera oznacza mniejszy narzut parametrów i obliczeń dla zadań takich jak retrieval, klasyfikacja czy etykietowanie tokenów, które nie wymagają generowania tekstu autoregresywnego;
- architektura jest bliższa ModernBERT/ModernVBERT, ale bez zewnętrznego, wstępnietrenowanego enkodera wizji.
Pretraining: dane, cel i optymalizator
NeoMME jest trenowane jako maskowany denoiser tekstu z dyfuzją dyskretną:
- dla przykładów czysto tekstowych losowana jest stopa korupcji (maskowania) z zakresu 0–1, a tokeny tekstu są niezależnie maskowane;
- w przykładach multimodalnych patche obrazu pozostają widoczne, a model odtwarza zamaskowany tekst; silniejsze maskowanie wymusza uczenie się opisów zakotwiczonych w obrazie, a nie tylko w kontekście tekstowym.
Dane treningowe obejmują wielojęzyczny tekst, kod, matematykę, obrazy naturalne i obrazy dokumentów. Każdy z modeli przetwarza ok. 524 mld spakowanych tokenów wejściowych, w tym 290 mld tokenów z przykładów czysto tekstowych. Ze względu na relatywnie mniejszy budżet tokenów tekstowych (w porównaniu np. do ModernBERT z 2 bilionami tokenów) autorzy zastosowali optymalizator NorMuon, aby poprawić efektywność danych podczas treningu.
NeoMME-Retriever: wyszukiwanie wizualnych dokumentów
Jako zadanie downstreamowe autorzy fine-tunują NeoMME do wyszukiwania wizualnych dokumentów, stosując podejście „page-image” z ColPali: zamiast wyszukiwać fragmenty tekstu po OCR, model rankinguje zrzuty ekranu całych stron dokumentów. Dzięki temu zachowywane są informacje o układzie, tabelach, wykresach, kroju i rozmiarze czcionki – cechy, które nawet idealny OCR może spłaszczyć lub pominąć.
NeoMME-Retriever wykorzystuje ten sam rdzeń NeoMME, ale dodaje dwie jointly trenowane głowy retrievalowe:
- gęste embeddingi (dense embeddings) – pojedynczy wektor na dokument;
- embeddingi late-interaction (multi-vector) – wiele wektorów na dokument, umożliwiające bardziej szczegółowe scoringi (np. MeanMaxSim).
Jedno przejście przez NeoMME-Retriever zwraca obie reprezentacje, co daje elastyczność w zależności od infrastruktury i skali danych. W typowym scenariuszu zaleca się użycie late-interaction jako głównej metody, a w przypadku bardzo dużych korpusów – najpierw szybkie przeszukanie ANN na dense embeddingach, a następnie reranking kandydatów za pomocą late-interaction.
Wyniki w benchmarku ViDoRe v3
Głównym miernikiem jakości retrievalu jest nDCG@10 w benchmarku ViDoRe v3. Dla NeoMME-Retriever wyniki wyglądają następująco:
| Model | Parametry | nDCG@10 (ViDoRe v3) | Komentarz |
|---|---|---|---|
| NeoMME-Retriever-260M | 260M | 0,523 | Najwyższy wynik wśród modeli <800M; o 0,002 gorszy niż ColQwen2.5 przy ~14× mniej parametrów |
| NeoMME-Retriever-800M | 800M | 0,556 | W odległości 0,009 od Vultron Retriever Flash (~0,8B); oba na granicy Pareto rozmiaru modelu |
W starszych wersjach benchmarku (ViDoRe v1 i v2, mierzonych nDCG@5) NeoMME-Retriever-260M przewyższa ColModernVBERT i dwukrotnie większy ColSmol-500M, a wersja 800M bije ColPali v1.3 przy 3,6× mniejszej liczbie parametrów.
Kompresja embeddingów late-interaction
Embeddingi late-interaction skalują się liniowo z liczbą wektorów w wyjściu, a wyższa rozdzielczość obrazu oznacza więcej patchy i większe embeddingi. Dla strony 2048×2048 NeoMME-Retriever generuje ok. 4200 wektorów, co w float32 daje ~2,1 MB; średnio w ViDoRe v3 wychodzi ok. 1,5 MB na dokument.
Aby zmniejszyć footprint indeksu, autorzy łączą dwie metody kompresji:
- hierarchiczne poolowanie tokenów (hierarchical token pooling) – redukcja liczby wektorów na dokument;
- asymetryczna kwantyzacja (np. int8 dla zapytań i dokumentów, a w bardziej agresywnej konfiguracji binary dla dokumentów).
W testach na ViDoRe v3:
- pooling factor 10 + int8 (zapytania i dokumenty) → spadek z ~1,5 MB do ~39 kB na stronę (39×), przy zachowaniu >99% bazowego nDCG@10;
- pooling factor 8 + int8 (zapytania) + binary (dokumenty) → ~6 kB na stronę (255× mniejsze), przy zachowaniu >95% bazowej jakości retrievalu.
Użytkownik może wybrać punkt na tej krzywej w zależności od budżetu storage i wymaganej jakości wyszukiwania.
Przepustowość i koszt budowy indeksu
Szybkość kodowania obrazów ma bezpośredni wpływ na koszt GPU i czas budowy indeksu. Przy dopasowanym wejściu 2048×2048 na jednej karcie NVIDIA L40S:
- NeoMME-Retriever-260M: ~51 stron/s;
- ColModernVBERT: ~26 stron/s.
Obydwa modele NeoMME-Retriever (260M i 800M) są też szybsze od porównywanych modeli przy mniejszych rozdzielczościach wejściowych. Szybsze kodowanie oznacza krótszy czas budowy indeksu i niższy koszt GPU przy dodawaniu nowych dokumentów.
Integracja z Hugging Face Transformers i Sentence Transformers
NeoMME jest dostępne „day-zero” w Hugging Face Transformers, a wszystkie checkpointy są udostępnione na licencji Apache 2.0. Dla fine-tuningu z Sentence Transformers v6 autorzy dostarczają osobne checkpointy dla dense i late-interaction, ponieważ Sentence Transformers obsługuje obecnie jedną głowę retrievalową na model. Rdzeń jest ładowany przez NeoMMEModel, a nie przez dwugłowy NeoMMEForRetrieval. Aby trenować obie głowy razem, należy użyć NeoMMEForRetrieval z własnym Trainerem.
Praktyczne zastosowania: wizualny RAG
NeoMME-Retriever naturalnie wpisuje się w wizualny retrieval-augmented generation (RAG):
- zamiast wyszukiwać fragmenty tekstu po OCR, system wyszukuje oryginalne obrazy stron dokumentów;
- następnie te obrazy są przekazywane do modelu wizyjno-językowego (VLM), który może wykorzystać układ strony, tabele, wykresy i inne cechy wizualne, tracone przy ekstrakcji tekstu.
Taki pipeline jest szczególnie przydatny w zastosowaniach korporacyjnych (dokumenty techniczne, raporty finansowe, specyfikacje), gdzie strona jako całość niesie więcej semantyki niż sam tekst. Autorzy udostępnili demo wizualnego RAG z NeoMME-Retriever jako Hugging Face Space.
Dlaczego NeoMME jest istotne dla open source
NeoMME pokazuje, że można zbudować wydajny, multimodalny enkoder bez polegania na dużych, wstępnietrenowanych wieżach wizji i bez narzutu kausalnych decoderów VLM. Kluczowe cechy z punktu widzenia praktyka:
- wydajność: wysokie nDCG@10 przy relatywnie małej liczbie parametrów;
- przepustowość: ~2× szybsze kodowanie stron niż ColModernVBERT przy tej samej rozdzielczości;
- elastyczność: jednoczesne dense i late-interaction embeddingi z jednego forward pass;
- skalowalność storage: możliwość redukcji footprintu late-interaction z ~1,5 MB do ~6 kB na stronę przy minimalnej utracie jakości;
- otwartość: Apache 2.0, pełna implementacja w Transformers, gotowość do fine-tuningu i integracji z istniejącymi stackami RAG.





