H Company представила NeoMME: семейство одно-башенных мультимодальных энкодеров на 260 и 800 млн параметров, обходящихся без визуальной башни и каузального декодера
Большинство используемых сегодня в производстве систем визуального поиска документов — это решения, созданные на основе уже существующих моделей. ColPali и последовавшие за ней модели берут генеративную визуально-языковую модель и переиспользуют её в качестве энкодера. В результате в них по-прежнему присутствуют отдельно предобученная визуальная башня и каузальный декодер, который никогда не генерирует токены. Для задачи, требующей только представлений, это лишние параметры и вычислительные затраты.
H Company выпустила NeoMME — семейство двунаправленных энкодеров на 260M и 800M параметров, в котором отсутствуют оба этих компонента. Один Transformer обрабатывает многоязычные текстовые токены и необработанные RGB-патчи изображений размером 32×32 через одни и те же слои; обучение начинается со случайной инициализации. Версия для дообучения под поиск, NeoMME-Retriever, достигает 0.523 nDCG@10 на ViDoRe v3 при 260M параметров.
Можно ли развернуть модель? Да. Каждая контрольная точка распространяется по лицензии Apache 2.0 и с первого дня поддерживается в Hugging Face Transformers. Модель на 260M параметров индексирует 51.3 страницы в секунду на одном NVIDIA L40S и кодирует запрос за 78.3 мс на хосте, использующем только CPU.
Одна башня, две модальности
Текст поступает через факторизованное встраивание в стиле ALBERT: таблица поиска размерностью 256 проецируется в размерность модели. Изображения разбиваются на неперекрывающиеся патчи размером 32×32 и проецируются с помощью 2-слойного MLP, обученного с нуля. Нет ни модуля объединения патчей, ни башни SigLIP2.
Обе модели поддерживают контекст из 16,384 токенов — этого достаточно для двух стандартных изображений 3,840×2,160 в формате 4K UHD после разбиения на патчи. В большинстве слоёв используется симметричное внимание со скользящим окном; каждый шестой слой и финальный слой используют глобальное внимание. В стеке применяются внимание с группированными запросами, нормализация query-key, управляемое внимание, двумерные вращательные позиционные эмбеддинги и MLP со squared-ReLU. Точные количества параметров составляют 262,937,906 и 793,715,032.
Токенизатор представляет собой BPE без ограничений по пробелам со словарём из 131,072 элементов, обученный с нуля. На 14 целевых языках в devtest FLORES-200 он генерирует на 44.4% меньше токенов, чем ModernBERT.
Обучение в качестве денойзера маскированной диффузии
Предобучение представляет собой дискретную маскированную диффузию по тексту, при необходимости обусловленную видимыми патчами изображения. Для текстовых сегментов вероятность искажения равномерно выбирается от 0 до 1. Для мультимодальных сегментов она выбирается от 0.30 до 1, что устраняет упрощённый путь, основанный только на языке, и заставляет модель читать страницу.
Зондирование кросс-модальной абляции подтверждает, что это работает. При маскировании 90% видимые патчи страницы повышают точность предсказания замаскированных токенов на 38.4 пункта для модели на 260M и на 40.5 пункта для модели на 800M. Каждый запуск обрабатывает около 524 миллиардов упакованных входных токенов, из которых примерно 290 миллиардов относятся только к тексту, на 16 и 32 ускорителях H100 соответственно.
Результаты поиска
NeoMME-Retriever добавляет к общей основе две совместно обучаемые головы: плотную голову со средним пуллингом и ширинами Matryoshka, а также голову с поздним взаимодействием, проецирующую каждый токен и патч в 128 измерений. Один прямой проход возвращает оба представления.
На ViDoRe v3 модель на 260M параметров набирает 0.523 nDCG@10, а модель на 800M — 0.556. Результат 260M отличается всего на 0.002 от ColQwen2.5-v0.2 с 3.75B параметров и на 26.1 пункта превосходит лучшую другую модель с менее чем 300M параметров. Модель на 800M отстаёт на 0.9 пункта от близкой по размеру Vultron Retriever Flash. На ViDoRe v1 и v2 модели достигают 0.860/0.522 и 0.874/0.559 nDCG@5.
Поиск по тексту работает слабее. На BEIR-15 позднее взаимодействие достигает 0.4881 и 0.5126 против 0.5722 у LateOn с 149M параметров. Авторы частично связывают это с масштабом обучения: NeoMME использовала примерно 430K текстовых примеров запросов, тогда как mLateOn — около 660M контрастивных примеров.
Хранение и пропускная способность
Индексы с поздним взаимодействием требуют много ресурсов. Страница размером 2048×2048 даёт 4,162 вектора — около 1.5 MB на документ ViDoRe v3 в формате float32. Уменьшить этот объём позволяют два метода. Иерархический пуллинг токенов с коэффициентом 10, а также запросами и документами int8, даёт 39.0 kB на страницу — сокращение в 39.4 раза при сохранении 99.16% базового nDCG@10. Коэффициент пуллинга 8, запросы int8 и бинарные документы дают 6.0 kB — сокращение в 255.5 раза при сохранении 95.19%.
Индексация выполняется быстро с учётом количества векторов. При одинаковом входном размере 2048×2048 на одном L40S NeoMME-260M кодирует 51.3 страницы в секунду против 26.0 у ColModernVBERT — разрыв составляет 1.97×.
Интерактивное объяснение
Ключевые выводы
- Один двунаправленный Transformer обрабатывает текст и необработанные патчи изображений без визуальной башни и декодера.
- NeoMME-Retriever-260M набирает 0.523 nDCG@10 на ViDoRe v3, превосходя все протестированные модели с менее чем 800M параметров.
- Она сопоставима с ColQwen2.5 на 3.75B параметров на ViDoRe v3, будучи в 14.4 раза меньше.
- Пуллинг токенов и асимметричное квантование сокращают индекс примерно с 1.5 MB до 6 kB на страницу.
- Поиск только по тексту и перенос на естественные изображения при замороженной модели остаются явными слабыми местами.
Ознакомьтесь с исследованием, коллекцией моделей и демонстрацией. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Стоп! Вы есть в Telegram? Теперь к нам можно присоединиться и в Telegram.
Хотите сотрудничать с нами в продвижении вашего репозитория GitHub, страницы Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.