[confeti]

ColPali: Recuperación eficiente de documentos con modelos de lenguaje visual 👀

Uso de Vision LLMs + interacción tardía para mejorar la recuperación de documentos (RAG, motores de búsqueda, etc.), utilizando únicamente la representación gráfica de las páginas de los documentos (papel).

 

Contexto

Para mejorar la capacidad de respuesta a consultas de los LLM, a menudo es mejor buscar primero la información en línea o en conjuntos de documentos externos (PDF), antes de dejar que un LLM sintetice una respuesta fundamentada (RAG). En la práctica, estas canalizaciones de recuperación de documentos PDF tienen un gran impacto en el rendimiento, pero no son triviales...

  1. Ejecutar el reconocimiento óptico de caracteres (OCR) en archivos PDF escaneados
  2. Ejecutar modelos de detección de diseño de documentos para segmentar páginas en párrafos, figuras y títulos.
  3. Reconstruir la estructura y el orden de lectura de la página.
  4. Opcionalmente, utilice modelos especializados que consumen muchos recursos para subtitular figuras, imágenes y tablas en lenguaje natural.
  5. Utiliza una estrategia de fragmentación para dividir o fusionar pasajes de texto de forma coherente.
  6. Utiliza un modelo de incrustación neuronal potente (BGE M3) para asignar fragmentos de texto a un espacio vectorial semánticamente significativo.
  7. Almacenar el índice vectorial que se utilizará para futuras recuperaciones.

Aunque existen herramientas para facilitar este proceso (Unstructured,Surya), todo el proceso de indexación puede ser lento, tiende a propagar errores y tiene dificultades para tener en cuenta los elementos más visuales de una página (tablas, figuras, imágenes, pero también fuentes, etc.).

¿Nuestro concepto? ¡Simplemente incrustar la imagen de la página directamente!

En la práctica, ¡no es tan fácil como parece! Nuestro método, ColPali, se basa en los últimos avances en modelos de lenguaje visual, en particular el modelo PaliGemma del equipo de Google Zürich, y aprovecha la recuperación multivectorial a través de mecanismos de interacción tardía, tal y como propone Omar Khattab en ColBERT. ¡Analicémoslo con más detalle técnico!

Arquitectura modelo

Muchos sistemas de recuperación pueden dividirse en dos partes.

  • En la fase de indexación, todos los documentos del corpus se indexan de forma offline.
  • En la fase de consulta, la consulta del usuario se compara con baja latencia con el índice de documentos precalculado.

Por lo tanto, los requisitos importantes para que los sistemas de recuperación sean eficientes son (R1) un buen rendimiento de recuperación, (R2) velocidades de indexación razonables y (R3) baja latencia durante las consultas.

Durante la indexación, los sistemas de recuperación neuronal «bi-encoder» estándar primero analizan los documentos para extraer pasajes de texto semánticamente coherentes, luego los mapean a un espacio vectorial denso que tiene como objetivo representar el significado semántico del texto y almacenan las «incrustaciones» resultantes. Durante la consulta, la consulta se convierte en su representación vectorial densa y los vectores de pasajes de documentos con la mayor similitud coseno se pueden recuperar con una baja latencia.

¡Nuestro método ColPali es un poco diferente!

Durante la indexación, nuestro objetivo es eliminar gran parte de la complejidad utilizando directamente imágenes («capturas de pantalla») de las páginas del documento. Un Vision LLM (PaliGemma-3B) codifica la imagen dividiéndola en una serie de fragmentos, que se introducen en un transformador de visión (SigLIP-So400m). Estas incrustaciones de fragmentos se proyectan linealmente y se introducen como tokens «blandos» en un modelo de lenguaje (Gemma 2B), con el fin de obtener incrustaciones de fragmentos contextualizadas de alta calidad en el espacio del modelo de lenguaje, que luego proyectamos a una dimensión inferior (D=128) para un almacenamiento más eficiente. De este modo, construimos y almacenamos una representación multivectorial del documento para cada imagen de página. Durante la consulta en tiempo de ejecución, el modelo de lenguaje incrusta la consulta del usuario para obtener incrustaciones de tokens. Podemos ejecutar una operaciónde «interacción tardía»(LI) al estilo ColBERT para hacer coincidir de manera eficiente los tokens de la consulta con los parches del documento. Para calcular una puntuación LI (consulta, documento), para cada término de la consulta, buscamos el parche del documento que tiene la representación ColPali más similar. A continuación, sumamos las puntuaciones de los fragmentos más similares para todos los términos de la consulta, con el fin de obtener la puntuación final de la consulta-documento. Intuitivamente, esta operación de interacción tardía permite una rica interacción entre todos los términos de la consulta y los fragmentos del documento, al tiempo que se beneficia de la rápida correspondencia y la descarga de cálculos fuera de línea que permiten los modelos de incrustación más estándar (bi-codificador).

Con ColPali, nos beneficiamos de velocidades de indexación rápidas (R2) sin afectar significativamente a las latencias de consulta (R3). Pero, ¿qué pasa con el rendimiento (R1)?

 

