Modelo esparso aberto para recuperação de informação
A equipe de pesquisa da Linkup lançou o SPARSEUP, um modelo de embeddings esparsos de código aberto com backbone ModernBERT de 149 milhões de parâmetros, distribuído sob licença Apache 2.0. O modelo registra 56,4 de nDCG@10 médio no benchmark BEIR-13 — o que a empresa descreve como o encoder esparso baseado em vocabulário mais forte que conhece abaixo de 150 milhões de parâmetros. Os pesos estão disponíveis no Hugging Face e carregam via Transformers ou Sentence Transformers com trust_remote_code=True.
É um lançamento técnico, mas relevante para quem constrói busca e RAG no Brasil: modelos esparsos casam bem com índices invertidos, são interpretáveis e custam menos para rodar que alternativas densas grandes.
Por que um modelo esparso, e por que agora
A maioria dos modelos de recuperação abertos é densa: um vetor por texto. Modelos esparsos, por outro lado, produzem pesos sobre um vocabulário — cada dimensão corresponde a um token real, então os vetores cabem em índices invertidos e podem ser lidos por humanos. Eles também tendem a capturar bem palavras raras.
O gatilho do lançamento foi a chegada do DenseOn e do LateOn, da LightOn, que publicou dados abertos, receita de treinamento, um modelo denso e um modelo de late interaction. O SPARSEUP preenche a lacuna esparsa que faltava. Como usa a mesma família de backbone e os mesmos dados de fine-tuning, os três estilos de recuperação podem ser comparados lado a lado.
Como o SPARSEUP foi construído
O treinamento parte do checkpoint LateOn-unsupervised, ao qual a equipe reacoplou o head de MLM original do ModernBERT. O fine-tuning usou apenas aprendizado contrastivo, com 7 negativos difíceis amostrados de um pool de 50 para cada consulta, além de negativos do próprio lote — sem destilação de cross-encoder, cabendo em uma única GPU H100.
Um SPLADE “vanilla” sobre esse backbone produzia bolsas enormes cheias de stopwords. A Linkup corrigiu isso com três mudanças:
- Logit shifting: o encoder calcula
log(1 + ReLU(x − 15)), evitando que os logits do MLM saturassem o log e deixassem as bolsas densas na inicialização. - Top-k por posição: cada token mantém apenas suas 12 dimensões de vocabulário mais fortes antes do max pooling, limitando a expansão por token.
- Case folding: o BPE em nível de byte tratava “heat”, “Heat” e variações como IDs separados; o SPARSEUP os dobra em um único ID, reduzindo as dimensões de saída de ~50 mil para ~34 mil.
Consultas e documentos recebem prefixos [Q] e [D], e a pontuação é um produto escalar. Os comprimentos máximos de avaliação são 128 tokens para consultas e 512 para documentos.
Resultados no benchmark
Contra outros encoders esparsos no BEIR-13 (nDCG@10, sem MS MARCO), o SPARSEUP lidera sua classe de tamanho:
| Modelo | BEIR-13 médio |
|---|---|
| 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 |
Com transparência: a comparação controlada (mesmo backbone e dados) é menos favorável. O LateOn marca 58,9, o DenseOn 57,9 e o SPARSEUP 56,4 — e a Linkup usa busca aproximada Seismic, enquanto a LightOn reporta busca exata. O SPARSEUP vence em ArguAna e Touché e supera o DenseOn no HotpotQA, mas fica atrás em conjuntos mais semânticos, com o FiQA como maior lacuna. Em BEIR decontaminado, a diferença para o DenseOn encolhe para 0,17 ponto.
Para o público técnico brasileiro, o SPARSEUP é uma opção interessante de retrieval aberto, com a ressalva de que os resultados variam conforme o tipo de consulta — brilha em correspondência lexical e rara, perde em semântica profunda.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



