La mayoría de los recuperadores de documentos visuales actuales en producción son soluciones heredadas. ColPali y los modelos que le siguieron toman un modelo de visión-lenguaje generativo y lo reutilizan como un encoder. El resultado aún conlleva una visión tower preentrenada por separado y un decoder causal que nunca genera un token. Esto representa una sobrecarga de parámetros y cómputo para una tarea que solo requiere representaciones.

H Company ha lanzado NeoMME, una familia de encoders bidireccionales de 260M y 800M parámetros que elimina ambos componentes. Un Transformer procesa tokens de texto multilingüe y parches de imagen RGB crudos de 32×32 a través de las mismas capas, entrenados desde una inicialización aleatoria. El ajuste fino de recuperación, NeoMME-Retriever, alcanza 0.523 nDCG@10 en ViDoRe v3 con 260M de parámetros.

¿Es desplegable? Sí. Cada punto de control (checkpoint) se distribuye bajo licencia Apache 2.0 con soporte inmediato en Hugging Face Transformers. El modelo de 260M indexa 51.3 páginas por segundo en una sola NVIDIA L40S y codifica una consulta en 78.3 ms en un host solo con CPU.

¿Cómo funciona una sola torre para dos modalidades?

El texto ingresa a través de un embedding factorizado al estilo ALBERT: una búsqueda de 256 dimensiones proyectada al ancho del modelo. Las imágenes se dividen en parches de 32×32 sin superposición y se proyectan mediante un MLP de 2 capas entrenado desde cero. No hay módulo de fusión de parches ni una torre SigLIP2.

Ambos modelos admiten un contexto de 16,384 tokens, suficiente para dos imágenes estándar 4K UHD de 3,840×2,160 tras el parcheado. La mayoría de las capas utilizan atención de ventana deslizante simétrica; cada sexta capa y la capa final atienden globalmente. La arquitectura utiliza atención de consulta agrupada, normalización de consulta-clave, atención cerrada, embeddings de posición rotativos 2D y MLPs con ReLU al cuadrado. Los conteos exactos de parámetros son 262,937,906 y 793,715,032.

El tokenizador es un BPE sin restricciones de espacios en blanco con un vocabulario de 131,072 entradas, entrenado desde cero. En 14 idiomas objetivo en FLORES-200 devtest, emite un 44.4% menos de tokens que ModernBERT.

¿Por qué el entrenamiento como denoiser de difusión enmascarada?

El preentrenamiento es una difusión enmascarada discreta sobre texto, condicionada opcionalmente a parches de imagen visibles. Los segmentos solo de texto extraen una tasa de corrupción uniformemente de 0 a 1. Los segmentos multimodales extraen de 0.30 a 1, lo que elimina el atajo de solo lenguaje y obliga al modelo a leer la página.

Una sonda de ablación transmodal confirma que esto funciona. Con un 90% de enmascaramiento, los parches de página visibles aumentan la precisión del token enmascarado en 38.4 puntos para el modelo de 260M y 40.5 puntos para el modelo de 800M. Cada ejecución procesa alrededor de 524 mil millones de tokens de entrada empaquetados, aproximadamente 290 mil millones de ellos solo de texto, en 16 y 32 aceleradores H100 respectivamente.

Resultados de recuperación

NeoMME-Retriever añade dos cabezales entrenados conjuntamente sobre el backbone compartido: un cabezal denso con media agrupada con anchos Matryoshka, y un cabezal de interacción tardía que proyecta cada token y parche a 128 dimensiones. Un pase hacia adelante devuelve ambos.

En ViDoRe v3, el modelo de 260M obtiene 0.523 nDCG@10 y el modelo de 800M 0.556. El resultado de 260M se sitúa a 0.002 de ColQwen2.5-v0.2 con 3.75B de parámetros, y 26.1 puntos por encima del mejor modelo sub-300M. El modelo de 800M se sitúa 0.9 puntos detrás del Vultron Retriever Flash de tamaño similar. En ViDoRe v1 y v2, los modelos alcanzan 0.860/0.522 y 0.874/0.559 nDCG@5.

La recuperación de texto es más débil. En BEIR-15, la interacción tardía alcanza 0.4881 y 0.5126, frente a 0.5722 para LateOn con 149M de parámetros. Los autores atribuyen esto en parte a la escala de supervisión: NeoMME vio aproximadamente 430K ejemplos de consulta de texto, frente a unos 660M de ejemplos contrastivos para mLateOn.

Almacenamiento y rendimiento

Los índices de interacción tardía son costosos. Una página de 2048×2048 produce 4,162 vectores, alrededor de 1.5 MB por documento ViDoRe v3 en float32. Dos métodos reducen esto. La agrupación jerárquica de tokens con factor 10 con consultas y documentos int8 da 39.0 kB por página, una reducción de 39.4× manteniendo el 99.16% del nDCG@10 base. El factor de agrupación 8 con consultas int8 y documentos binarios da 6.0 kB, una reducción de 255.5× manteniendo el 95.19%.

La indexación es rápida para el conteo de vectores. Con una entrada coincidente de 2048×2048 en una L40S, NeoMME-260M codifica 51.3 páginas por segundo frente a las 26.0 de ColModernVBERT, una brecha de 1.97×.

Conclusiones clave

  • Un Transformer bidireccional maneja texto y parches de imagen crudos, sin visión tower ni decoder.
  • NeoMME-Retriever-260M obtiene 0.523 nDCG@10 en ViDoRe v3, superando a todo modelo evaluado bajo 800M.
  • Iguala al ColQwen2.5 de 3.75B de parámetros en ViDoRe v3 siendo 14.4× más pequeño.
  • La agrupación de tokens más cuantización asimétrica reduce el índice de 1.5 MB a 6 kB por página.
  • La recuperación de solo texto y la transferencia de imágenes naturales congeladas siguen siendo puntos débiles.

Consulte el Paper, la Colección de Modelos y la Demo. Vía MarkTechPost.