Модели

NeoMME объединила текст и изображения в одном encoder без отдельной vision tower

Модели на 260M и 800M параметров создают dense и late-interaction embeddings за один проход; авторы заявляют двукратный throughput и сжатие индекса с 1,5 MB до 6 kB на страницу.

NeoMME объединила текст и изображения в одном encoder без отдельной vision tower

Один bidirectional Transformer принимает обе модальности

H Company представила NeoMME — семейство мультиязычных мультимодальных encoder-моделей на 260M и 800M параметров. В отличие от распространённой VLM-схемы, здесь нет отдельно предобученной vision tower, projector и causal language decoder. Текстовые tokens и необработанные image patches размером 32×32 проходят через один bidirectional Transformer. Авторы обучили backbone с нуля с помощью masked discrete-diffusion objective, а затем адаптировали его к поиску по изображениям страниц документов.

Модель сохраняет исходное соотношение сторон и динамическое разрешение изображения: насыщенная деталями страница получает больше tokens, чем маленькая картинка. Контекст достигает 16 384 tokens, чего, по описанию авторов, достаточно максимум для двух стандартных 4K UHD изображений 3840×2160. Большинство слоёв используют symmetric sliding-window attention, а каждый шестой и последний слой — global attention. Tokenizer с vocabulary 131k обучался на мультиязычном тексте, коде, математике и машинных транскриптах изображений.

Masked training заставляет восстанавливать текст по изображению

Во время pretraining NeoMME получает повреждённый текст и учится восстанавливать скрытые tokens. Для текстовых примеров corruption rate выбирается от 0 до 1, для мультимодальных — от 0,3 до 1; image patches при этом остаются видимыми. При слабом masking ответ можно вывести из соседних слов, а при сильном модель вынуждена опираться на изображение. Обучающая смесь включает обычные и документные изображения, мультиязычный текст, код и математику.

Каждый размер обработал около 524 млрд упакованных input tokens, из которых 290 млрд пришлись на text-only examples. Авторы отмечают, что это заметно меньше двух триллионов training tokens ModernBERT, и связывают выбор optimizer NorMuon с желанием повысить data efficiency. Эти детали важны для интерпретации результата: NeoMME — не соединение двух готовых tower, а совместно обученный encoder, поэтому стоимость предобучения нельзя оценивать только по числу параметров финального checkpoint.

Retriever отдаёт два представления за один forward pass

NeoMME-Retriever ранжирует screenshots страниц, обходя обязательный OCR pipeline. Такой visual retrieval сохраняет layout, charts, tables, размер шрифта и другие признаки, которые могут потеряться при извлечении текста из PDF. Над общим backbone работают две головы. Dense head усредняет hidden states в компактный normalized vector для approximate nearest-neighbor поиска. Late-interaction head создаёт отдельный 128-dimensional vector для каждого text token или image patch и сохраняет более локальные совпадения запроса с областями страницы.

Один forward pass возвращает оба типа embeddings. Это позволяет сначала дешёво выбрать кандидатов по dense index, а затем rerank тем же результатом через late interaction. На ViDoRe v3 модель NeoMME-Retriever-260M получила nDCG@10 0,523, а 800M — 0,556. Авторы называют обе точки частью Pareto frontier по качеству и размеру; 260M отстаёт от ColQwen2.5-v0.2 лишь на 0,002, используя примерно в 14 раз меньше параметров.

Сжатие делает high-resolution index практичнее

Главная цена late interaction — объём индекса. Квадратная страница 2048×2048 создаёт 4 200 vectors и занимает примерно 2,1 MB в float32; среднее по ViDoRe v3 составило около 1,5 MB. Hierarchical token pooling объединяет близкие document vectors, а asymmetric quantization хранит документы в int8 или binary, оставляя запрос более точным. При pooling factor 10 и int8 объём снизился до 39 kB с сохранением более 99% исходного nDCG@10.

Более агрессивная комбинация pooling factor 8, int8 queries и binary documents дала 6 kB на страницу — в 255 раз меньше исходного среднего — при сохранении более 95% baseline quality. На NVIDIA L40S при одинаковом input 2048×2048 версия 260M кодировала около 51 страницы в секунду против 26 у ColModernVBERT. Checkpoints выпущены под Apache 2.0 и добавлены в Hugging Face Transformers, но заявленные benchmark и throughput пока исходят от авторов и требуют независимого воспроизведения.

Первоисточники

  1. Hugging Face — NeoMME: an efficient Multimodal-native and Multilingual Encoder