4 puntos por GN⁺ 2024-11-18 | 1 comentarios | Compartir por WhatsApp
  • voyage-multimodal-3, presentado por Voyage AI, es un modelo para RAG y búsqueda semántica pensado para consultar bases de conocimiento con texto e imágenes mezclados usando un solo modelo de embeddings
  • Su principal diferenciador es que puede vectorizar sin parsear documentos materiales donde la información de layout es importante, como PDF, diapositivas, tablas, ilustraciones y capturas de pantalla de documentos
  • Para reducir las limitaciones de búsqueda multimodal mixta de los modelos de la familia CLIP, procesa texto e información visual en el mismo codificador Transformer y preserva las relaciones de contexto en entradas con modalidades mezcladas
  • En 20 datasets de búsqueda multimodal mostró una precisión de búsqueda promedio 19.63% superior a la del siguiente mejor modelo de embeddings multimodal, y también superó a OpenAI v3 large en 34 datasets de búsqueda de texto
  • A medida que aumentaba la proporción de capturas de pantalla, los modelos basados en CLIP perdían calidad, pero voyage-multimodal-3 mostró poca degradación en todo el rango, por lo que resulta práctico para pipelines de búsqueda basados en capturas de pantalla

Casos de uso a los que apunta voyage-multimodal-3

  • voyage-multimodal-3 es el primer modelo de embeddings multimodal de Voyage AI, orientado a RAG y búsqueda semántica en bases de conocimiento con abundante material visual y texto
  • Los tipos de entrada son texto e imágenes ricas en contenido, y ejemplos representativos son los siguientes
    • Capturas de pantalla de texto
    • Ilustraciones y tablas
    • Capturas de pantalla de PDF
    • Presentaciones de diapositivas
    • Otras imágenes de documentos
  • Los vectores generados reflejan no solo el significado del texto, sino también rasgos visuales como el tamaño de fuente, la posición del texto y los márgenes
  • En documentos con layouts complejos o con ilustraciones y fotos mezcladas pueden surgir problemas de precisión con el parsing basado en heurísticas, por lo que el modelo adopta un enfoque que convierte directamente la vista original en vectores para búsqueda
  • Se puede ver un ejemplo de uso en el sample notebook

Un enfoque de embeddings distinto al de la familia CLIP

  • Los modelos multimodales existentes, como Amazon Titan Multimodal G1, Google Vertex AI multimodal y Cohere multimodal v3, usan una arquitectura basada en OpenAI CLIP
  • La arquitectura de la familia CLIP procesa las distintas modalidades en redes independientes
    • Las imágenes se vectorizan mediante una vision tower
    • El texto se vectoriza mediante una text tower
    • En esta estructura es difícil procesar de una sola vez entradas con texto e imágenes mezclados
  • voyage-multimodal-3 vectoriza ambas modalidades directamente dentro del mismo codificador Transformer
    • El texto y las características visuales no se tratan como componentes separados, sino como parte de una representación unificada
    • Es una aplicación de la arquitectura de los modelos modernos de visión-lenguaje al vectorizado, no a la generación
  • Gracias a esto, puede incorporar en el vector tanto la información visual como la textual y su relación contextual en texto e imágenes mezclados, capturas de pantalla de documentos, PDF complejos e imágenes con anotaciones

La diferencia que se ve en búsquedas con capturas de pantalla mezcladas

  • Los modelos similares a CLIP pueden degradar su rendimiento en búsqueda de modalidades mixtas por la brecha de modalidad (modality gap)
  • En un ejemplo, el vector más cercano al fragmento de texto “I address you, members of the Seventy-Seventh Congress…” no era la captura de pantalla correspondiente, sino otro texto distinto
  • Este fenómeno lleva a un sesgo de búsqueda donde un vector de texto queda más cerca de elementos no relacionados de la misma modalidad que de una imagen relacionada
  • Voyage AI realizó un experimento cuantitativo con documentación de PyTorch
    • Creó, para un mismo conjunto de documentos, versiones como cadenas de texto normales y como capturas de pantalla
    • Construyó un dataset de modalidades mixtas combinando parte de los documentos basados en texto con capturas de pantalla del resto
    • La proporción de capturas de pantalla se configuró de forma distinta desde 0% hasta 100%
    • Cada modelo recuperó los 10 resultados principales con similitud coseno y fue evaluado con NDCG@10
  • Los modelos basados en CLIP perdieron calidad de búsqueda a medida que la proporción de capturas de pantalla aumentaba hasta 90%, y también mostraron bajo rendimiento cuando todo el texto se sustituyó por imágenes
  • voyage-multimodal-3 mostró el mejor rendimiento en todas las proporciones y casi no tuvo degradación general
  • Este resultado muestra su capacidad para capturar en el vector la información semántica presente dentro de capturas de pantalla y la solidez de procesar todas las modalidades de entrada con el mismo backbone

