Vous avez dit AutoML avec Azure Machine Learning ?

Nous l'évoquions dans un précédent billet sur ce même blog, le Service Azure Machine Learning peut effectuer le prétraitement des données, la sélection d'algorithmes et l'optimisation intelligente des hyperparamètres de manière automatisée avec la version préliminaire d'AutoML (Automated Machine Learning).

L'idée derrière ce composant AutoML est simple à comprendre et complexe à implémenter. Ceci nous renvoie à la publication de recherche Probabilistic Matrix Factorization for Automated Machine Learning sur arXiv.org.

AutoML construit pour vous des modèles de Machine Learning de haute qualité en automatisant le modèle et la sélection des hyperparamètres.

Apportez un ensemble de données étiquetées pour lequel vous souhaitez créer un modèle, AutoML vous donnera alors un modèle de Machine Learning de haute qualité que vous pouvez utiliser pour les prédictions.

Si vous êtes nouveau en Data Science, AutoML vous aidera à démarrer en simplifiant la construction de modèle de Machine Learning. AutoML vous soustrait de la nécessité d'effectuer la sélection du modèle, de celle des hyperparamètres et en une seule étape crée un modèle de haute qualité dûment entrainé pour vous prêt à être utilisé.

Si vous êtes un data scientist expérimenté, AutoML vous aide à augmenter votre productivité en effectuant intelligemment pour vous la sélection du modèle et des hyperparamètres pour votre entrainement et génère des modèles de haute qualité beaucoup plus rapidement qu'en spécifiant manuellement plusieurs combinaisons des paramètres et en exécutant des jobs d'entrainement. AutoML fournit la visibilité et l'accès à tous les jobs d'entrainement ainsi qu'aux caractéristiques de performance des modèles pour vous aider à affiner le pipeline si vous le désirez.

Nous vous proposons de voir cela de plus prêt au travers d'une illustration à l'occasion de ce billet.

Je tiens à remercier Xiangzhe Meng actuellement en stage de fin d'étude au sein de Microsoft France pour cette contribution.

Cadre et déroulé de l'illustration

Comme mentionné ci-avant, cette illustration a pour but de montrer comment utiliser la technique AutoML afin de trouver le meilleur modèle en fonction de notre critère.

Nous réutilisons ici pour cela le jeu de données « New York City Taxi Trip Duration »du billet précédent pour dérouler notre illustration avec un bénéfice à la clé : la capacité de pouvoir comparer le résultat avec celui généré par notre propre modèle dans la précédente illustration. Ceci nous permettra donc d'évaluer concrètement les performances de cette technique au-delà de ce qui décrit en introduction ;-)

Le notebook Train an automated machine learning model.ipynb contient toutes les procédures qu'il est nécessaire de suivre pour entraîner un modèle en utilisant la technique AutoML.

Nous pouvons entraîner le modèle non seulement en local mais aussi avec une machine virtuelle Science des données (ou DSVM pour Data Science Virtual Machine) distante.

Une fois le meilleur modèle trouvé, nous pouvons le déployer en suivant les mêmes procédures que celles présentées dans le billet précédent via le notebook Deploy models.ipynb.

A l'issue de l'ensemble de ces opérations, nous observons que le résultat obtenu avec AutoML est conforme à l'attente ! sic, en nous mettant à disposition un meilleur modèle que celui généré lors de la précédente illustration (Light GBM Regressor avec la corrélation de Spearman 0,711, ce qui est plus élevée que celle du modèle entraîné par nous-mêmes : Linear Regressor 0,683).

Ainsi, une telle technique peut être utilisée à notre avis pour valider les modèles déjà sélectionnés et optimisés par nous-même. De plus, nous pouvons même obtenir un meilleur modèle que nous n'avions pas envisagé avant de tester avec cette technique.

Pour aller plus loin

Nous espérons que cette illustration vous aura donné envie d'approfondir le sujet.

A ce propos, il nous parait pertinent de (re-)mentionner le billet Release models at pace using Microsoft's automated machine learning! ainsi que les trois liens suivants dans la documentation en ligne :

  1. Didacticiel : Entraînement d'un modèle de classification par Machine Learning automatisé dans le service Azure Machine Learning.
  2. Classe AutoMLConfig. Cette classe est utilisée dans le but de soumettre une expérimentation AutoML au service Azure Machine Learning. Cet objet contient tous les paramètres de configuration ainsi que les données à utiliser lors de l'exécution.
  3. Optimiser les hyperparamètres pour votre modèle.

Autre point à souligner, vous trouverez au sein de la collection de notebooks Machine Learning mise à disposition sur le repo Azure/MachineLearningNotebooks sur la forge GitHub toute une série de proposition sur AutoML ici.

Nous souhaitons enfin conclure ce billet en mentionnant la disponibilité du toolkit NNI (Neural Network Intelligence) sur GitHub, un toolkit en open-source pour l'AutoML qui correspond à un autre investissement de Microsoft dans le domaine très populaire aujourd'hui de l'AutoML.