Что такое SPARSEUP и почему это важно
Linkup Research выпустила SPARSEUP — модель для информационного поиска, использующую разреженные (sparse) векторы. В отличие от плотных моделей, где текст кодируется одним вектором, SPARSEUP присваивает веса конкретным токенам словаря. Это позволяет использовать инвертированные индексы, обеспечивает интерпретируемость (человек видит, какие слова важны) и лучше работает с редкими словами.
Модель построена на базе ModernBERT (149 млн параметров) и распространяется под лицензией Apache 2.0. Она доступна на Hugging Face и загружается через библиотеки Transformers или Sentence Transformers с флагом trust_remote_code=True.
Технические инновации: как победили шум
Базовая версия SPLADE на ModernBERT генерировала «мешки слов» с огромным количеством стоп-слов. Команда Linkup внедрила три ключевых изменения для повышения качества:
- Logit shifting: Используется формула
log(1 + ReLU(x - 15)). Это предотвращает насыщение логарифма из-за высоких логитов MLM, делая векторы разреженными с самого начала обучения. - Per-position top-k: На каждом токене отбираются только 12 самых сильных измерений словаря перед пулингом. Это ограничивает расширение вектора на один токен, а не на весь документ.
- Case folding: Разные регистры (например,
heatиHeat) объединяются в один ID. Это сократило размер выходного пространства с ~50k до ~34k измерений.
Результаты бенчмарков
На наборе данных BEIR-13 (без учета MS MARCO) SPARSEUP показала средний результат 56.4 nDCG@10. Это лучший результат среди публичных sparse-энкодеров с количеством параметров менее 150 млн.
| Модель | Параметры | BEIR-13 avg (nDCG@10) |
|---|---|---|
| SPARSEUP (Linkup) | 149M | 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 | 30M | 50.6 |
| LACONIC-1B | 1B | 58.7 |
Сравнение с DenseOn и LateOn
Важно отметить, что SPARSEUP была обучена на тех же данных и базе, что и модели DenseOn и LateOn от LightOn. В контролируемом сравнении:
- LateOn (позднее взаимодействие): 58.9
- DenseOn (плотные векторы): 57.9
- SPARSEUP (разреженные векторы): 56.4
Разница в 1.5–2.5 балла объясняется тем, что LightOn использует точный поиск, а SPARSEUP — приближенный (Seismic). Однако SPARSEUP превосходит DenseOn на наборах HotpotQA и показывает лучшие результаты на ArguAna и Touché.
Скорость и эффективность
Модель демонстрирует высокую эффективность: в среднем 47 ненулевых терминов на запрос и 190 на документ (для сравнения, SPLADE-v3 дает 25 и 170 соответственно). При использовании инвертированного индекса Seismic модель достигает более 97% полноты (recall) по сравнению с точным поиском за ~380 микросекунд на запрос (single-threaded).
Бенчмарки
| Бенчмарк | SPARSEUP | ModernBERT-VT | opensearch-neural-sparse-encoding-doc-v3 | opensearch-neural-sparse-encoding-v1 |
|---|---|---|---|---|
| BEIR-13 | 56.4% | 52.4% | 54.6% | 52.44% |
Жирным — лучший результат в строке. Источник цифр — официальная публикация.
Источник: MarkTechPost ↗
