10 bases de données prenant en charge l’apprentissage automatique dans la base de données
Dans mon article d’octobre 2022, Comment choisir une plateforme d’apprentissage automatique dans le cloud, ma première ligne directrice pour choisir une plateforme était : Soyez proche de vos données. Garder le code près des données est nécessaire pour maintenir la latence faible, car la vitesse de la lumière limite les vitesses de transmission. Après tout, l’apprentissage automatique, en particulier l’apprentissage en profondeur, a tendance à parcourir toutes vos données plusieurs fois (chaque fois s’appelle une époque).
Le cas idéal pour les ensembles de données très volumineux consiste à créer le modèle là où les données résident déjà, de sorte qu’aucune transmission de données en masse ne soit nécessaire. Plusieurs bases de données le supportent dans une mesure limitée. La prochaine question naturelle est de savoir quelles bases de données prennent en charge l’apprentissage automatique interne et comment le font-elles ? Je vais discuter de ces bases de données par ordre alphabétique.
Redshift d’Amazon
Amazon Redshift est un service d’entrepôt de données géré à l’échelle du pétaoctet conçu pour simplifier et rentabiliser l’analyse de toutes vos données à l’aide de vos outils d’informatique décisionnelle existants. Il est optimisé pour des ensembles de données allant de quelques centaines de gigaoctets à un pétaoctet ou plus et coûte moins de 1 000 $ par téraoctet par an.
Amazon Redshift ML est conçu pour permettre aux utilisateurs SQL de créer, former et déployer facilement des modèles d’apprentissage automatique à l’aide de commandes SQL. La commande CREATE MODEL dans Redshift SQL définit les données à utiliser pour la formation et la colonne cible, puis transmet les données à Amazon SageMaker Autopilot pour la formation via un compartiment Amazon S3 chiffré dans la même zone.
Après l’entraînement AutoML, Redshift ML compile le meilleur modèle et l’enregistre en tant que fonction SQL de prédiction dans votre cluster Redshift. Vous pouvez ensuite appeler le modèle pour l’inférence en appelant la fonction de prédiction dans une instruction SELECT.
Résumé : Redshift ML utilise SageMaker Autopilot pour créer automatiquement des modèles de prédiction à partir des données que vous spécifiez via une instruction SQL, qui est extraite dans un compartiment S3. La meilleure fonction de prédiction trouvée est enregistrée dans le cluster Redshift.
BlazingSQL
BlazingSQL est un moteur SQL accéléré par GPU construit au-dessus de l’écosystème RAPIDS ; il existe en tant que projet open-source et service payant. RAPIDS est une suite de bibliothèques logicielles et d’API open source, incubée par Nvidia, qui utilise CUDA et est basée sur le format de mémoire colonnaire Apache Arrow. CuDF, qui fait partie de RAPIDS, est une bibliothèque GPU DataFrame de type Pandas pour charger, joindre, agréger, filtrer et autrement manipuler des données.
Dask est un outil open source qui peut adapter les packages Python à plusieurs machines. Dask peut distribuer des données et des calculs sur plusieurs GPU, soit dans le même système, soit dans un cluster à plusieurs nœuds. Dask s’intègre à RAPIDS cuDF, XGBoost et RAPIDS cuML pour l’analyse de données accélérée par GPU et l’apprentissage automatique.
Résumé : BlazingSQL peut exécuter des requêtes accélérées par GPU sur des lacs de données dans Amazon S3, transmettre les DataFrames résultants à cuDF pour la manipulation des données, et enfin effectuer un apprentissage automatique avec RAPIDS XGBoost et cuML, et un apprentissage en profondeur avec PyTorch et TensorFlow.
Brytlyt
Brytlyt est une plate-forme dirigée par un navigateur qui active l’IA dans la base de données avec des capacités d’apprentissage en profondeur. Brytlyt combine une base de données PostgreSQL, PyTorch, Jupyter Notebooks, Scikit-learn, NumPy, Pandas et MLflow dans une seule plate-forme sans serveur qui sert de trois produits accélérés par GPU : une base de données, un outil de visualisation de données et un outil de science des données qui utilise des cahiers.
Brytlyt se connecte à n’importe quel produit doté d’un connecteur PostgreSQL, y compris les outils de BI tels que Tableau et Python. Il prend en charge le chargement et l’ingestion de données à partir de fichiers de données externes tels que les fichiers CSV et de sources de données SQL externes prises en charge par les wrappers de données étrangères PostgreSQL (FDW). Ces derniers incluent Snowflake, Microsoft SQL Server, Google Cloud BigQuery, Databricks, Amazon Redshift et Amazon Athena.
En tant que base de données GPU avec traitement parallèle des jointures, Brytlyt peut traiter des milliards de lignes de données en quelques secondes. Brytlyt a des applications dans les télécommunications, la vente au détail, le pétrole et le gaz, la finance, la logistique, l’ADN et la génomique.
Résumé : Avec PyTorch et Scikit-learn intégrés, Brytlyt peut prendre en charge à la fois l’apprentissage en profondeur et des modèles d’apprentissage automatique simples exécutés en interne sur ses données. La prise en charge du GPU et le traitement parallèle signifient que toutes les opérations sont relativement rapides, bien que la formation de modèles complexes d’apprentissage en profondeur sur des milliards de lignes prendra bien sûr un certain temps.
Google Cloud Big Query
BigQuery est un entrepôt de données géré par Google Clouds à l’échelle du pétaoctet qui vous permet d’effectuer des analyses sur de grandes quantités de données en temps quasi réel. BigQuery ML vous permet de créer et d’exécuter des modèles de machine learning dans BigQuery à l’aide de requêtes SQL.
BigQuery ML prend en charge la régression linéaire pour les prévisions ; régression logistique binaire et multi-classes pour la classification ; K-means clustering pour la segmentation des données ; factorisation matricielle pour créer des systèmes de recommandation de produits ; séries chronologiques pour effectuer des prévisions de séries chronologiques, y compris les anomalies, la saisonnalité et les jours fériés ; Modèles de classification et de régression XGBoost ; Réseaux de neurones profonds basés sur TensorFlow pour les modèles de classification et de régression ; Tableaux AutoML ; et importation de modèle TensorFlow. Vous pouvez utiliser un modèle avec des données provenant de plusieurs ensembles de données BigQuery pour l’entraînement et la prédiction. BigQuery ML n’extrait pas les données de l’entrepôt de données. Vous pouvez effectuer une ingénierie de caractéristiques avec BigQuery ML à l’aide de la clause TRANSFORM dans votre instruction CREATE MODEL.
Résumé : BigQuery ML apporte une grande partie de la puissance de Google Cloud Machine Learning dans l’entrepôt de données BigQuery avec la syntaxe SQL, sans extraire les données de l’entrepôt de données.
Entrepôt IBM Db2
IBM Db2 Warehouse on Cloud est un service cloud public géré. Vous pouvez également configurer IBM Db2 Warehouse sur site avec votre propre matériel ou dans un cloud privé. En tant qu’entrepôt de données, il comprend des fonctionnalités telles que le traitement des données en mémoire et des tables en colonnes pour le traitement analytique en ligne. Sa technologie Netezza fournit un ensemble robuste d’analyses conçues pour apporter efficacement la requête aux données. Une gamme de bibliothèques et de fonctions vous aide à obtenir les informations précises dont vous avez besoin.
Db2 Warehouse prend en charge l’apprentissage automatique dans la base de données en Python, R et SQL. Le module IDAX contient des procédures stockées analytiques, y compris l’analyse de la variance, les règles d’association, la transformation des données, les arbres de décision, les mesures de diagnostic, la discrétisation et les moments, le clustering K-means, les k-plus proches voisins, la régression linéaire, la gestion des métadonnées, la classification nave Bayes, la principale analyse des composants, distributions de probabilité, échantillonnage aléatoire, arbres de régression, modèles et règles séquentiels, et statistiques paramétriques et non paramétriques.
Résumé : IBM Db2 Warehouse comprend un large éventail d’analyses SQL dans la base de données qui incluent certaines fonctionnalités d’apprentissage automatique de base, ainsi qu’une prise en charge dans la base de données pour R et Python.
Kinetica
Kinetica Streaming Data Warehouse combine l’analyse des données historiques et en continu avec l’intelligence de localisation et l’IA sur une seule plateforme, le tout accessible via API et SQL. Kinetica est une base de données très rapide, distribuée, en colonnes, optimisée par mémoire et accélérée par GPU, avec des fonctionnalités de filtrage, de visualisation et d’agrégation.
Kinetica intègre des modèles et des algorithmes d’apprentissage automatique à vos données pour des analyses prédictives en temps réel à grande échelle. Il vous permet de rationaliser vos pipelines de données et le cycle de vie de vos analyses, modèles d’apprentissage automatique et ingénierie des données, et de calculer des fonctionnalités avec le streaming. Kinetica fournit une solution de cycle de vie complet pour l’apprentissage automatique accéléré par les GPU : blocs-notes Jupyter gérés, formation de modèles via RAPIDS et déploiement et inférence de modèles automatisés dans la plate-forme Kinetica.
Résumé : Kinetica fournit une solution de cycle de vie complète dans la base de données pour l’apprentissage automatique accéléré par les GPU et peut calculer des fonctionnalités à partir de données en continu.
Microsoft SQL Server
Microsoft SQL Server Machine Learning Services prend en charge R, Python, Java, la commande PREDICT T-SQL et la procédure stockée rx_Predict dans le SGBDR SQL Server et SparkML dans les clusters Big Data SQL Server. Dans les langages R et Python, Microsoft inclut plusieurs packages et bibliothèques pour l’apprentissage automatique. Vous pouvez stocker vos modèles entraînés dans la base de données ou en externe. Azure SQL Managed Instance prend en charge Machine Learning Services pour Python et R en préversion.
Microsoft R possède des extensions qui lui permettent de traiter les données à partir du disque ainsi qu’en mémoire. SQL Server fournit une infrastructure d’extension afin que le code R, Python et Java puisse utiliser les données et les fonctions SQL Server. Les clusters Big Data SQL Server exécutent SQL Server, Spark et HDFS dans Kubernetes. Lorsque SQL Server appelle le code Python, il peut à son tour appeler Azure Machine Learning et enregistrer le modèle résultant dans la base de données pour l’utiliser dans les prédictions.
Résumé : Les versions actuelles de SQL Server peuvent entraîner et déduire des modèles d’apprentissage automatique dans plusieurs langages de programmation.
Base de données Oracle
Oracle Cloud Infrastructure (OCI) Data Science est une plate-forme gérée et sans serveur permettant aux équipes de science des données de créer, former et gérer des modèles d’apprentissage automatique à l’aide d’Oracle Cloud Infrastructure, notamment Oracle Autonomous Database et Oracle Autonomous Data Warehouse. Il comprend des outils, des bibliothèques et des packages centrés sur Python développés par la communauté open source et la bibliothèque Oracle Accelerated Data Science (ADS), qui prend en charge le cycle de vie de bout en bout des modèles prédictifs :
- Acquisition, profilage, préparation et visualisation des données
- Ingénierie des fonctionnalités
- Formation de modèles (y compris Oracle AutoML)
- Évaluation, explication et interprétation du modèle (y compris Oracle MLX)
- Déploiement du modèle sur Oracle Functions
OCI Data Science s’intègre au reste de la pile Oracle Cloud Infrastructure, y compris Functions, Data Flow, Autonomous Data Warehouse et Object Storage.
Les modèles actuellement pris en charge incluent :
ADS prend également en charge l’explicabilité de l’apprentissage automatique (MLX).
Résumé : Oracle Cloud Infrastructure peut héberger des ressources de science des données intégrées à son entrepôt de données, son magasin d’objets et ses fonctions, permettant un cycle de vie complet de développement de modèles.
Vertica
Vertica Analytics Platform est un entrepôt de données de stockage en colonnes évolutif. Il fonctionne en deux modes : Enterprise, qui stocke les données localement dans le système de fichiers des nœuds qui composent la base de données, et EON, qui stocke les données en commun pour tous les nœuds de calcul.
Vertica utilise un traitement massivement parallèle pour gérer des pétaoctets de données et effectue son apprentissage automatique interne avec le parallélisme des données. Il dispose de huit algorithmes intégrés pour la préparation des données, de trois algorithmes de régression, de quatre algorithmes de classification, de deux algorithmes de clustering, de plusieurs fonctions de gestion de modèles et de la possibilité d’importer des modèles TensorFlow et PMML formés ailleurs. Une fois que vous avez ajusté ou importé un modèle, vous pouvez l’utiliser pour la prédiction. Vertica autorise également les extensions définies par l’utilisateur programmées en C++, Java, Python ou R. Vous utilisez la syntaxe SQL pour la formation et l’inférence.
Résumé : Vertica intègre un bel ensemble d’algorithmes d’apprentissage automatique et peut importer des modèles TensorFlow et PMML. Il peut effectuer des prédictions à partir de modèles importés ainsi que de ses propres modèles.
MindsDB
Si votre base de données ne prend pas déjà en charge l’apprentissage automatique interne, il est probable que vous puissiez ajouter cette fonctionnalité à l’aide de MindsDB, qui s’intègre à une demi-douzaine de bases de données et à cinq outils de BI. Les bases de données prises en charge incluent MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server et Snowflake, avec une intégration MongoDB en cours et des intégrations avec des bases de données en streaming promises plus tard en 2021. Les outils de BI pris en charge incluent actuellement SAS, Qlik Sense, Microsoft Power BI, Looker , et Dom.
MindsDB propose AutoML, des tables d’IA et une IA explicable (XAI). Vous pouvez appeler la formation AutoML à partir de MindsDB Studio, à partir d’une instruction SQL INSERT ou à partir d’un appel d’API Python. La formation peut éventuellement utiliser des GPU et peut éventuellement créer un modèle de série chronologique.
Vous pouvez enregistrer le modèle en tant que table de base de données et l’appeler à partir d’une instruction SQL SELECT sur le modèle enregistré, à partir de MindsDB Studio ou à partir d’un appel d’API Python. Vous pouvez évaluer, expliquer et visualiser la qualité du modèle à partir de MindsDB Studio.
Vous pouvez également connecter MindsDB Studio et l’API Python à des sources de données locales et distantes. MindsDB fournit également un cadre simplifié d’apprentissage en profondeur, Lightwood, qui s’exécute sur PyTorch.
Résumé : MindsDB apporte des fonctionnalités d’apprentissage automatique utiles à un certain nombre de bases de données qui ne disposent pas d’une prise en charge intégrée de l’apprentissage automatique.
Un nombre croissant de bases de données prennent en charge l’apprentissage automatique en interne. Le mécanisme exact varie, et certains sont plus capables que d’autres. Si vous avez tellement de données que vous pourriez autrement devoir ajuster des modèles sur un sous-ensemble échantillonné, alors l’une des huit bases de données répertoriées ci-dessus et d’autres avec l’aide de MindsDB pourraient vous aider à créer des modèles à partir de l’ensemble de données complet sans encourir de surcharge importante pour exportation de données.
Copyright © 2022 IDG Communications, Inc.