Malgré l'éclat et le charisme de l'IA générative, les plus grandes transformations de cette nouvelle ère sont peut-être enfouies au plus profond de la pile logicielle. À l'abri des regards, les algorithmes d'IA sont en train de changer le monde, base de données par base de données. Ils bouleversent les systèmes conçus pour suivre les données mondiales dans des tableaux réguliers sans fin, en les remplaçant par des capacités d'IA plus récentes, complexes, adaptatives et apparemment intuitives. Les mises à jour interviennent à tous les niveaux de la pile de stockage des données. Les structures des bases de données sont en cours de modification. Les fournisseurs de ces systèmes transforment la manière dont nous stockons les informations pour mieux travailler avec les modèles d'IA. Le rôle de l'administrateur de base de données, autrefois statique et mécanique, évolue pour devenir plus expansif. Terminé les employés de bureau qui ne savent que lire, place aux magiciens qui lisent dans les pensées.
Voici 10 façons dont les bases de données changent, s'adaptent et s'améliorent à mesure que l'IA devient de plus en plus omniprésente.
Vecteurs et intégrations
Les développeurs d'IA aiment stocker les informations sous forme de longs vecteurs de nombres. Dans le passé, les bases de données stockaient ces valeurs sous forme de lignes, chaque nombre se trouvant dans une colonne distincte. Aujourd'hui, certaines bases de données prennent en charge les vecteurs purs, de sorte qu'il n'est pas nécessaire de diviser les informations en lignes et en colonnes. Au lieu de cela, les bases les stockent ensemble. Certains vecteurs utilisés pour le stockage comptent des centaines, voire des milliers de chiffres. Ces vecteurs sont généralement associés à des « embeddings », un schéma permettant de convertir des données complexes en une simple liste de nombres. La conception des embeddings reste un art et repose souvent sur la connaissance du domaine sous-jacent. Lorsque les embeddings sont bien conçus, les bases de données peuvent apporter un accès rapide et des requêtes complexes. Certaines entreprises comme Pinecone, Vespa, Milvus, Margo et Weaviate construisent de nouvelles bases de données spécialisées dans le stockage des vecteurs. D'autres, comme PostgreSQL, ajoutent des vecteurs à leurs outils actuels.
Modèles de requêtes
L'ajout de vecteurs aux bases de données n'est pas seulement pratique. Les dernières fonctions d'interrogation ne se contentent pas de rechercher des correspondances exactes. Elles peuvent localiser les valeurs « les plus proches », ce qui facilite la mise en œuvre de systèmes tels que les moteurs de recommandation ou la détection d'anomalies. L'intégration des données dans l'espace vectoriel simplifie les problèmes délicats de correspondance et d'association en les ramenant à une simple distance géométrique. Des bases de données vectorielles telles que Pinecone, Vespa, Milvus, Margo et Weaviate proposent des requêtes vectorielles. Certains outils inattendus comme Lucene ou Solr offrent également une correspondance de similarité qui peut donner des résultats similaires avec de grands blocs de texte non structuré.
Recommandations
Les derniers systèmes d'interrogation vectoriels semblent plus "magiques et mystérieux" que ceux de l'époque. Les anciennes requêtes recherchaient des correspondances ; ces nouvelles bases de données alimentées par l'IA donnent parfois l'impression de lire dans l'esprit de l'utilisateur. Elles utilisent en fait des recherches par similarité pour trouver des données « proches », qui correspondent souvent à ce que les utilisateurs recherchent. Les mathématiques sous-jacentes peuvent être aussi simples que la recherche de la distance dans un espace à n dimensions, mais d'une manière ou d'une autre, cela suffit pour obtenir des résultats inattendus. Ces algorithmes ont longtemps fonctionné séparément en tant qu'applications complètes, mais ils sont peu à peu intégrés dans les bases de données elles-mêmes, où ils peuvent prendre en charge des requêtes meilleures et plus complexes. Oracle n'est qu'un exemple de base de données ciblant ce marché. Cet éditeur propose depuis ainsi longtemps diverses fonctions de correspondance floue et de recherche par similarité. Aujourd'hui, il propose même directement des outils adaptés à des secteurs tels que la vente au détail en ligne.
Paradigmes d'indexation
Dans le passé, les bases de données construisaient des index simples pour accélérer la recherche par colonnes particulières. Les administrateurs de bases de données étaient habiles pour concevoir des requêtes élaborées avec des jonctions et des clauses de filtrage qui s'exécutaient plus rapidement avec les bons index. Aujourd'hui, les bases de données vectorielles sont conçues pour créer des index qui couvrent efficacement toutes les valeurs d'un vecteur. Nous commençons à peine à découvrir toutes les applications permettant de trouver des vecteurs « proches » les uns des autres. Mais ce n'est qu'un début. Lorsque l'IA est entraînée sur la base de données, elle absorbe effectivement toutes les informations qu'elle contient. Nous pouvons désormais envoyer des requêtes à l'IA en langage simple et l'IA effectuera des recherches complexes et adaptatives.
Classification des données
L'IA ne consiste pas seulement à ajouter une nouvelle structure à la base de données. Parfois, il s'agit d'ajouter une nouvelle structure à l'intérieur des données elles-mêmes. Certaines d'entre elles arrivent sous la forme d'une pile de bits désordonnés. Il peut s'agir d'images dépourvues d'annotations ou de gros blocs de texte écrits par quelqu'un il y a longtemps. Les algorithmes d'intelligence artificielle commencent à faire le ménage, à filtrer le bruit et à mettre de l'ordre dans les ensembles de données désordonnés. Ils remplissent les tableaux automatiquement. Ils peuvent classer le ton émotionnel d'un bloc de texte ou deviner l'attitude d'un visage sur une photographie. De petits détails peuvent aussi être extraits des images et les algorithmes peuvent également apprendre à détecter des modèles. Ils classent les données, extraient les détails importants et créent une vue tabulaire régulière et claire des informations. Amazon Web Services propose divers services de classification des données qui relient des outils d'intelligence artificielle comme SageMaker à des bases de données comme Aurora.
Meilleure performance
Les bonnes bases de données gèrent une grande partie des détails du stockage des données. Dans le passé, les programmeurs devaient encore passer du temps à s'occuper des divers paramètres et schémas utilisés par la base de données afin de la faire fonctionner efficacement. Le rôle d'administrateur de base de données a été créé pour gérer ces tâches. Bon nombre de ces méta-tâches de haut niveau sont désormais automatisées, souvent en utilisant des algorithmes d'apprentissage automatique pour comprendre les schémas de requête et les structures de données. Ils sont capables d'observer le trafic sur un serveur et d'élaborer un plan pour s'adapter aux demandes. Ils peuvent s'adapter en temps réel et apprendre à prédire ce dont les utilisateurs auront besoin. Oracle en est l'un des meilleurs exemples. Dans le passé, les entreprises payaient de gros salaires aux administrateurs de bases de données qui s'occupaient de leurs bases de données. Aujourd'hui, l'éditeur qualifie ses bases de données d'autonomes parce qu'elles sont dotées d'algorithmes d'intelligence artificielle sophistiqués qui ajustent les performances à la volée.
Données mieux nettoyées
Pour gérer une bonne base de données, il faut non seulement que le logiciel fonctionne, mais aussi que les données soient aussi propres et exemptes d'erreurs que possible. Les IA simplifient cette charge de travail en recherchant les anomalies, en les signalant et peut-être même en suggérant des corrections. Elles peuvent trouver des endroits où le nom d'un client est mal orthographié, puis trouver l'orthographe correcte en recherchant dans le reste des données. Ils peuvent également apprendre les formats de données entrants et ingérer les données pour produire un corpus unique et unifié, où tous les noms, dates et autres détails sont rendus de la manière la plus cohérente possible. Le serveur SQL de Microsoft est un exemple de base de données étroitement intégrée aux services de qualité des données pour nettoyer les données présentant des problèmes tels que des champs manquants ou des dates en double.
Détection de fraudes
La création d'un stockage de données plus sûr est une application particulière de l'apprentissage automatique. Certains utilisent des algorithmes d'apprentissage automatique pour rechercher des anomalies dans leur flux de données, car celles-ci peuvent être un bon indice de fraude. Une personne se rend t'elle pour la première fois à un distributeur automatique de billets tard dans la nuit ? A-t-elle déjà utilisé une carte de crédit sur ce continent ? Les algorithmes d'intelligence artificielle peuvent repérer les lignes dangereuses et transformer une base de données en un système de détection des fraudes. Les services Web de Google, par exemple, offrent plusieurs options pour intégrer la détection des fraudes dans votre système de stockage de données.
Sécurité renforcée
Certaines entreprises appliquent ces algorithmes en interne. Les IA n'essaient pas seulement d'optimiser la base de données en fonction des schémas d'utilisation ; elles recherchent également des cas inhabituels qui pourraient indiquer que quelqu'un est en train de s'introduire dans la base de données. Ce n'est pas tous les jours qu'un utilisateur distant demande des copies complètes de tables entières. Une bonne IA peut sentir quelque chose de louche. Guardium Security d'IBM est un exemple d'outil intégré aux couches de stockage des données pour contrôler l'accès et surveiller les anomalies.
Fusionner la base de données et l'IA générative
Dans le passé, les IA étaient indépendantes de la base de données. Au moment de former le modèle, les données étaient extraites de la base de données, reformatées, puis introduites dans l'IA. Les nouveaux systèmes entraînent le modèle directement à partir des données en place. Cela permet d'économiser du temps et de l'énergie pour les travaux les plus importants, où le simple déplacement des données peut prendre des jours ou des semaines. Cela simplifie également la vie des équipes de développement en rendant l'entraînement d'un modèle d'IA aussi simple que l'émission d'une commande. Il est même question de remplacer entièrement la base de données. Au lieu d'envoyer la requête à une base de données relationnelle, ils l'enverront directement à une IA qui répondra comme par magie aux requêtes dans n'importe quel format. Google propose Bard et Microsoft met en avant ChatGPT. Tous deux sont de sérieux candidats au remplacement du moteur de recherche. Il n'y a aucune raison pour qu'ils ne remplacent pas également la base de données traditionnelle.
Cette approche présente toutefois des inconvénients. Dans certains cas, les IA ont des hallucinations et donnent des réponses carrément fausses. Dans d'autres cas, elles peuvent changer le format de leurs résultats sur un coup de tête. Mais lorsque le domaine est suffisamment limité et que l'ensemble de formation est profond et complet, l'intelligence artificielle peut fournir des résultats satisfaisants. Et elle le fait sans avoir à définir des structures tabulaires et à forcer l'utilisateur à écrire des requêtes pour trouver des données à l'intérieur de ces structures. Le stockage et la recherche de données avec l'IA générative peuvent être plus flexibles pour les utilisateurs et les créateurs.