Datasets de evaluación y modelos de comparación

  • La evaluación multimodal se realizó en 3 tareas y un total de 20 datasets
    • Búsqueda de tablas/ilustraciones: charxiv, mmtab-test, ChartQA, Chartve, FintabnetQA, PlotQA
    • Búsqueda de capturas de pantalla de documentos: Energy, Healthcare Industry, Artificial Intelligence, Government Report, InfoVQA, DocVQA, ArxivQA, TabFQuad, TAT-DQA, Shift Project del benchmark ViDoRe
    • Búsqueda texto-foto: meme-cap, mm-imdb, winoground, docci
  • La evaluación estándar de búsqueda de texto se realizó en 34 datasets de 6 dominios como legal, finanzas, diálogo, código, web y tecnología
  • En todos los datasets, las consultas son texto y los documentos pueden ser ilustraciones, fotos, texto, capturas de pantalla de documentos o una combinación de estos
  • Los modelos comparados en las tareas multimodales fueron los siguientes
  • En búsqueda estándar de texto se comparó con OpenAI v3 large (text-embeddings-3-large), Cohere multimodal/English 1 v3 y voyage-3
  • Como Cohere multimodal v3 usa Cohere English v3 (embed-english-v3.0) como text tower en texto puro, en las gráficas se utiliza solo la etiqueta “Cohere multimodal v3” para reducir confusión

Resultados de precisión de búsqueda

  • voyage-multimodal-3 registró una precisión de búsqueda promedio 19.63% superior a la del siguiente mejor modelo de embeddings multimodal en el conjunto completo de 20 datasets de búsqueda multimodal
  • En búsqueda de tablas/ilustraciones superó a OpenAI CLIP large, Amazon Titan Multimodal G1, Cohere multimodal v3, SigLIP So400M y ColQwen2 v0.1 por 41.44%, 45.00%, 43.37%, 20.66% y 6.14%, respectivamente
  • En búsqueda de capturas de pantalla de documentos mostró un rendimiento superior de 26.54%, 37.68%, 25.84%, 35.62% y 0.98% frente a esos mismos modelos de comparación, respectivamente
  • En búsqueda texto-foto quedó por delante de esos mismos modelos por 6.55%, 5.16%, 5.86%, 3.42% y 10.34%, respectivamente
  • En búsqueda estándar de texto rindió 5.13% mejor que OpenAI v3 large y 13.70% mejor que Cohere multimodal/English 1 v3
  • La precisión en búsqueda de documentos de texto puro fue 0.05% superior a voyage-3, por lo que ambos modelos quedaron prácticamente al mismo nivel
  • Los resultados completos de la evaluación están publicados en esta hoja de cálculo

Cómo empezar y materiales disponibles

  • voyage-multimodal-3 puede usarse desde el mismo día de su lanzamiento
  • Los primeros 200 millones de tokens son gratis
  • Los materiales para empezar están disponibles en el sample notebook y en la documentación
  • Los usuarios interesados en modelos de embeddings con fine-tuning pueden contactar a contact@voyageai.com

