ColPali: Recuperación mejorada de documentos con modelos lingüísticos de visión y la estrategia de incrustación ColBERT

Retrieval Augmented Generation (RAG) es una técnica que combina las capacidades de los grandes modelos lingüísticos (LLMs) con fuentes de conocimiento externas para mejorar la precisión y relevancia de las respuestas. Una aplicación habitual de la RAG es la extracción de contenidos de fuentes como los PDF, ya que estos archivos suelen contener datos valiosos pero son difíciles de buscar e indexar. La dificultad radica en que la información importante puede pasarse por alto dependiendo de la herramienta utilizada para la extracción. Por ejemplo, el texto incrustado en imágenes puede no detectarse durante la extracción, lo que imposibilita su recuperación posterior.
ColPali, un modelo de recuperación de documentos, aborda este problema con su novedosa arquitectura basada en modelos de lenguaje visual (VLM). Indexa documentos a través de sus características visuales, capturando elementos textuales y visuales. Al generar representaciones multivectoriales de texto e imágenes al estilo ColBERT, ColPali codifica las imágenes de los documentos directamente en un espacio de incrustación unificado, eliminando la necesidad de extracción y segmentación de texto tradicionales.
Figura: Canal de recuperación estándar frente a canal ColPali para la recuperación de PDF](https://assets.zilliz.com/Co_Pali_image_2_50aa11b6d2.png)
La imagen anterior procede del artículo de ColPali, donde los autores argumentan que un proceso de recuperación de PDF normal suele incluir varios pasos: extracción de texto mediante OCR, detección de diseño, fragmentación y generación de incrustación. ColPali simplifica este proceso utilizando un único Vision Language Model (VLM) que toma como entrada una captura de pantalla de la página.
ColPali integra herramientas que van más allá de los sistemas RAG tradicionales, por lo que es importante entender primero algunos de estos conceptos. Antes de discutir los detalles de ColPali, vamos a aprender modelos de lenguaje de visión y modelos de interacción tardía.
¿Qué son los modelos de lenguaje de visión (VLM)?
Los modelos de lenguaje visual (VLM) son modelos multimodales que aprenden de imágenes y texto simultáneamente. Toman entradas de imágenes y texto y generan salidas de texto y forman parte de la categoría más amplia de modelos generativos.
Ejemplo de VLM](https://assets.zilliz.com/vision_language_model_3_36f9866f43.png)
ColPali aprovecha los VLM para alinear incrustaciones de tokens de texto e imagen adquiridos durante el ajuste fino multimodal. En concreto, utiliza una versión ampliada del modelo PaliGemma-3B para producir representaciones multivectoriales ColBERT. Los autores eligieron este modelo porque tiene una variedad de puntos de control ajustados para diferentes resoluciones de imagen y tareas, incluido el reconocimiento óptico de caracteres para leer texto de imágenes.
ColPali se basa en el modelo PaliGemma-3B de Google, que se publicó con pesos abiertos. Este modelo se entrenó utilizando un conjunto de datos diverso: un 63% de datos académicos y un 37% de datos sintéticos de páginas PDF rastreadas por Internet, mejorados con pseudopreguntas generadas por VLM.
¿Qué son los modelos de interacción tardía?
Los modelos Late Interaction están diseñados para tareas de recuperación. Se centran en la similitud a nivel de token entre documentos en lugar de utilizar una única representación vectorial. Al representar el texto como una serie de incrustaciones de tokens, estos modelos ofrecen el detalle y la precisión de los codificadores cruzados, al tiempo que se benefician de la eficiencia del almacenamiento de documentos fuera de línea.
Figura 2: Diagramas esquemáticos que ilustran los paradigmas de correspondencia entre consulta y documento en RI neuronal](https://assets.zilliz.com/Figure_2_Schematic_diagrams_illustrating_query_document_matching_paradigms_in_neural_I_Rpng_3c508a2c93.png)
Figura 2: Diagramas esquemáticos que ilustran los paradigmas de concordancia consulta-documento en RI neural. | Fuente_
Una vez comprendidos los modelos de interacción tardía y los modelos de lenguaje visual, podemos explorar cómo ColPali combina estos elementos para mejorar la recuperación de documentos.
¿Qué es ColPali y cómo funciona?
ColPali es un modelo avanzado de recuperación de documentos diseñado para indexar y recuperar información directamente a partir de las características visuales de los documentos, en particular los PDF. A diferencia de los métodos tradicionales que se basan en el OCR (reconocimiento óptico de caracteres) y la segmentación de texto, ColPali captura imágenes de cada página e incorpora páginas enteras del documento en un espacio vectorial unificado utilizando VLM. Este enfoque permite a ColPali eludir los complejos procesos de extracción, mejorando la precisión y la eficacia de la recuperación.
A continuación se indican los pasos clave de su flujo de trabajo:
Procesamiento de documentos
- Creación de imágenes a partir de PDF: En lugar de extraer texto, crear trozos e incrustarlos después, ColPali incrusta directamente la captura de pantalla de una página PDF en una representación vectorial. Este paso es como hacer una foto de cada página en lugar de intentar extraer su contenido.
- Dividir las imágenes en cuadrículas: A continuación, cada página se divide en una cuadrícula de piezas uniformes llamadas parches. Por defecto, se divide en una cuadrícula de 32x32, lo que da como resultado 1024 parches por imagen. Cada parche se representa como un vector de 128 dimensiones. Puedes pensar que es una imagen con 1024 "palabras" que describen esos parches.
Generación de incrustaciones
- Procesamiento de parches de imagen: ColPali transforma estos parches visuales en incrustaciones mediante un Transformador de Visión (ViT), que procesa cada parche para crear una representación vectorial detallada.
- Alineación de incrustaciones visuales y de texto**: Para hacer coincidir la información visual con la consulta de búsqueda, ColPali convierte el texto de la consulta en incrustaciones en el mismo espacio vectorial que los parches de imagen. Esta alineación permite al modelo comparar directamente el contenido visual y textual.
- Procesamiento de la consulta**: El modelo tokeniza la consulta y asigna a cada token un vector de 128 dimensiones. Utiliza preguntas como "Describa esta imagen
" para garantizar que el modelo se centra en los elementos visuales, lo que permite una integración perfecta de los datos visuales y textuales.
Mecanismo de recuperación
ColPali utiliza un mecanismo de similitud de interacción tardía para comparar la consulta y las incrustaciones del documento en el momento de la consulta. Este enfoque permite una interacción detallada entre todos los vectores de celda de la cuadrícula de la imagen y los vectores de token del texto de la consulta, lo que garantiza una comparación exhaustiva.
La similitud se calcula mediante una "suma de similitudes máximas":
- Calcular las puntuaciones de similitud entre cada token de consulta y cada token de parche de la imagen.
- Agregar estas puntuaciones para generar una puntuación de relevancia para cada documento.
- Ordenar los documentos según la puntuación en orden descendente, utilizando la puntuación como medida de relevancia.
Este método permite a ColPali emparejar eficazmente las consultas de los usuarios con los documentos pertinentes, centrándose en los fragmentos de imagen que mejor se alinean con el texto de la consulta. De este modo, se resaltan las partes más relevantes del documento, combinando contenido textual y visual para una recuperación precisa.
Proceso de formación del modelo
ColPali se basa en el modelo PaliGemma-3B, un modelo de lenguaje visual desarrollado por Google. En su implementación, ColPali mantiene congelados los pesos del modelo durante el entrenamiento para conservar el conocimiento preentrenado del VLM mientras se centra en optimizar para tareas de recuperación de documentos.
La clave para adaptar este VLM de uso general a la recuperación de documentos reside en un componente pequeño pero crucial: **Este adaptador se superpone al modelo PaliGemma-3B y se entrena para aprender representaciones adaptadas a las tareas de recuperación.
El proceso de formación de este adaptador utiliza un método de aprendizaje por tripletas:
- Una consulta de texto
- Una imagen de una página relevante para la consulta
- Una imagen de una página irrelevante para la consulta
Este método permite que el modelo aprenda a distinguir con precisión entre contenido relevante e irrelevante, lo que aumenta su precisión de recuperación.
Ventajas de ColPali
- Eliminación del complejo preprocesamiento**: ColPali sustituye el pipeline tradicional de extracción de texto, OCR, detección de diseño y chunking por un único VLM que toma una captura de pantalla de la página como entrada.
- Captura de información visual y textual**: Al trabajar directamente con imágenes de páginas, ColPali puede incorporar tanto el contenido textual como el diseño visual en su comprensión de los documentos.
- Recuperación eficaz de documentos visualmente ricos**: El mecanismo de interacción tardía permite una correspondencia precisa entre las consultas y el contenido de los documentos, lo que permite una recuperación eficaz de la información pertinente de documentos complejos y visualmente ricos.
- Conservación del contexto**: Al operar con imágenes de páginas enteras, ColPali mantiene el contexto completo del documento, que puede perderse en los enfoques tradicionales de fragmentación de texto.
Desafíos de ColPali
Como cualquier sistema de recuperación a gran escala, ColPali se enfrenta a importantes retos en términos de complejidad computacional y requisitos de almacenamiento.
Complejidad computacional: Los requisitos de cálculo de ColPali crecen cuadráticamente con el número de tokens de consulta y vectores de parche. Esto significa que, a medida que aumenta la complejidad de las consultas o la resolución de las imágenes de los documentos, la demanda computacional crece rápidamente.
Requisitos de almacenamiento: El coste de almacenamiento de los enfoques similares a ColBERT es entre 10 y 100 veces superior al de la incrustación vectorial densa, ya que requiere un vector para cada token. Las necesidades de almacenamiento del sistema aumentan linealmente con tres factores:
- Número de documentos
Número de parches por documento
Dimensionalidad de las representaciones vectoriales.
Este escalado puede conllevar importantes requisitos de almacenamiento para grandes colecciones de documentos.
Estrategia de optimización - Reducción de la precisión
Para hacer frente a estos retos de escalado, sugerimos utilizar la estrategia de reducción de precisión.
- Reducción de la precisión: Pasar de representaciones de mayor precisión (por ejemplo, flotantes de 32 bits) a formatos de menor precisión (por ejemplo, enteros de 8 bits) puede reducir drásticamente los requisitos de almacenamiento con un impacto a menudo mínimo en la calidad de la recuperación.
Resumen
ColPali tiene un potencial significativo para transformar la forma en que recuperamos contenidos visualmente ricos con contexto textual en los sistemas RAG. Al aprovechar los modelos de lenguaje visual, permite recuperar documentos basándose no sólo en el texto, sino también en elementos visuales.
Sin embargo, a pesar de sus impresionantes resultados, ColPali se enfrenta a retos debidos a sus elevadas demandas de almacenamiento y complejidad computacional, que pueden dificultar su adopción generalizada. Futuras optimizaciones podrían resolver estas limitaciones y hacerlo más práctico. A medida que los métodos RAG sigan desarrollándose, es probable que los métodos de recuperación como ColPali, que integran la comprensión visual y textual, desempeñen un papel cada vez más importante en la recuperación de información a través de diversos tipos de documentos.
Nos encantaría conocer su opinión.
Si te gusta esta entrada de blog, te agradeceríamos que nos dieras una estrella en GitHub. También te invitamos a unirte a nuestra comunidad Milvus en Discord para compartir tus experiencias. Si estás interesado en aprender más, echa un vistazo a nuestro repositorio Bootcamp en GitHub o a nuestros cuadernos. También nos encantaría saber si tienes pensado probar ColPali en el futuro.
Más información
- Documento ColPali: [2407.01449] ColPali: Efficient Document Retrieval with Vision Language Models
- GitHub de ColPali: https://github.com/illuin-tech/colpali
- ColBERT: modelo de incrustación y clasificación a nivel de token](https://zilliz.com/learn/explore-colbert-token-level-embedding-and-ranking-model-for-similarity-search)
- ColPali: Recuperación de documentos con modelos de lenguaje de visión](https://antaripasaha.notion.site/ColPali-Document-Retrieval-with-Vision-Language-Models-10f5314a5639803d94d0d7ac191bb5b1)
- Qué es RAG](https://zilliz.com/learn/Retrieval-Augmented-Generation)
- ¿Qué son las bases de datos vectoriales y cómo funcionan?](https://zilliz.com/learn/what-is-vector-database)
- ¿Qué son los modelos de lenguaje de visión (VLM)?
- ¿Qué son los modelos de interacción tardía?
- ¿Qué es ColPali y cómo funciona?
- Ventajas de ColPali
- Desafíos de ColPali
- Estrategia de optimización - Reducción de la precisión
- Resumen
- Nos encantaría conocer su opinión.
- Más información
Contenido
Comienza Gratis, Escala Fácilmente
Prueba la base de datos vectorial completamente gestionada construida para tus aplicaciones GenAI.
Prueba Zilliz Cloud GratisSigue leyendo

Build for the Boom: Why AI Agent Startups Should Build Scalable Infrastructure Early
Explore strategies for developing AI agents that can handle rapid growth. Don't let inadequate systems undermine your success during critical breakthrough moments.

Demystifying the Milvus Sizing Tool
Explore how to use the Sizing Tool to select the optimal configuration for your Milvus deployment.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.
