Linkup Research представи SPARSEUP: модел за разредени вграждания с отворен код и 149 млн. параметъра
Изследователският екип на Linkup пусна SPARSEUP — модел за разредени embedding-и с отворен код, обучен чрез машинно обучение. Моделът работи върху гръбнак 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 запълва липсващото разредено звено. Той използва същото семейство гръбнаци и същите данни за дообучение, така че и трите стила на извличане могат да бъдат сравнени директно.
Как е изграден SPARSEUP
Обучението започва от LateOn-unsupervised. Тази контролна точка не е имала MLM глава, затова екипът е добавил обратно оригиналната глава на ModernBERT. Дообучаването е използвало смесицата за дообучаване на LightOn само с контрастивно обучение. За всяка заявка се избират 7 трудни отрицателни примера от пул от 50, както и отрицателни примери в рамките на партидата. Няма дистилация чрез cross-encoder, а обучението се побира на един H100.
Ванилният SPLADE върху този гръбнак създаваше огромни набори, пълни със стопдуми. Linkup поправи това с 3 промени:
- Изместване на логитите: Енкодерът изчислява
log(1 + ReLU(x - 15)). MLM логитите на ModernBERT бяха твърде високи, което насищаше логаритъма и правеше наборите плътни още при инициализацията. - top-k за всяка позиция: Всеки входен токен запазва само своите 12 най-силни измерения от речника преди максималното обединяване. Това ограничава разширяването за всеки токен, а не общия размер на вектора.
- Уеднаквяване на регистъра: 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% recall спрямо точното търсене за около 380 микросекунди на заявка, при работа с една нишка. Linkup казва, че увеличаването на размера на вектора би могло да добави 1 до 2 точки към BEIR, но е избрал моделът да остане разреден.
Основни изводи
- SPARSEUP е първият отворен модел на Linkup Research: разреден енкодер със 149 млн. параметъра под лиценза Apache 2.0.
- Той постига 56.4 nDCG@10 на BEIR-13 — най-висок резултат сред публичните разредени енкодери с под 150 млн. параметъра, според Linkup.
- В основата му са 3 промени: изместване на логитите с 15, разширяване до 12 измерения на токен и уеднаквяване на регистъра.
- При идентични данни той изостава от DenseOn с 1.52 точки, а от LateOn — с 2.5 точки на BEIR-13.
- Със Seismic при MS MARCO достига над 97% recall за около 380 µs на заявка.
Разгледайте теглата на модела и техническите подробности. Цялата заслуга е за изследователя на този проект. Също така, не се колебайте да ни последвате в Twitter и не забравяйте да се присъедините към нашия SubReddit за машинно обучение с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Имате нужда от партньор за популяризирането на вашето GitHub хранилище, страница в Hugging Face, продуктово представяне, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.