1 comentarios

 
GN⁺ 2024-11-18
Comentarios en Hacker News
  • La observación clave es simple e intuitiva: todos los modelos de la familia CLIP rinden mal en búsquedas de modalidad mixta debido a la brecha entre modalidades (modality gap)
    Por ejemplo, para la frase “I address you, members of the Seventy-Seventh Congress…”, el vector más cercano termina siendo otro texto y no la captura de pantalla correspondiente. Por eso, en el espacio de embeddings, los vectores de texto quedan más cerca de texto no relacionado que de imágenes relacionadas, sesgando los resultados de búsqueda hacia la misma modalidad

    • La cita es importante, pero por sí sola no deja claro si afirman haber resuelto ese problema. Parece que dicen que el nuevo modelo voyage-multimodal-3 identifica conceptos conectados entre modalidades
      Si existe un espacio latente capaz de agrupar la misma idea, ya sea expresada visualmente o en texto, sería bastante genial. Aun así, creo que este benchmark evalúa los embeddings multimodales de una forma bastante estrecha. Que una imagen con texto relacionado y un embedding de texto queden cerca es útil, pero no necesariamente implica que eso se extienda a relaciones entre distintas representaciones visuales, como “rabbit” y una foto de un conejo. Si el objetivo es limitado, como indexar imágenes de documentos, quizá otras técnicas también funcionen bastante bien. Parece una buena oportunidad para que aparezca un nuevo dataset de benchmark sobre representación conceptual multimodal más allá de medios textuales
    • Puede que este problema se esté abordando con multimodal mixup, para evitar que se genere una gran brecha en el espacio latente entre las dos modalidades: https://arxiv.org/abs/2203.03897
  • Si te interesa este campo, quizá valga la pena considerar nuestro proyecto, que usa ColPali internamente de forma transparente
    https://github.com/tjmlabs/ColiVara
    El benchmark principal de este lado es la tabla de clasificación de Vidore, y me gustaría ver cómo queda VoyageAI frente a implementaciones open source más abiertas

  • Siento que me estoy perdiendo de algo. Uno imaginaría que cualquier LLM “multimodal nativo” debería incluir embeddings multimodales de alguna forma
    Por ejemplo, una entrada del blog de Gemini de Google explica que los modelos multimodales anteriores entrenaban por separado componentes para distintas modalidades y luego los unían, mientras que Gemini fue preentrenado desde el inicio con múltiples modalidades y ajustado con datos multimodales adicionales. Así que afirman que entiende y razona de forma natural sobre todo tipo de entradas desde el principio

    • Los LLM como Gemini, y más ampliamente los modelos de lenguaje causales, se entrenan para predecir el siguiente token, así que los vectores obtenidos al hacer pooling de los embeddings de los tokens de salida no suelen ser muy útiles para RAG o búsqueda semántica en comparación con lo que produce un modelo de embeddings real
      La distinción aquí es que los embeddings de tokens y los vectores/embeddings que produce un modelo de embeddings son conceptos relacionados pero distintos. Hay muchos embeddings de tokens, uno por cada token, que se contextualizan al pasar por el transformer, mientras que un modelo de embeddings produce un solo vector por cada entrada, ya sea texto largo, una foto o una captura de pantalla de un documento
    • Los embeddings de un LLM contienen muchas representaciones superpuestas de conceptos que le permiten predecir el siguiente token, pero no rinden tan bien como los modelos de embeddings preentrenados con aprendizaje contrastivo
    • Si la otra respuesta no fue clara, aquí puedes pensar en “embedding” como “una lista que produce alguna capa de mi modelo de IA”
      Técnicamente es un concepto un poco más específico, pero en este contexto sirve. Los LLM, incluidos los LLM multimodales, sí tienen embeddings, pero no fueron entrenados para encontrar documentos similares, sino mediante generación de texto
  • Se ve bastante impresionante. Me interesa una perspectiva crítica sobre la evaluación presentada
    También me pregunto cómo se comporta con texto no inglés. ¿Entiendo bien que, como otros modelos comerciales, solo está disponible vía API?

    • Sí, los modelos de Voyage son solo por API
      Había escrito algo sobre multilingüismo, pero estaba mal, así que lo borré. Como referencia, Voyage también tiene modelos separados para law, code y finance. Ver [1]
      En cualquier caso, los resultados son realmente interesantes
      [1]: https://docs.voyageai.com/docs/embeddings
  • Es una lástima que el modelo sea comercial y privativo y solo esté disponible por API

    • ¿Es algo triste tener que pagarles sueldo a los empleados?
  • Si es un modelo solo por API, yo lo paso de largo. Igual, felicitaciones

    • Coincido con ambas partes. Claro, además de querer cobrar, hay razones perfectamente válidas para enfocarse solo en API, pero el simple hecho de no ofrecer otras opciones hace que personalmente no lo considere
  • Se ve bastante interesante. He estado trabajando en AnyModal, un framework para integrar varios tipos de datos, por ejemplo imágenes y audio, en un LLM: https://github.com/ritabratamaiti/AnyModal
    voyage-multimodal-3 parece bastante prometedor para desarrollar LLM multimodales, aunque no tengo claro si ese es su caso de uso previsto

  • En la API tradicional de Python, el motor de Voyage tokeniza bloques de texto y produce cadenas. Este modelo parece hacer eso con imágenes, vectorizándolas dentro de un espacio
    Palabras como you o apple se convierten en un solo token, mientras que términos más complejos como pikachu pueden dividirse como pik-a-chu
    [1]: https://docs.voyageai.com/docs/tokenization

  • Es interesante la forma en que observan los embeddings multimodales. Miden el cambio de rendimiento según la proporción en que la entrada va pasando gradualmente de una modalidad a otra
    https://i0.wp.com/blog.voyageai.com/wp-content/uploads/2024/...

  • En Colab miden valores de producto punto de 0.428 y 0.498 y explican que eso significa que “los valores de similitud son bastante altos”. Dudo que eso sea realmente alto
    ¿Se podría diseñar un sistema que etiquete datos con confianza usando un umbral de 0.4?

    • Los puntajes de similitud brutos importan, pero normalmente lo más importante es el puntaje relativo frente a otros documentos
      En el ejemplo del notebook, esos valores eran relativamente los más altos. Entiendo por qué puede resultar ambiguo o confuso, y lo corregiré
    • El valor bruto de salida en sí generalmente no es importante. Lo que importa es su posición dentro de la distribución de salida
    • Un 0.4 de similitud coseno no es lo mismo que un 0.4 de umbral sigmoide
      En datos reales que no sean casi duplicados, una similitud coseno de 0.4 es un valor bastante decente