ViDoRe

Aunque impresionante puntos de referencia Existen modelos para evaluar la incrustación de texto, pero hemos descubierto que, en muchos casos prácticos, el proceso previo de ingestión de documentos es mucho más importante que el propio modelo de incrustación. Aunque los documentos suelen recurrir a elementos visuales para transmitir la información de forma más eficaz a los lectores humanos, los sistemas que solo utilizan texto apenas aprovechan estas señales visuales. Según nuestro conocimiento, no existe ningún punto de referencia que evalúe los métodos de recuperación de documentos teniendo en cuenta tanto las características textuales como las visuales de los documentos, tal y como lo haría un ser humano. Con este fin, presentamos ViDoRe, el punto de referencia para la recuperación visual de documentos, con el fin de evaluar la capacidad de los recuperadores para recuperar información visualmente rica en los documentos, con tareas que abarcan diversos temas, modalidades (figuras, tablas, texto) e idiomas. ViDoRe está vinculado a una tabla de clasificación HF. https://huggingface.co/spaces/vidore/vidore-leaderboard ¡Y esperamos ver a muchos modelos probando este nuevo paradigma de «Recuperación en el espacio visual»!

Resultados

Detalles de la formación

Inicializamos la columna vertebral del modelo de lenguaje visual utilizando pesos preentrenados de PaliGemma e inicializamos aleatoriamente la capa de proyección final. Para facilitar el entrenamiento, añadimos adaptadores de rango bajo a los pesos de atención del modelo de lenguaje, así como a las capas de proyección lineal. Nuestro conjunto de datos de entrenamiento se compone de pares (consulta, imagen del documento) que obtenemos de dos fuentes principales. Por un lado, reutilizamos conjuntos de datos de Visual Question Answering y utilizamos la pregunta original como nuestra consulta, y la imagen asociada como la etiqueta de referencia. Para aumentar la cobertura y la diversidad del conjunto de entrenamiento, también recopilamos decenas de miles de documentos PDF con licencia permisiva que abarcan una amplia gama de temas, y creamos consultas relevantes de forma sintética utilizando el potente modelo Claude Sonnet Vision. En total, recopilamos alrededor de 100 000 pares y ajustamos nuestro modelo con una pérdida contrastiva por lotes, intentando maximizar la diferencia entre la puntuación de coincidencia del par correcto (página, consulta) y la puntuación de los pares incorrectos.

Resultados de ColPali

En ViDoRe, ColPali supera a todos los demás sistemas evaluados, incluidas las referencias en las que se utiliza un modelo de visión patentado muy potente (Claude Sonnet) para subtitular todos los elementos visuales.   La diferencia es especialmente notable en las tareas de referencia más complejas desde el punto de vista visual, como InfographicVQA, ArxivQA y TabFQuAD, que representan respectivamente infografías, figuras y tablas. Sin embargo, el modelo ColPali también recupera mejor los documentos centrados en texto en todos los dominios e idiomas evaluados, lo que convierte a nuestro enfoque en el modelo de recuperación de documentos con mejor rendimiento general en ViDoRe.

Interpretabilidad

Más allá de la velocidad y el rendimiento, otra característica interesante de ColPali es que permite visualizar qué fragmentos de un documento destacan con respecto a una consulta determinada. Aquí, el término  coincide con parches que contienen palabras como «por hora», pero también con el eje X que representa el tiempo, lo que demuestra una buena comprensión del gráfico.

Conclusión

Esta entrada del blog ya es bastante larga, pero hay buenas noticias: existen muchos más recursos, información y ablaciones, ¡y seguirán apareciendo! 📝 El artículo:https://arxiv.org/abs/2407.01449 🗃️ El punto de referencia:https://huggingface.co/vidore 👀 El modelo:https://huggingface.co/vidore/colpali 💻 El código de referencia:https://github.com/illuin-tech/vidore-benchmark 💻 El código de entrenamiento:https://github.com/ManuelFay/colpali ✖️ X de los primeros autores: @ManuelFaysse, @sibille_hugues, @tonywu_71

Cita

@misc{faysse2024colpaliefficientdocumentretrieval,
      title={ColPali: Efficient Document Retrieval with Vision Language Models}, 
      author={Manuel Faysse and Hugues Sibille and Tony Wu and Bilel Omrani and Gautier Viaud and Céline Hudelot and Pierre Colombo},
      year={2024},
      eprint={2407.01449},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2407.01449}, 
}

 

Agradecimientos

Este trabajo surge principalmente de una colaboración académica-industrial entre CentraleSupélec e Illuin Technology, con la participación de actores de Equall.ai y ETH Zürich. Se beneficia de una subvención informática de CINES ADASTRA (subvención 2024-AD011015443). Trabajo conjunto deManuel Faysse,Hugues Sibille,Tony Wu,Bilel Omrani,Gautier Viaud,Céline Hudelot yPierre Colombo.

Artículos similares

¡Solicite más información sobre ILLUIN Technology y nuestras ofertas!