H Company presenta NeoMME, una familia de encoders multimodales y multilingües diseñados para entender texto e imágenes con una sola arquitectura. Sus modelos de 260 millones y 800 millones de parámetros buscan una alternativa más eficiente frente a los sistemas que combinan un encoder visual separado con un modelo generativo de lenguaje.
La propuesta resulta especialmente interesante para buscar información dentro de documentos, PDFs, tablas y gráficos sin depender primero de un sistema de reconocimiento óptico de caracteres, conocido como OCR.
Un solo Transformer para texto e imágenes
Muchos modelos de lenguaje visual funcionan con tres piezas principales: un encoder que analiza la imagen, un proyector que adapta sus características y un modelo de lenguaje causal que procesa la entrada. Esa estructura es útil para generar texto, pero puede ser más costosa de lo necesario cuando la tarea consiste en clasificar, recuperar o comparar información.
NeoMME toma otro camino. Utiliza un único Transformer bidireccional que procesa tanto los tokens de texto como los fragmentos originales de una imagen. El modelo no parte de un encoder visual, un encoder de texto o un decodificador previamente entrenado: todo se entrena desde cero.
La idea central es sencilla: si la tarea es encontrar representaciones útiles, no hace falta generar una respuesta palabra por palabra.
Las imágenes se dividen en parches de 32 por 32 píxeles y esos fragmentos entran al mismo flujo computacional que el texto. Esto permite compartir mejor el entrenamiento, la paralelización y el servicio de inferencia entre ambas modalidades.
NeoMME también admite resolución dinámica. Conserva la proporción y el tamaño de la imagen, por lo que una página con muchos detalles puede recibir más tokens que una imagen pequeña y sencilla. Su contexto alcanza los 16.384 tokens, suficiente, según sus creadores, para procesar hasta dos imágenes 4K UHD estándar de 3840 por 2160 píxeles.
Entrenamiento multilingüe desde cero
La familia incluye un tokenizador BPE de 131.000 tokens, entrenado con textos multilingües, código, matemáticas y transcripciones generadas a partir de imágenes. El objetivo es que el encoder pueda trabajar con diferentes idiomas y tipos de contenido sin limitarse a documentos en inglés.
El preentrenamiento utiliza una tarea de difusión discreta enmascarada. En términos prácticos, el modelo recibe texto con algunos tokens ocultos y debe reconstruirlos usando el contexto disponible. En los ejemplos multimodales, las imágenes permanecen visibles mientras el sistema intenta recuperar el texto eliminado.
Con un enmascaramiento ligero, el modelo puede completar una frase basándose solo en las palabras cercanas. Pero cuando se oculta una proporción mayor, necesita apoyarse en la imagen para comprender qué aparece en el documento y producir una descripción coherente.
El entrenamiento combinó texto, código, matemáticas, imágenes naturales y documentos visuales. Cada modelo procesó aproximadamente 524.000 millones de tokens empaquetados, incluidos 290.000 millones provenientes de ejemplos exclusivamente textuales.
NeoMME-Retriever busca páginas, no fragmentos de texto
El equipo ajustó NeoMME para recuperación visual de documentos mediante un enfoque inspirado en ColPali. En lugar de convertir un PDF en fragmentos de texto, el sistema transforma cada página en una imagen y busca directamente sobre ella.
Este detalle importa. Una imagen conserva el diseño, las tablas, los gráficos, los tamaños de fuente y la relación espacial entre los elementos. Incluso un OCR muy preciso puede perder parte de esa información al convertir una página compleja en texto plano.
NeoMME-Retriever produce dos tipos de representaciones en una sola pasada:
- Embeddings densos: resumen toda la entrada en un vector normalizado. Son compactos y funcionan bien con índices de vecinos más cercanos aproximados, como los usados en bases vectoriales.
- Embeddings de interacción tardía: mantienen vectores separados para cada token de texto o parche de imagen. Así pueden detectar coincidencias locales entre una consulta y regiones concretas de una página.
La interacción tardía suele ofrecer mayor precisión, aunque requiere almacenar más vectores. En corpus muy grandes, una estrategia práctica consiste en usar primero embeddings densos para recuperar pocos candidatos y después aplicar interacción tardía para reordenarlos.
Resultados en recuperación visual
En las pruebas sobre ViDoRe v3, NeoMME-Retriever-260M obtuvo un nDCG@10 de 0,523. Según H Company, fue el modelo con mejor puntuación entre los evaluados por debajo de 800 millones de parámetros y quedó a solo 0,002 puntos de ColQwen2.5, que utiliza alrededor de 14 veces más parámetros.
La versión de 800 millones alcanzó 0,556, a menos de 0,009 puntos de Vultron Retriever Flash, un modelo de tamaño similar. Ambas versiones se situaron en la frontera de Pareto del benchmark, que compara calidad y tamaño del modelo.
| Modelo | Parámetros | ViDoRe v3 nDCG@10 | ViDoRe v2 nDCG@5 | ViDoRe v1 nDCG@5 |
|---|---|---|---|---|
| ColModernVBERT | 250M | 0,261 | 0,407 | 0,806 |
| NeoMME-260M | 260M | 0,523 | 0,522 | 0,860 |
| ColSmol-500M | 500M | 0,340 | 0,455 | 0,825 |
| NeoMME-800M | 800M | 0,556 | 0,559 | 0,874 |
| ColQwen2.5-v0.2 | 3,75B | 0,524 | 0,601 | 0,895 |
| ColPali v1.3 | 2,92B | 0,430 | 0,547 | 0,848 |
Los resultados deben interpretarse dentro de las condiciones de evaluación y de los modelos comparados, pero apuntan a una conclusión relevante: un encoder multimodal más pequeño puede acercarse al rendimiento de sistemas mucho más grandes en tareas de recuperación.
Menor almacenamiento y mayor velocidad
La interacción tardía tiene un costo evidente: una página de 2048 por 2048 píxeles genera aproximadamente 4.200 vectores. En formato float32, eso equivale a unos 2,1 MB por página, con un promedio cercano a 1,5 MB en ViDoRe v3.
NeoMME reduce ese consumo con dos técnicas. La primera es el agrupamiento jerárquico de tokens, que combina vectores similares y los reemplaza por su promedio. La segunda es la cuantización asimétrica, que convierte los vectores de documentos a formatos más compactos, como int8 o binario, mientras mantiene las consultas en mayor precisión.
Con una configuración de agrupamiento y cuantización a int8, el almacenamiento bajó a unos 39 kB por página, una reducción de 39 veces, conservando más del 99% del nDCG@10 original. En una configuración más agresiva, llegó a 6 kB por página, 255 veces menos, con más del 95% de la calidad de recuperación.
La velocidad también es un punto destacado. En una GPU NVIDIA L40S y con imágenes de 2048 por 2048 píxeles, el modelo de 260M codificó unas 51 páginas por segundo, frente a las 26 páginas por segundo de ColModernVBERT bajo las mismas condiciones.
Disponible para construir RAG visual
Los checkpoints de NeoMME se publican bajo la licencia Apache 2.0 y están disponibles en Hugging Face Transformers. También existe una demostración en Hugging Face Spaces y soporte para ajustar los modelos con Sentence Transformers 6.
Una aplicación directa es la generación aumentada por recuperación visual, o RAG visual. El flujo consiste en convertir cada página de un PDF en una imagen, generar sus embeddings, almacenarlos en una base vectorial como Qdrant, Weaviate o Milvus y recuperar las páginas más relevantes ante una consulta.
Después, esas imágenes se envían a un modelo de lenguaje visual que genera la respuesta. ¿La ventaja? El sistema puede consultar directamente tablas, diagramas, gráficos y distribución visual que una extracción de texto tradicional podría simplificar o perder.
NeoMME no intenta reemplazar todos los modelos generativos. Su aporte está en mostrar que muchas tareas multimodales necesitan un buen sistema de representación, no necesariamente un modelo que genere texto de forma autoregresiva. Para empresas que indexan grandes volúmenes de documentos, esa diferencia puede traducirse en menos memoria, menor costo de inferencia y búsquedas más rápidas.
