H Company випустила NeoMME: сімейство однобаштових мультимодальних енкодерів на 260 млн і 800 млн параметрів, які відмовляються від візуальної башти та каузального декодера
Більшість візуальних засобів пошуку документів, що використовуються у виробництві сьогодні, є успадкованими рішеннями. ColPali та моделі, що з’явилися після нього, беруть генеративну візуально-мовну модель і переорієнтовують її на роботу як енкодера. У результаті все одно залишаються окремо попередньо навчена зорова вежа та причинний декодер, який ніколи не генерує токенів. Для завдання, якому потрібні лише представлення, це зайві параметри та обчислювальні витрати.
H Company випустила NeoMME — сімейство двонапрямлених енкодерів на 260M і 800M параметрів, у яких відсутні обидва компоненти. Один Transformer обробляє мультимовні текстові токени та необроблені RGB-патчі зображень розміром 32×32 через ті самі шари, навчаючись із випадкової ініціалізації. Retrieval-доопрацьована модель 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 із квадратним 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 бачила приблизно 430 тисяч текстових прикладів запитів, тоді як mLateOn — близько 660 мільйонів контрастивних прикладів.
Зберігання та пропускна здатність
Індекси пізньої взаємодії потребують багато ресурсів. Сторінка розміром 2048×2048 дає 4 162 вектори — близько 1.5 МБ на документ ViDoRe v3 у форматі float32. Зменшити цей обсяг можна двома методами. Ієрархічне об’єднання токенів із коефіцієнтом 10, а також запити й документи у форматі int8, дає 39.0 кБ на сторінку — скорочення у 39.4 раза зі збереженням 99.16% базового nDCG@10. Коефіцієнт об’єднання 8 із запитами у форматі int8 і бінарними документами дає 6.0 кБ — скорочення у 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 МБ до 6 кБ на сторінку.
- Пошук лише тексту та перенесення на заморожені природні зображення залишаються очевидними слабкими місцями.
Ознайомтеся з науковою статтею, колекцією моделей і демонстрацією. Також підписуйтеся на нас у Twitter і не забудьте приєднатися до нашого субреддіту про машинне навчання зі 150k+ учасників та підписатися на нашу розсилку. Стривайте! Ви є в Telegram? Тепер ви також можете приєднатися до нас у Telegram.
Потрібна співпраця з нами для просування вашого репозиторію GitHub, сторінки Hugging Face, випуску продукту, вебінару тощо? Зв’яжіться з нами
Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.