SuperDuperDB: l’accès facilité aux applications d’IA
SuperDuperDB: l’accès facilité aux applications d’IA


En 2024, de nombreux observateurs prévoient que les entreprises commenceront à exploiter l’IA générative, comme GPT-4 d’OpenAI, pour développer des applications d’entreprise. Ces applications débuteront probablement avec des infrastructures simples, en associant un grand modèle de langage tel que GPT-4 à une gestion de données de base.
Elles pourraient initialement être utilisées pour des tâches simples telles que la recherche de correspondances dans du texte ou des images en langage naturel.
Une bibliothèque Python prometteuse pour cette évolution est SuperDuperDB, développée par la société de capital-risque du même nom, fondée cette année. SuperDuperDB agit comme une interface entre une base de données telle que MongoDB ou Snowflake et un grand modèle de langage ou un autre programme GenAI, et pourrait être un choix idéal pour ces applications émergentes.
Cette couche d’interface simplifie l’exécution de plusieurs opérations très basiques sur les données d’entreprise. En utilisant des requêtes en langage naturel dans une invite de discussion, il est possible d’interroger un ensemble de données d’entreprise existant, tel que des documents, de manière plus approfondie qu’il n’est possible avec une recherche par mot clé classique. On peut télécharger des images, par exemple, de produits dans une base de données d’images, puis interroger cette base de données en affichant une image et en recherchant une correspondance.
De même, les moments des vidéos peuvent être récupérés à partir d’une archive de vidéos, en saisissant des thèmes ou des fonctionnalités. Les enregistrements de messages vocaux peuvent être recherchés sous forme de transcription textuelle, créant ainsi un assistant de messagerie vocale de base.
La technologie est également utile aux data scientists et aux ingénieurs en apprentissage automatique qui souhaitent affiner les programmes d’IA à l’aide de données d’entreprise propriétaires.
Par exemple, pour « affiner » un programme d’IA tel qu’un modèle de reconnaissance d’images, il faut connecter une base de données d’images existante au programme d’apprentissage automatique. Le défi consiste à savoir comment faire entrer et sortir les données d’image du programme d’apprentissage automatique, et comment définir les variables du processus de formation, telles que la perte à minimiser. SuperDuperDB propose des appels de fonctions simples pour simplifier toutes ces choses.
Un aspect clé de bon nombre de ces fonctions est de convertir différents types de données (texte, image, vidéo, audio) en vecteurs, chaînes de nombres pouvant être comparés les uns aux autres. Cela permet à SuperDuperDB d’effectuer une « recherche de similarité », dans laquelle le vecteur d’une phrase textuelle, par exemple, est comparé à une base de données remplie de transcriptions de messages vocaux pour récupérer le message correspondant le plus à la requête.
Attention, SuperDuperDB n’est pas une base de données vectorielle comme Pinecone, un programme commercial. Il s’agit d’une forme plus simple d’organisation des vecteurs appelée « index vectoriel ».
Le programme SuperDuperDB, qui est open source, est installé comme une installation Python typique à partir de la ligne de commande ou chargé en tant que conteneur Docker prédéfini.
La première étape pour travailler avec SuperDuperDB peut consister soit à configurer un magasin de données à partir de zéro, soit à travailler avec un magasin de données externe. Dans les deux cas, vous souhaiterez disposer d’un référentiel de données tel que MongoDB ou d’une base de données SQL.
SuperDuperDB gère toutes les données, y compris les données nouvellement créées et les données extraites de la base de données, via ce qu’il appelle un « encodeur », qui permet au programmeur de définir les types de données. Ces types codés (texte, audio, image, vidéo, etc.) peuvent être stockés dans MongoDB en tant que « documents » ou dans des bases de données SQL sous forme de schéma de table. Il est également possible de stocker des éléments de données très volumineux, tels que des fichiers vidéo, dans un stockage local lorsqu’ils dépassent la capacité de MongoDB ou de la base de données SQL.
Une fois qu’un ensemble de données est choisi ou créé, les modèles de réseaux neuronaux peuvent être importés à partir de bibliothèques telles que SciKit-Learn ou on peut utiliser un inventaire intégré très basique de réseaux neuronaux tel que Transformer, le grand modèle de langage original. On peut également appeler des API de services commerciaux tels que OpenAI et Anthropic. La fonction principale consistant à faire en sorte que le modèle fasse des prédictions se fait avec un simple appel à une fonction « .predict » intégrée à SuperDuperDB.
Lorsque vous travaillez avec un grand modèle de langage ou un modèle d’image comme Stable Diffusion ou Dall-E, le réseau neuronal cherchera à récupérer les réponses de la base de données en effectuant la recherche de similarité vectorielle. C’est aussi simple que d’appeler une fonction « .like » et de lui transmettre la chaîne de requête.
Il est possible de créer des applications plus complexes en assemblant plusieurs étapes de fonctionnalités avec SuperDuperDB, par exemple en utilisant la recherche de similarité pour récupérer des éléments d’une base de données, puis en transmettant ces éléments à un réseau neuronal de classificateur.
La société a ajouté des fonctions qui font d’une application davantage un système de production. Ils incluent un service appelé Listeners qui réexécute les prédictions chaque fois que la base de données sous-jacente est mise à jour. Diverses fonctions de SuperDuperDB peuvent également être exécutées en tant que démons distincts pour améliorer les performances.
Cette année, nous verrons de grandes évolutions dans des programmes tels que SuperDuperDB, les rendant encore plus robustes à des fins de production. Vous pouvez vous attendre à ce que SuperDuperDB évolue aux côtés d’autres infrastructures émergentes importantes telles que le framework LangChain et des outils commerciaux tels que la base de données vectorielles Pinecone.
Bien qu’il y ait beaucoup de discussions ambitieuses sur l’utilisation de GenAI en entreprise, cela commence probablement ici, avec les types d’outils modestes qui peuvent être utilisés par le programmeur.
Si vous souhaitez avoir un aperçu de SuperDuperDB, rendez-vous sur la démo sur le site Web de l’entreprise. (La page peut mettre un peu de temps à se charger)






