El equipo de investigación de Linkup lanza SPARSEUP, un modelo de incrustación dispersa aprendido de código abierto. El modelo se ejecuta en una red troncal ModernBERT de 149M de parámetros y se envía bajo Apache 2.0. El equipo de Linkup informa un promedio de 56,4 nDCG@10 en BEIR-13. Lo llama el codificador disperso basado en vocabulario público más potente que conoce con parámetros de 150 millones.
¿Es desplegable? Sí. Los pesos están en Hugging Face bajo Apache 2.0. El modelo se carga a través de Transformers o Sentence Transformers con trust_remote_code=True.
Por qué un modelo disperso y por qué ahora
La mayoría de los modelos de recuperación abiertos son densos: 1 vector por texto. En su lugar, los modelos dispersos generan ponderaciones sobre un vocabulario. Cada dimensión se asigna a un token real, por lo que los vectores se ajustan a índices invertidos y los humanos pueden leerlos. También tienden a combinar bien con palabras raras.
El desencadenante fue el lanzamiento de DenseOn y LateOn de LightOn. LightOn publicó datos abiertos, una receta de entrenamiento, un modelo denso y un modelo de interacción tardía. SPARSEUP llena el espacio disperso que falta. Utiliza la misma familia de backbone y datos de ajuste, por lo que los 3 estilos de recuperación se pueden comparar uno al lado del otro.
¿Cómo se construye SPARSEUP?
El entrenamiento comienza desde LateOn, sin supervisión. Ese punto de control no tenía cabezal MLM, por lo que el equipo volvió a injertar el original de ModernBERT. El ajuste fino utilizó la combinación de ajuste fino de LightOn con aprendizaje contrastivo únicamente. Cada consulta obtiene 7 negativos concretos muestreados de un grupo de 50 y negativos en lotes. No hay destilación cruzada por codificador y el entrenamiento cabe en un solo H100.
Un SPLADE vainilla en esta columna vertebral produjo enormes bolsas llenas de palabras vacías. Linkup solucionó esto con 3 cambios:
Cambio logit: el codificador calcula log(1 + ReLU(x – 15)). Los logits MLM de ModernBERT estaban demasiado altos, saturando el registro y haciendo que las bolsas se volvieran densas en la inicialización. Top-k por posición: cada token de entrada mantiene solo sus 12 dimensiones de vocabulario más sólidas antes de la agrupación máxima. Esto limita la expansión por token, no el tamaño total del vector. Plegado de casos: BPE a nivel de bytes almacena calor, Heat, Ġheat y ĠHeat como identificadores separados. SPARSEUP los dobla en 1 id y mantiene el peso mayor. Las dimensiones de salida caen de aproximadamente 50k a aproximadamente 34k.
Consultas y documentos toman [Q] y [D] prefijos y la puntuación es un producto escalar. La longitud máxima de evaluación es 128 tokens para consultas y 512 para documentos.