Le traitement de l’intelligence artificielle (IA) repose sur l’utilisation de données vectorisées. En d’autres termes, l’IA transforme des informations du monde réel en données exploitables pour obtenir des insights, effectuer des recherches et manipuler des données.

Les bases de données vectorielles jouent un rôle central dans ce processus, car c’est ainsi que les données générées par la modélisation IA sont stockées et accessibles lors de l’inférence IA.

Dans cet article, nous allons explorer les bases de données vectorielles et l’utilisation des données vectorielles dans l’IA et l’apprentissage automatique. Nous aborderons les données de haute dimension, l’incorporation vectorielle, les défis de stockage des données vectorielles et les fournisseurs proposant des produits de bases de données vectorielles.

Qu’est-ce que les données de haute dimension ?

Les données vectorielles constituent un sous-type de données dites de haute dimension. Pour simplifier, il s’agit de données où le nombre de caractéristiques ou de valeurs d’un point de données dépasse largement le nombre d’échantillons ou de points de données collectés.

Historiquement, les données de basse dimension, c’est-à-dire avec peu de valeurs pour chaque point de données, étaient plus courantes. Les données de haute dimension émergent avec la capacité de capturer de grandes quantités d’informations. L’IA contemporaine, qui traite la parole ou les images avec de nombreux attributs et contextes possibles, en est un bon exemple.

Qu’est-ce qu’un vecteur ?

Les vecteurs sont l’un des nombreux types de données où les quantités sont représentées par des arrangements simples ou plus complexes de nombres.

En mathématiques, un scalaire est un nombre unique, comme 5 ou 0,5, tandis qu’un vecteur est un tableau unidimensionnel de nombres, tel que [0,5, 5]. Une matrice étend cela à deux dimensions, par exemple :

[[[0,5, 5],

 [5, 0,5],

 [0,5, 5]].

Enfin, les tenseurs étendent ce concept à trois dimensions ou plus. Un tenseur 3D pourrait représenter des couleurs dans une image (basé sur des valeurs pour le rouge, le vert et le bleu), tandis qu’un tenseur 4D pourrait ajouter la dimension du temps en enchaînant ou en empilant des tenseurs 3D dans le cadre d’une vidéo.

Les tenseurs ajoutent des dimensions supplémentaires et sont des tableaux multidimensionnels de nombres capables de représenter des données complexes. C’est pourquoi ils sont largement utilisés dans les frameworks d’IA, d’apprentissage automatique et d’apprentissage profond tels que TensorFlow et PyTorch.

Qu’est-ce que l’incorporation vectorielle ?

Dans le domaine de l’IA, les tenseurs sont utilisés pour stocker et manipuler des données. Les frameworks basés sur les tenseurs fournissent des outils pour créer des tenseurs et effectuer des calculs sur ceux-ci.

Par exemple, une requête ChatGPT formulée en langage naturel est analysée et traitée pour en extraire le sens des mots, le contexte sémantique, etc., puis représentée sous forme de tenseur multidimensionnel. En d’autres termes, le sujet du monde réel est converti en une forme sur laquelle des opérations mathématiques peuvent être effectuées. Cela s’appelle l’incorporation vectorielle.

Pour obtenir des réponses à la requête, le résultat numérique (bien que complexe) de l’analyse et du traitement peut être comparé aux représentations basées sur des tenseurs de données existantes – c’est-à-dire des données déjà incorporées vectoriellement – et une réponse peut être fournie. Ce concept de base – ingérer et représenter ; comparer et répondre – peut être appliqué à tout cas d’utilisation de l’IA, comme les images ou le comportement des acheteurs.

Qu’est-ce qu’une base de données vectorielle ?

Les bases de données vectorielles stockent des données vectorielles de haute dimension. Les points de données sont regroupés en fonction de leur similarité.

Les bases de données vectorielles offrent la rapidité et la performance nécessaires pour les cas d’utilisation de l’IA générative. Selon Gartner, d’ici 2026, plus de 30 % des entreprises auront adopté des bases de données vectorielles pour construire des modèles fondamentaux avec des données commerciales pertinentes.

Alors que les bases de données relationnelles traditionnelles sont organisées en lignes et colonnes, les points de données dans une base de données vectorielle prennent la forme de vecteurs dans plusieurs dimensions. Les bases de données traditionnelles représentent des données structurées classiques, où chaque colonne représente une variable et chaque ligne une valeur correspondante.

En revanche, les bases de données vectorielles peuvent gérer des valeurs qui existent le long de multiples continuités représentées par des vecteurs. Elles ne sont donc pas limitées à des variables prédéfinies, mais peuvent représenter des caractéristiques que l’on pourrait considérer comme des données non structurées – nuances de couleurs, agencement de pixels dans une image et ce qu’ils peuvent représenter lorsqu’ils sont interprétés dans leur ensemble, par exemple.

Il est possible de transformer des sources de données non structurées en une base de données relationnelle traditionnelle pour les préparer à l’IA, mais cela n’est pas une tâche triviale.

La différence est évidente dans la recherche sur les bases de données traditionnelles et vectorielles. Dans une base de données SQL, vous recherchez des valeurs explicites et définies, telles que des mots-clés ou des valeurs numériques, en vous appuyant sur des correspondances exactes pour obtenir les résultats souhaités.

La recherche vectorielle représente les données de manière moins précise. Il peut ne pas y avoir de correspondance exacte, mais si elle est modélisée efficacement, elle renverra des résultats en rapport avec ce qui est recherché, pouvant résulter de motifs et de relations cachés qu’une base de données traditionnelle ne pourrait pas inférer.

Quels sont les défis de stockage des bases de données vectorielles ?

La modélisation IA implique l’écriture d’incorporations vectorielles dans une base de données vectorielle pour de très grandes quantités de données souvent non mathématiques, comme des mots, des sons ou des images. L’inférence IA compare ensuite les données incorporées vectoriellement à l’aide du modèle et des requêtes nouvellement fournies.

Cela est réalisé par des processeurs à très haute performance, notamment par des unités de traitement graphique (GPU) qui déchargent une grande quantité de traitement des CPU des serveurs.

Les bases de données vectorielles peuvent être soumises à des demandes d’entrée/sortie extrêmes – en particulier lors de la modélisation – et devront avoir la capacité de se développer massivement et potentiellement offrir la portabilité des données entre différents emplacements pour permettre un traitement optimal.

Les bases de données vectorielles peuvent être indexées pour accélérer les recherches et mesurer la distance entre les vecteurs afin de fournir des résultats basés sur la similarité.

Cela facilite des tâches telles que les systèmes de recommandation, la recherche sémantique, la reconnaissance d’images et les tâches de traitement du langage naturel.

Qui fournit des bases de données vectorielles ?

Les produits de bases de données propriétaires et open source incluent ceux de DataStax, Elastic, Milvus, Pinecone, Singlestore et Weaviate.

Il existe également des extensions de recherche de bases de données vectorielles pour des bases de données existantes, telles que pgvector de PostgreSQL, la recherche vectorielle dans Apache Cassandra et la capacité de base de données vectorielle dans Redis.

Des plateformes intégrant des capacités de bases de données vectorielles, comme IBM watsonx.data, sont également disponibles.

Par ailleurs, les fournisseurs de cloud hyperscale – AWS, Google Cloud et Microsoft Azure – proposent des bases de données vectorielles et des recherches dans leurs propres offres ainsi que celles de tiers via leurs marketplaces.

Show Comments (0)
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *