AutoML dans le service Azure Machine Learning et SQL Server – Bien choisir son serveur d impression

introduction

Prenons un exemple typique de la façon dont nous construisons un modèle ML aujourd'hui: nous regroupons différentes sources de données, nous les préparons, nous formons un modèle et, lorsque nous sommes satisfaits de la sortie du modèle, nous le déployons.

Ces différentes étapes impliquent de multiples processus de décision, de transformation et d'enrichissement de données interconnectés, une formation de modèle basée sur des métriques d'optimisation sélectionnées, le réglage et l'optimisation d'hyperparamètres pour les transformateurs de données et les algorithmes ML. , …

Le service Azure Machine Learning et ses fonctionnalités d'AutoML répondent exactement à ce problème, évitent ces étapes itératives et optimisent la qualité du modèle final à partir des objectifs et des contraintes que vous définissez.

Mais quel est le lien avec SQL Server?

– Dans SQL Server 2016, il est possible d'installer R Services, un complément à une instance de moteur de base de données utilisée pour l'exécution du code R et des fonctions sur SQL Server.

– Dans SQL Server 2017, les services R ont été renommés en services d'apprentissage de SQL Server, reflétant l'ajout du langage Python.

– Dans SQL Server 2019 (actuellement en version préliminaire), le langage Java est ajouté aux langages R et Python, ainsi que la prise en charge sous Linux et la haute disponibilité (FCI), la prise en charge des données partitionnées …

C’est bien, la fonctionnalité AutoML du service Azure Machine Learning est disponible en Python! Nous pourrons donc demander à SQL Server une formation au modèle ML et sauvegarder le meilleur d’entre eux dans une base de données pour une utilisation locale.

AutoML

Dans cette section, nous présentons un aperçu de l’approche proposée par AutoML qui a été publiée dans cette étude et que nous vous invitons à étudier pour plus de détails.

Comme nous l'avons mentionné précédemment, Auto-ML vise à automatiser la sélection et l'ajustement du meilleur pipeline ML combinant prétraitement, sélection d'algorithme et optimisation. L'objectif à minimiser est:

Voici un résumé intuitif des étapes suivies par AutoML:

  1. AutoML instancie les pipelines à l'avance et effectue un échantillonnage, ce qui permet une discrétisation de l'espace hyperparamètre du pipeline, un espace qui forme une combinaison de variables discrète et continue.

3. Vous l'aurez compris, l'objectif est de compléter la matrice, l'idée qui sous-tend l'approche, si deux ensembles de données produisent un résultat similaire pour certains pipelines, il est probable que le reste des pipelines produira des résultats similaires. C'est le rôle de cette étape, d'apprendre un modèle latent basé sur la factorisation matricielle probabiliste (PMF). Le PMF est essentiellement un processus gaussien basé sur un modèle latent (GP-LVM).

GP-LVM est une méthode non supervisée d’apprentissage d’un espace latent de taille réduite et de non-linéarité à partir d’un espace d’observation. Il peut également être décrit comme un ACP intégré dans un processus gaussien (PG).

Il est donc supposé que les éléments de Y sont les valeurs d'une fonction variable latente non linéaire avec bruit gaussien additif et moyenne nulle.

La probabilité suivante est donc la suivante:

Puis un avant PG est placé sur F donc pour tout vecteur F, on obtient la densité articulaire suivante:

4. Enfin, les paramètres du GP-LVM sont estimés en maximisant la vraisemblance via la descente de gradient stochastique:

Une fois l'apprentissage terminé, l'espace latent capture la structure des pipelines "type de modèle, hyperparamètres …".

Nous pouvons le voir dans une représentation en 2 dimensions ou dans 5000 pipelines formés sur 576 jeux de données de référence. OpenML, avec la couleur représentant la performance de la métrique AURC:

Dotés des paramètres déduits par le GP-LVM, ils sont ensuite utilisés pour estimer les performances d'un pipeline sur un nouvel ensemble de données avec les formules de prédiction standard d'une régression par PG, produisant ainsi l'estimation et la distribution. a postériori qui caractérise son incertitude.

Enfin, la dernière étape consiste à choisir intelligemment le prochain pipeline à évaluer.

Équipé de l'incertitude produite par la distribution a postériori une fonction utilitaire dite d'amélioration attendue (EI) dirige l'échantillonnage du prochain pipeline dans des zones où une amélioration par rapport à la meilleure performance réalisée jusqu'à présent est plausible.

Une fois que le SI est calculé pour chaque pipeline, le prochain pipeline à évaluer sera le point où le IS atteint son maximum.

Démo

Pour illustrer l'utilisation de la fonctionnalité AutoML dans le service Azure Machine Learning, prenons le même jeu de données dans un article rédigé par Romain sur le service Azure Machine Learning: "Prédire la qualité du vin avec Azure ML" http: / /www.pulsweb.fr/predict-wine-quality-azureml/.

Contrairement à Azure ML qui propose un outil visuel dans le Cloud pour former, créer et déployer un modèle, nous allons travailler dans cet article On Premise de SQL Server et en mode "Code First", mais simplifié, car les différents modèles seront formés et comparés. moi .

Rappel du jeu de données:

Modélisation des préférences viticoles par extraction de données à partir de propriétés physicochimiques. Citation d'utilisation: P. Cortez, A. Cerdeira, F. Almeida, T. Matos et J. Reis. Modélisation des préférences viticoles par extraction de données à partir de propriétés physicochimiques. Dans Decision Support Systems, Elsevier, 47 (4): 547-553, 2009.

– Les échantillons proviennent de vins blancs et rouges du Portugal: Vinho Verde.

– Les données sont publiques, vous pouvez donc reproduire cette expérience.

Le résultat dans notre exemple sera la qualité. Ce dernier est basé sur les données sensorielles médianes d'au moins 3 évaluations effectuées par des experts en vin. Chaque expert a évalué la qualité du vin entre 0 (très mauvais) et 10 (excellent). Le nombre de vins testés est de 1599 pour les rouges et de 4898 pour les blancs.

Avant de commencer, revenons à ce que nous voulons réaliser:

SQL Server 2017 et 2019 peuvent appeler Azure ML Automated Machine Learning pour créer des modèles à partir de données SQL Server. Pour cela, nous allons utiliser la procédure stockée sp_execute_external_script pour appeler des scripts Python.

Remarque: SQL Server 2017 et SQL Server 2019 peuvent être exécutés sous Windows ou Linux. Toutefois, cette intégration n'est pas disponible pour SQL Server 2017 sous Linux.

1. Après avoir installé SQL Server 2017 dans notre cas, nous avons exécuté les scripts:

2. L'étape suivante consiste à installer les bibliothèques d'apprentissage machine à l'aide des commandes suivantes à partir de l'invite de commande en tant qu'administrateur après l'arrêt du service SQL Server:

Remarque: En raison des dépendances et des versions installées sur votre ordinateur, des erreurs peuvent survenir lors de l'installation. Pour corriger la plupart d'entre elles, exécutez la commande suivante à partir du répertoire "PYTHON_SERVICES": "python.exe -m pip install azureml-sdk[AutoML] – ignore-installed ". Ceci installera le SDK AzureML dont le module AutoML fait partie. Nous en profitons pour mettre à jour les modules numpy et Scikit-learn.

3. Pour vérifier l'installation, exécutez en tant qu'administrateur la commande suivante à partir du répertoire "PYTHON_SERVICES": "python -m pip freeze"

4. Démarrez SQL Server et le service "SQL Server Launchpad Service".

5. Dans le Pare-feu Windows, cliquez sur Paramètres avancés et dans Règles sortantes, désactivez "Bloquer l'accès réseau pour les comptes d'utilisateur R locaux dans l'instance SQL Server xxxx".

6. Créez un espace de travail pour le service Azure Machine Learning. Vous pouvez utiliser les instructions décrites dans la documentation.

7. Créer un fichier fichier config.json à l'aide de l'ID d'abonnement, du nom du groupe de ressources et du nom de l'espace de travail utilisé pour créer l'espace de travail. Le fichier est décrit ici

8. Créez un principal de service Azure. Depuis Azure CLI (outil de ligne de commande pour la gestion des ressources Azure). Vous pouvez le faire avec les commandes:

9. Créez la base de données de test "automl", puis exécutez les scripts TSQL "aml_model.sql", "aml_connection.sql", "AutoMLGetMetrics.sql", "AutoMLPredict.sql" et "AutoMLTrain.sql" disponibles sur le compte officiel Azure Apprentissage machine

10. Insérer les valeurs , et ci-dessus dans la table aml_connection et indiquez le chemin absolu de votre fichier config.json. Définissez le nom sur "Par défaut":

L'ensemble de données que nous voulons prédire est disponible dans la sauvegarde de la base de données WineQuality.

Nous allons former le modèle ML à partir du tableau "White_Train" de la base de données "WineQuality". Sur les 4898 lignes "blanches", la table "White_Train" en a 3675 (environ 75%) et la table "White_Test" en a 1223 (environ 25%):

La requête suivante insérera dans la table "aml_model", le modèle maximisant la métrique AUC_weighted:

Remarque: L'ASC pondérée ou l'ASC pondérée en français est utilisée ici compte tenu de la modalité de la variable prédictive non équilibrée. On résout ce problème en choisissant l'ASC pondérée. Contrairement à la AUC qui est la zone sous la courbe avec des poids égaux, nous voulons donner plus d'importance à la zone située près du haut du graphique. L'ASC pondérée crée donc un vecteur de pondération asymétrique en répartissant davantage le poids à la hausse de la courbe ROC. Mais voici la liste des mesures prises en charge: https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-automated-ml#training-metric-output

Le nombre maximum d'itérations d'entraînement est ici fixé à 20 et chacune d'elles ne doit pas dépasser 10 minutes.

La requête suivante vous permet d’avoir les métriques sur les modèles:

Les modèles ont été sauvegardés pour chaque passage dans la table aml_model:

Du côté du service Azure Machine Learning, il est possible de suivre l'exécution des formations, les détails des exécutions, une liste complète des modèles créés et des informations sur leur pertinence:

Plus d'informations sur les graphiques disponibles: https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-track-experiments#understanding-automated-ml-charts

Pour faire des prédictions à partir de mon modèle, rien n'est plus facile:

Conclusion

Dans la démonstration précédente, nous avons constaté la simplicité d’accès au service Auto-ML à partir de scripts Python pour former et enregistrer un modèle dans une table, le tout sans quitter SSMS!

La fonctionnalité AutoML du service Azure Machine Learning facilite grandement la création et l'optimisation du modèle ML. De plus, il s’intègre parfaitement dans l’approche DevOps:

Le service est en constante évolution (nouvelle interface dans Preview, prévision de série chronologique, exportation de modèle au format ONNX, …): https://azure.microsoft.com/fr-en/blog/a-look-at-azure – Apprentissage automatique des capacités /

Nous prévoyons d’écrire une deuxième partie de cet article qui portera sur l’interprétabilité et l’opérationnalisation de ce même modèle.

L'article suivant a été co-écrit par Yassine Khelifi, Ingénieur grimpeur sur Azure Machine Learning et Romain Casteres, Premier ingénieur de terrain – Données et intelligence artificielle chez Microsoft.

  • Microsoft Co Microsoft SQL Server 2017 Standard
    Serveur SQL 2017 Standard SQL Server 2017 lédition à succès La licence standard SQL Server 2017 est conçue pour fonctionner efficacement. Grâce à son adéquation avec Linux et les plateformes Docker certifiées le système savère flexible et fonctionnel. Les nouvelles fonctionnalités complètes
  • Microsoft Co Microsoft SQL Server 2017 Standard 1 Device CAL
    Acheter le dispositif Microsoft SQL Server 2017 CAL Pour les produits sous licence professionnelle notre boutique est exactement lendroit où il faut aller. La CAL de Microsoft SQL Server 2017 Device vous permet de configurer des systèmes qui fonctionnent bien et sadaptent à vos propres besoins dans votre
  • Microsoft Co Microsoft SQL Server 2014 Standard 1 User CAL
    User CAL for Microsoft SQL Server 2014 Abordable et flexible Le serveur Microsoft SQL 2014 est considéré comme lun des systèmes de base de données les plus puissants et les plus fiables du marché. Dans la variante de licence Serveur + CAL il est en outre nécessaire dacheter le CAL SQL Server 2014 pour
  • MINIMOTS – Des Sons dans tous les Sens
    Pour chaque histoire, Lucas a choisi un son principal fabriqué par plusieurs lettres, le "chef " des sons, si tu préfères ! Comme par exemple le son "ch" ; "on" ; "oi" ou bien d'autres encore. Maintenant, demande à un grand de te lire le carnet de Lucas et ouvre bien tes oreilles ! C'est à toi de découvrir le
  • No Name The Love Machine
    Rencontrez la première sex-machine tenu dans la main pour des dames. La tige en silicone souple et soyeuse s'étend et se rétracte de 9 à 15 cm de son support, offrant une sensation d'amour intense et réaliste. Cet amant puissant offre 9 modèles de rythmes d'extension à choisir et offre ses traits
  • No Name The Love Machine
    Rencontrez la première sex-machine tenu dans la main pour des dames. La tige en silicone souple et soyeuse s'étend et se rétracte de 9 à 15 cm de son support, offrant une sensation d'amour intense et réaliste. Cet amant puissant offre 9 modèles de rythmes d'extension à choisir et offre ses traits
  • ZUMEX Machine à jus / Presse agrumes automatique - Zumex - Minex - Self-service
    Avec son design, sa taille et ses douze couleurs, la machine Minex s’adapte parfaitement à n’importe quel environnement. Elle est la solution idéale pour les petits bars et les cafétérias qui misent sur la distinction. Minex offre des performances maximales dans un minimum d’espace, avec un design
  • Eyeslipsface "Dépuratif Phyto ampoules [Phytadrainol] BIO 20 ampoules -BIOTECHNIE (01016540) 20"
    "Depuis ses débuts en 1992, Biotechnie adopte une démarche innovante, permanente, nature et rigoureuse dans son activité. Cette marque de Cosmédiet se démarque en outre dans la fabrication de compléments nutritionnels à base de plantes. Les matières naturelles utilisées à cet effet sont choisies selon leurs
  • MR BEAR FAMILY Peigne à Barbe "Moustache" en Métal 10 x 3 cm MR BEAR FAMILY
    Peigne à barbe"moustache"         Son rateau est parfaitement dimensionné pour une bonne prise en main Mode d’emploi : Peignez votre barbe tous les jours Toujours peigner quand la barbe est bien  sèche, dans le sens du poil avec prudence pour ne pas
  • Maisonetstyles Tapis 170x240 cm en velours marron
    Ultra décoratif, ce tapis n'est pas moins original parce quil est tissé à la machine . Conçu en velours , c'est un véritable bijou qu'il vous faut vous offrir. D'un raffinement extrême, ce joyau est bien choisi pour donner un look contemporain à votre habitat. Dans le salon comme dans le séjour, il