voyage-multimodal-3, présenté par Voyage AI, est un modèle destiné au RAG et à la recherche sémantique qui permet d’interroger des bases de connaissances mêlant texte et images avec un seul modèle d’embedding- Son principal facteur de différenciation est sa capacité à vectoriser sans parsing de documents des contenus où la mise en page est importante, comme les PDF, les diapositives, les tableaux, les figures et les captures d’écran de documents
- Pour réduire les limites des modèles de type CLIP dans la recherche multimodale mixte, il traite le texte et l’information visuelle dans le même encodeur Transformer, en préservant les relations contextuelles des entrées mêlant plusieurs modalités
- Sur 20 jeux de données de recherche multimodale, il a affiché une précision de recherche moyenne 19,63 % supérieure à celle du modèle d’embedding multimodal suivant le plus performant, et il devance aussi OpenAI v3 large sur 34 jeux de données de recherche textuelle
- À mesure que la proportion de captures d’écran augmente, la qualité des modèles basés sur CLIP diminue, tandis que
voyage-multimodal-3subit peu de dégradation sur toute la plage, ce qui le rend pratique pour les pipelines de recherche basés sur des captures d’écran
Les cas d’usage visés par voyage-multimodal-3
voyage-multimodal-3est le premier modèle d’embedding multimodal de Voyage AI, conçu pour le RAG et la recherche sémantique dans des bases de connaissances riches en contenus visuels et textuels- Il accepte en entrée du texte et des images riches en contenu ; les exemples typiques incluent :
- des captures d’écran de texte
- des figures et des tableaux
- des captures d’écran de PDF
- des présentations de diapositives
- d’autres images de documents
- Les vecteurs générés reflètent non seulement le sens du texte, mais aussi des caractéristiques visuelles comme la taille de police, la position du texte et les marges
- Pour les documents à mise en page complexe ou mêlant figures et photos, le parsing heuristique peut poser des problèmes de précision ; le modèle adopte donc une approche consistant à transformer directement l’écran d’origine en vecteur de recherche
- Des exemples de fonctionnalités sont disponibles dans le sample notebook
Une méthode d’embedding différente de la famille CLIP
- Les modèles d’embedding multimodaux existants comme Amazon Titan Multimodal G1, Google Vertex AI multimodal et Cohere multimodal v3 utilisent une architecture basée sur OpenAI CLIP
- Les architectures de type CLIP traitent les différentes modalités via des réseaux indépendants
- Les images sont vectorisées via une vision tower
- Le texte est vectorisé via une text tower
- Avec cette architecture, il est difficile de traiter en une seule fois des entrées mêlant texte et images
voyage-multimodal-3vectorise directement les deux modalités dans le même encodeur Transformer- Le texte et les caractéristiques visuelles ne sont pas traités comme des composants séparés, mais comme des parties d’une représentation unifiée
- Il s’agit d’une application à la vectorisation, plutôt qu’à la génération, de l’architecture des modèles vision-langage récents
- Cela permet d’intégrer dans les vecteurs les relations contextuelles entre informations visuelles et textuelles pour du texte et des images mélangés, des captures d’écran de documents, des PDF complexes ou des images annotées
Les différences observées dans la recherche mêlant des captures d’écran
- Les modèles proches de CLIP peuvent voir leurs performances diminuer en recherche multimodale mixte à cause du modality gap
- Dans l’exemple, le vecteur le plus proche du fragment de texte « I address you, members of the Seventy-Seventh Congress… » n’était pas la capture d’écran correspondante, mais un autre texte
- Ce phénomène entraîne un biais de recherche où un vecteur texte se retrouve plus proche d’éléments non pertinents de la même modalité que d’images pertinentes
- Voyage AI a mis en place une expérience quantitative à partir de la documentation PyTorch
- Un ensemble de documents au contenu identique a été créé à la fois sous forme de chaînes de texte ordinaires et de captures d’écran
- Un jeu de données multimodal mixte a été constitué en mélangeant une partie des documents textuels et des captures d’écran des documents restants
- La proportion de captures d’écran a été réglée de 0 % à 100 %
- Chaque modèle a récupéré les 10 premiers résultats par similarité cosinus et a été évalué avec NDCG@10
- Pour les modèles basés sur CLIP, la qualité de recherche a diminué à mesure que la proportion de captures d’écran montait jusqu’à 90 %, et elle restait faible même lorsque tout le texte était converti en images
voyage-multimodal-3a obtenu les meilleures performances à toutes les proportions, avec une dégradation globale quasi inexistante- Ce résultat montre sa capacité à intégrer l’information sémantique contenue dans les captures d’écran et la robustesse de l’approche consistant à traiter toutes les modalités d’entrée avec le même backbone
Jeux de données d’évaluation et modèles comparés
- L’évaluation multimodale a été menée sur 3 tâches, pour un total de 20 jeux de données
- Recherche de tableaux/figures : charxiv, mmtab-test, ChartQA, Chartve, FintabnetQA, PlotQA
- Recherche dans des captures d’écran de documents : Energy, Healthcare Industry, Artificial Intelligence, Government Report, InfoVQA, DocVQA, ArxivQA, TabFQuad, TAT-DQA, Shift Project du benchmark ViDoRe
- Recherche texte-photo : meme-cap, mm-imdb, winoground, docci
- L’évaluation standard de recherche textuelle a été menée sur 34 jeux de données dans 6 domaines, dont le droit, la finance, la conversation, le code, le web et la technique
- Dans tous les jeux de données, les requêtes sont textuelles, tandis que les documents peuvent être des figures, des photos, du texte, des captures d’écran de documents ou une combinaison de ces éléments
- Les modèles comparés pour les tâches multimodales sont les suivants :
- OpenAI CLIP large (
clip-vit-large-patch14-336) - Amazon Titan Multimodal Embeddings G1 (
amazon.titan-embed-image-v1) - Cohere multimodal v3 (
embed-multimodal-v3.0) - SigLIP So400M (
siglip-so400m-patch14-384) - ColQwen2 v0.1 (
colqwen-v0.1)
- OpenAI CLIP large (
- Pour la recherche textuelle standard, il est comparé à OpenAI v3 large (
text-embeddings-3-large), Cohere multimodal/English 1 v3 etvoyage-3 - Comme Cohere multimodal v3 utilise Cohere English v3 (
embed-english-v3.0) comme text tower pour le texte pur, seul le libellé « Cohere multimodal v3 » est utilisé dans les graphiques afin d’éviter toute confusion
Résultats de précision de recherche
- Sur l’ensemble des 20 jeux de données de recherche multimodale,
voyage-multimodal-3a enregistré une précision de recherche moyenne 19,63 % supérieure à celle du modèle d’embedding multimodal suivant le plus performant - En recherche de tableaux/figures, il devance OpenAI CLIP large, Amazon Titan Multimodal G1, Cohere multimodal v3, SigLIP So400M et ColQwen2 v0.1 de respectivement 41,44 %, 45,00 %, 43,37 %, 20,66 % et 6,14 %
- En recherche dans des captures d’écran de documents, il affiche des performances supérieures aux mêmes modèles de respectivement 26,54 %, 37,68 %, 25,84 %, 35,62 % et 0,98 %
- En recherche texte-photo, il devance ces mêmes modèles de respectivement 6,55 %, 5,16 %, 5,86 %, 3,42 % et 10,34 %
- En recherche textuelle standard, il surpasse OpenAI v3 large de 5,13 % et Cohere multimodal/English 1 v3 de 13,70 %
- La précision de recherche sur des documents en texte pur est supérieure de 0,05 % à celle de
voyage-3, ce qui place les deux modèles à un niveau quasiment équivalent - L’ensemble des résultats d’évaluation est publié dans une feuille de calcul
Démarrage et ressources disponibles
voyage-multimodal-3est disponible depuis le jour de son annonce publique- Les 200 premiers millions de tokens sont gratuits
- Les ressources pour démarrer sont disponibles dans le sample notebook et la documentation
- Les utilisateurs intéressés par le fine-tuning de modèles d’embedding peuvent contacter
contact@voyageai.com
1 commentaires
Avis sur Hacker News
Le constat central est simple et intuitif : tous les modèles de la famille CLIP fonctionnent mal en recherche multimodale mixte à cause du fossé entre modalités (modality gap)
Par exemple, le vecteur le plus proche d’une phrase comme « I address you, members of the Seventy-Seventh Congress… » n’est pas la capture d’écran correspondante, mais un autre texte. Dans l’espace d’embedding, le vecteur de texte se retrouve donc plus proche d’un texte sans rapport que de l’image pertinente, ce qui biaise les résultats de recherche vers la même modalité
S’il existe un espace latent capable de regrouper une même idée, qu’elle soit exprimée visuellement ou textuellement, ce serait assez impressionnant. Cela dit, je pense que ce benchmark adopte une vision assez étroite des embeddings multimodaux. Il est pratique que les images de texte et les embeddings de texte liés soient proches, mais il est difficile d’en déduire que cela s’étendrait à la pertinence entre différentes représentations visuelles, comme « rabbit » et une photo de lapin. Pour l’objectif plus restreint de l’indexation d’images de documents, d’autres techniques pourraient probablement très bien fonctionner. Cela semble être une bonne occasion de créer un nouveau jeu de données de benchmark pour les représentations conceptuelles multimodales au-delà du support textuel
Si ce domaine vous intéresse, notre projet, qui utilise ColPali de manière transparente en interne, pourrait aussi être une option à considérer
https://github.com/tjmlabs/ColiVara
Le principal benchmark dans ce domaine est le classement Vidore, et j’aimerais voir où se situe VoyageAI par rapport à des implémentations open source plus ouvertes
J’ai l’impression de passer à côté de quelque chose. Tout LLM « nativement multimodal » ne devrait-il pas inclure d’une façon ou d’une autre des embeddings multimodaux ?
Par exemple, l’article de blog de Google sur Gemini explique que les modèles multimodaux existants entraînaient séparément des composants pour différentes modalités avant de les assembler, tandis que Gemini a été préentraîné dès le départ sur plusieurs modalités, puis affiné avec des données multimodales supplémentaires. Ils affirment ainsi qu’il comprend et raisonne naturellement sur toutes sortes d’entrées dès le départ
La distinction à faire ici est que les embeddings de tokens et les vecteurs/embeddings produits par un modèle d’embedding sont des concepts liés, mais distincts. Les nombreux embeddings de tokens, un par token, sont contextualisés en passant dans le Transformer, tandis qu’un modèle d’embedding produit un seul vecteur par entrée, qu’il s’agisse d’un long texte, d’une photo ou d’une capture d’écran de document
Techniquement, c’est un concept un peu plus précis, mais dans ce contexte, c’est correct. Les LLM, y compris les LLM multimodaux, ont bien des embeddings, mais ce ne sont pas des embeddings entraînés pour trouver des documents similaires : ce sont des embeddings appris via la génération de texte
Cela semble assez impressionnant. Je serais curieux d’avoir un regard critique sur l’évaluation présentée
Je me demande aussi ce que cela donne avec du texte non anglais. Est-il correct de comprendre que, comme d’autres modèles commerciaux, celui-ci n’est disponible que via une API ?
J’avais écrit quelque chose sur le multilingue, mais c’était faux, donc je l’ai supprimé. Pour référence, Voyage propose aussi des modèles distincts
law,codeetfinance. Voir [1]Quoi qu’il en soit, les résultats sont vraiment intéressants
[1]: https://docs.voyageai.com/docs/embeddings
Dommage que le modèle soit commercial et propriétaire, et uniquement disponible via API
S’il s’agit d’un modèle uniquement via API, je passe mon tour. Félicitations quand même
Cela semble assez intéressant. Je travaille sur AnyModal, un framework pour intégrer plusieurs types de données, par exemple des images et de l’audio, dans les LLM : https://github.com/ritabratamaiti/AnyModal
voyage-multimodal-3 semble plutôt prometteur pour le développement de LLM multimodaux, même si je ne sais pas vraiment si c’est le cas d’usage visé
Dans l’API Python traditionnelle, le moteur Voyage tokenise des blocs de texte et produit des chaînes. Ce modèle semble faire quelque chose d’équivalent en vectorisant les images dans l’espace
Des mots comme
yououappledeviennent un seul token, tandis que des termes plus complexes commepikachupeuvent être découpés enpik-a-chu[1]: https://docs.voyageai.com/docs/tokenization
Leur façon d’aborder les embeddings multimodaux est intéressante. Ils mesurent l’évolution des performances selon la proportion d’entrées qui passent progressivement d’une modalité à une autre
https://i0.wp.com/blog.voyageai.com/wp-content/uploads/2024/...
Dans le Colab, ils mesurent des produits scalaires de 0,428 et 0,498 et les décrivent comme des « valeurs de similarité assez élevées ». Je me demande si ce sont vraiment des valeurs élevées
Peut-on concevoir un système qui étiquette les données avec confiance avec un seuil de 0,4 ?
Dans l’exemple du notebook, ces valeurs étaient les plus élevées relativement aux autres. Je comprends pourquoi cela peut être flou ou déroutant, et je vais le corriger
Sur des données réelles qui ne sont pas des doublons presque identiques, une similarité cosinus de 0,4 est une valeur plutôt correcte