La base vectorielle : cette brique peu connue pourtant au coeur de l'IA générative

La base vectorielle : cette brique peu connue pourtant au coeur de l'IA générative Texte, image, vidéo... Elle encode les données non-structurées qui serviront ensuite à entraîner les modèles de fondation. C'est aussi le socle de la recherche intelligente.

Les bases de données vectorielles représentent une pièce maîtresse de l'IA générative. Elles contribuent à formater les données qui permettent d'entraîner les modèles de fondation, que ce soient les large language model (LLM), ou les modèles de génération d'images ou de vidéos. 

Par définition, l'IA générative traite des données dites non-structurées : texte, code applicatif, image, son, vidéo... Des informations qui, à la différence des contenus chiffrés, sont dénuées de tout référentiel pour la machine. La base vectorielle va permettre d'attribuer un vecteur à chaque mot, chaque image, chaque son. Une sorte de numéro d'identification. C'est le socle de ce que l'on appelle l'embedding en IA générative. Une phase préalable à l'étape d'entraînement du modèle de machine learning.

"La distance des vecteurs correspondant à deux mots représente la fréquence de leur présence simultanée dans tout le web sémantique", explique Didier Gaultier, directeur data science & AI au sein de l'ESN Business & Decision (groupe Orange). Un vecteur sera généralement représenté par une suite de mille nombres représentant chacun une dimension. Ce qui permet au total d'obtenir toutes les distances entre tous les mots d'une langue. C'est un premier dispositif, central, auquel le modèle fera appel pour calculer son espace multidimensionnel.

Conceptualiser les espaces de contexte

Autre application centrale des bases vectorielles, elles permettent de créer des espaces de contexte. "Un vecteur sera par exemple associé à une phrase qui comptera évidemment beaucoup plus de 1000 dimensions", poursuit Didier Gaultier. "On pourra ainsi vectoriser n'importe quelle phrase ou texte par le biais d'un vecteur associé à sa signification." C'est le principe même des LLM. Ils vont pouvoir calculer la signification d'une phrase en l'associant à une position dans un espace multidimensionnel gigantesque.

"L'objectif est de définir la galaxie de mots la plus probable par rapport au prompt saisi, et ainsi de calculer la réponse à apporter"

Idem dans le domaine des images. Un modèle d'images va associer les représentations glanées sur internet avec des significations sémantiques qui seront également vectorisées. "Partant de là, le modèle sera capable de dénicher les images qui correspondent le mieux à la demande signifiée par l'utilisateur", souligne Didier Gaultier. "Si vous demandez à Dall-E de générer une image avec la fusée de Tintin qui sort d'une pipe, il va commencer par vectoriser ces deux concepts puis dénicher dans sa base les vecteurs les plus proches avant de les combiner entre eux pour générer un cliché unique."

En bout de course, les fameux transformeurs sont taillés pour analyser les vecteurs de contexte les plus proches du prompt saisi par l'utilisateur, prompt qui sera pour l'occasion lui-même traduit en vecteur. "L'objectif est au final de définir la galaxie de mots la plus probable par rapport au prompt saisi, et ainsi de calculer la réponse à apporter", synthétise Didier Gaultier. 

Autre cas d'usage célèbre de la base de données vectorielles, elle pourra être utilisée pour pratiquer du retrieval augmented generation. Une technique qui permet d'injecter de nouveaux contenus dans la base par le biais d'invites. Ce qui présente pour avantage d'éviter de réentraîner le modèle. Une fois cette tâche réalisée, ce dernier pourra ensuite glaner directement ses réponses au sein des contenus ainsi injectés, le tout en sourçant les résultats. Une traçabilité qui ne manque pas d'intérêt.

Tous les hyperscaler sur les rangs

Historiquement, Pinecone est l'une des bases de données vectorielles les plus utilisées. Il s'agit d'une solution propriétaire robuste conçue pour gérer des volumes de données et de documents massifs avec à la clé des indices complexes. "Des librairies open source de stockage vectoriel comme Faiss peuvent largement suffire pour un grand nombre de cas d'usage. Ce qui permettra par la même occasion de réduire la facture du projet", souligne Alexander Mikheev, data Science tech lead au sein du cabinet de conseil digital Saegus. Si le projet implique de bénéficier de transparence sur les solutions utilisées, on pourra se tourner vers des bases de vecteurs open source comme Weaviate ou Milvus. De nombreuses autres solutions sont disponibles sur le marché, au premier rang desquelles LanceDB, Marqo, VectorFlow ou Vespa.

Les acteurs historiques de la base de données se pressent aussi au portillon. La plupart ont lancé des déclinaisons vectorielles de leurs offres. C'est le cas d'Oracle, de MongoDB ou encore de PostgreSQL sur le segment du relationnel, mais également de Neo4J dans les bases de graph. "Idem pour Redis. Cette base de données exécutée en mémoire constituera une solution de choix pour gagner en performance", salue Alexander Mikheev. Du côté des clouds, Microsoft propose Azure AI Search et Azure ComosDB, et Google commercialise Vector Search. "Quant aux solutions de Microsoft, elles présentent l'avantage d'être intégrées à Azure OpenAI ce qui facilite l'intégration des Embedding avec le modèle GPT-4", reconnaît Alexander Mikheev. "Google Vector Search impliquera un peu plus d'interventions manuelles pour être associé aux modèles." Quant à Amazon Web Services, il n'est pas en reste. Le géant de Seattle met en avant Amazon OpenSearch. Un moteur de recherche vectoriel utilisable comme base de vecteurs.