Linkup Research выпустила SPARSEUP: открытую разреженную модель эмбеддингов со 149 млн параметров
Исследовательская команда Linkup выпустила SPARSEUP — обучаемую разреженную модель эмбеддингов с открытым исходным кодом. Модель работает на основе ModernBERT со 149 млн параметров и распространяется по лицензии Apache 2.0. Команда Linkup сообщает о среднем показателе 56,4 nDCG@10 на BEIR-13. По её оценке, это самый сильный общедоступный разреженный кодировщик на основе словаря из известных ей моделей с менее чем 150 млн параметров.
Можно ли её развернуть? Да. Веса доступны на Hugging Face по лицензии Apache 2.0. Модель загружается через Transformers или Sentence Transformers с параметром trust_remote_code=True.
Почему разреженная модель и почему сейчас
Большинство открытых моделей поиска являются плотными: 1 вектор на текст. Разреженные модели вместо этого выдают веса для элементов словаря. Каждое измерение соответствует реальному токену, поэтому векторы подходят для инвертированных индексов и понятны людям. Кроме того, они обычно хорошо сопоставляют редкие слова.
Поводом стал выпуск DenseOn и LateOn от LightOn. LightOn опубликовала открытые данные, рецепт обучения, плотную модель и модель с поздним взаимодействием. SPARSEUP закрывает недостающий разреженный вариант. В ней используются то же семейство базовых моделей и те же данные для дообучения, поэтому все 3 стиля поиска можно сравнивать напрямую.
Как создана SPARSEUP
Обучение начинается с LateOn-unsupervised. В этом чекпойнте не было MLM-головы, поэтому команда повторно добавила исходную голову ModernBERT. Для дообучения использовалась смесь данных LightOn для дообучения только с контрастивным обучением. Для каждого запроса выбираются 7 сложных негативных примеров из пула из 50, а также используются негативные примеры внутри батча. Дистилляции из кросс-кодировщика нет, а обучение помещается на одной H100.
Обычная SPLADE на этой базовой модели создавала огромные наборы, заполненные стоп-словами. Linkup исправила это с помощью 3 изменений:
- Сдвиг логитов: кодировщик вычисляет
log(1 + ReLU(x - 15)). Логиты MLM у ModernBERT были слишком высокими, из-за чего логарифм насыщался, а наборы уже на этапе инициализации становились плотными. - top-k для каждой позиции: Каждый входной токен сохраняет только 12 наиболее сильных измерений словаря перед операцией max pooling. Это ограничивает расширение для каждого токена, а не общий размер вектора.
- Приведение регистра: BPE на уровне байтов хранит
heat,Heat,ĠheatиĠHeatкак отдельные идентификаторы. SPARSEUP объединяет их в 1 идентификатор и сохраняет наибольший вес. Число выходных измерений сокращается примерно с 50 тыс. до примерно 34 тыс.
Для запросов и документов используются префиксы [Q] и [D], а оценка выполняется с помощью скалярного произведения. Максимальная длина при оценке составляет 128 токенов для запросов и 512 для документов.
Результаты тестирования
В сравнении с другими разреженными кодировщиками на BEIR-13 (nDCG@10, без MS MARCO), согласно карточке модели:
| Модель | Среднее значение BEIR-13 |
|---|---|
| SPARSEUP | 56.4 |
| opensearch-neural-sparse-encoding-doc-v3-gte | 54.6 |
| opensearch-neural-sparse-encoding-v1 | 52.44 |
| ModernBERT-VT | 52.4 |
| splade-v3 | 51.7 |
| granite-embedding-30m-sparse | 50.6 |
| LACONIC-1B (1 млрд параметров, другой класс размера) | 58.7 |
Контролируемое сравнение выглядит менее впечатляюще. При одинаковых базовой модели и данных LateOn набирает 58,9, DenseOn — 57,9, а SPARSEUP — 56,4. SPARSEUP использует приблизительный поиск Seismic, тогда как LightOn сообщает о точном поиске. SPARSEUP превосходит остальные модели на ArguAna и Touché и опережает DenseOn на HotpotQA. На более семантических наборах она отстаёт, причём наибольший разрыв наблюдается на FiQA. DBPedia — ещё одно слабое место.
На очищенном от пересечений BEIR разрыв с DenseOn сокращается до 0,17 пункта. Linkup предупреждает, что очищенные от пересечений NQ и MS MARCO содержат всего 21 и 46 запросов соответственно, поэтому эти результаты зашумлены.
Скорость и разреженность
На MS MARCO SPARSEUP в среднем использует 47 ненулевых терминов на запрос и 190 на документ. Для SPLADE-v3 эти показатели составляют 25 и 170. С инвертированным индексом Seismic модель достигает более 97% полноты по сравнению с точным поиском примерно за 380 микросекунд на запрос в однопоточном режиме. Linkup утверждает, что увеличение размера вектора могло бы добавить от 1 до 2 баллов BEIR, но компания решила сохранить разреженность.
Основные выводы
- SPARSEUP — первая открытая модель Linkup Research: разреженный кодировщик со 149 млн параметров под лицензией Apache 2.0.
- Она набирает 56,4 nDCG@10 на BEIR-13 и, по данным Linkup, занимает первое место среди общедоступных разреженных кодировщиков с менее чем 150 млн параметров.
- В основе результата лежат 3 изменения: сдвиг логитов на 15, расширение top-12 для каждого токена и приведение регистра.
- При одинаковых данных она уступает DenseOn 1,52 пункта, а LateOn — 2,5 пункта на BEIR-13.
- При использовании Seismic на MS MARCO она достигает более 97% полноты примерно за 380 мкс на запрос.
Ознакомьтесь с весами модели и техническими подробностями. Вся заслуга принадлежит исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с аудиторией более 150 тыс. и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите стать нашим партнёром для продвижения вашего репозитория GitHub, страницы на Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.