La préview de l'offre Microsoft Azure Machine Learning bientôt disponible !

clip_image004

En juillet prochain, Microsoft lancera la preview de son offre de Machine Learning en mode SaaS appelée : Microsoft Azure Machine Learning (MAML)

Damien Cudel, chef de marché Data Insight, nous a présenté cette nouvelle plateforme en avant-première. Voici ce que va vous offrir Microsoft Azure d’ici quelques semaines…

Pour rappel, le machine learning ou apprentissage statistique fait référence à un ensemble de méthodes et d’outils qui permettent de concevoir des systèmes informatiques (machine ou programme) qui améliorent leurs performances dans la réalisation d’une tâche par l’expérience. Les tâches à réaliser sont souvent des tâches qu’il est difficile voire impossible de programmer de façon conventionelle. Par exemple, une application de gestion de courrier électronique va apprendre à détecter si un mail est un spam ou non.

L’identification du SPAM relève de l’une des branches du machine learning : l’apprentissage supervisé. A partir d’un jeu d’entrainement contenant des messages électroniques dont on connait la nature (spam ou non spam), on cherche à optimiser les paramètres d’un modèle d’apprentissage statistique en réduisant l’erreur de prédiction. Une fois l’optimum trouvé et l’ajustement du modèle réalisé sur l’ensemble d’apprentissage, on valide son efficacité ou plus exactement sa capacité à généraliser ce qu’il a appris sur un jeu de tests i.e. en ensemble de messages dont on connait la nature mais que le modèle n’a jamais vu.

Les domaines d'utilisation sont multiples comme par exemple le system de tri du courrier aux Etat-Unis, qui jusqu'en 1997 se faisait manuellement. De ce fait, des milliards de lettres nécessitaient une interprétation humaine pour lire et comprendre l'adresse écrite à la main sur ces courriers. Un algorithme de machine learning a été mis en place et s'est amélioré au fil des années pour pouvoir reconnaitre de mieux en mieux les écritures. Aujourd'hui, 98% des adresses postales sont reconnues automatiquement.

Côté Microsoft, ce n'est pas un domaine nouveau pour nous, on l'utilise déjà au sein de nos propres technologies :

  • Depuis 1999 pour la détection de spam dans les emails.
  • Sur Bing comme moteur de recommandation de pages pour l'internaute.
  • Sur Kinect qui analyse des nuages de points très complexes pour une reconnaissance toujours plus précise des mouvements des joueurs.
  • Sur Skype pour la traduction à la volée. https://msrvideo.vo.msecnd.net/rmcvideos/217733/217733.mp4 

La volonté de Microsoft a été de faire en sorte de démocratiser ce sujet auprès des organisations.

En effet, la pratique du machine learning nécessite des compétences très spécifiques encore peu répandues et fait appel également une palette d'outils complexes, peu intégrés.

Par ailleurs, une fois le modèle ajusté, il faut le passer en production : cette étape est généralement longue et nécessite souvent de recoder le modèle dans un environnement différent de l’environnement de conception : le risque de divergence entre le modèle issu de la phase d’apprentissage et celui issu de la phase de recodage n’est pas négligeable.

C'est pourquoi, Microsoft Azure Machine Learning – (MAML) va permettre de s'affranchir de ces difficultés pour faire profiter du machine learning au plus grand nombre.

Si l'on regarde l'architecture de la future plateforme MAML, qui sera hébergée dans un environnement Azure, on distingue 3 modules destinés aux populations IT et data scientists.

A gauche, le portail qui va permettre aux administrateurs de créer et d'associer pour chaque utilisateurs un workspace, leur permettant de bénéficier de leur propre espace personnel de travail, d'ajouter des collaborateurs pour partager leurs datasets, leurs modèles etc.. Les administrateurs vont également pouvoir administrer les workspaces pour gérer la sécurité d'accès aux données, surveiller la consommation des ressources, gérer le temps de calcul alloué, etc…

A droite, le ML Studio est destiné aux utilisateurs, data scientists, qui pourront réaliser des expérimentations en combinant au travers d’une interface graphique des modules permettant d’accéder à différentes sources de données externes comme Microsoft Azure HDInsights (Hadoop dans Microsoft Azure), Microsoft Azure blob storage, des fichiers CSV etc.., de préparer ces données, d’appliquer différents algorithmes (K-mean, régression logistique, réseaux de neurones, PCA… ). Cette même interface permet en 2 clics de souris de passer le modèle ajusté en production sous la forme d’un Web Service qui prend en entrée les nouvelles données et restitue en sortie le résultat de l’application du modèle.

Enfin, l’API ML API Service qui permettra d'exposer les modèles au travers d'une URL pour être utilisé au travers de différents outils applicatifs comme Power BI pour une restitution des résultats.

Pour les développeurs, un SDK est fourni avec MAML afin de leur permettre d'étendre la plateforme avec leurs propres modules. Il sera également possible d’intégrer et d’exécuter directement des scripts R au sein de ses expérimentations.

clip_image002

Alors comment utilise-t-on cette nouvelle plateforme MAML ?

Après s'être créé un workspace, l'utilisateur va se créer des datasets qu'il peut importer à partir de différentes sources de données.

Il aura alors à sa disposition un certain nombre de modules fourni par la plateforme qu'il va pouvoir agencer dans le cadre d'une expérimentation pour créer un modèle. Par exemple, il aura un module pour importer ses données source, un module pour scorer son modèle, un module pour définir une corrélation etc….

Une expérimentation simple peut être réalisée de la façon suivante :

  • Un module "Source" pour ajouter un fichier CSV
  • Un module "Project Columns" pour extraire des colonnes qui ne nous intéresse pas pour la création de notre modèle (les ID etc….)
  • Un module de "Distribution des données" pour étudier sa source de données et détecter les valeurs manquantes, s’il y a une cardinalité importante, quel est le moyenne, le minimum, le maximum etc…
  • Un module "Linear Corrélation" pour identifier s’il y a une corrélation entre ces données.

Une fois que les données sont prêtes, on va pouvoir les utiliser au travers du modèle à tester. Pour cela, on va les séparer en 2 entités, l'une pour entrainer le modèle, et l'autre pour le tester avec des données différentes du jeu de données d'entrainement pour lui soumettre des données qu'il ne connait pas.

On va donc ajouter :

  • Un module de "Split" pour séparer les données d'entrainement des données de test.
  • Un module qui représentera l’algorithme à employer. Par exemple, un module de régression logistique.
  • Puis des modules de scoring et d'évaluation pour vérifier les performances du modèle.

Le modèle va pouvoir alors être évalué de manière graphique à l’aide par exemple d’une courbe de ROC (Receiver Operating Characteristic) pour une classification binaire afin d'identifier son niveau de fiabilité.

  • La courbe jaune correspond à un modèle qui ne fait pas mieux qu’un tirage au sort. C’est un modèle qui ne prédit rien il n’est donc pas performant.
  • La courbe verte correspond à un modèle qui fait une prédiction parfaite.

Ces différents modules sont organisés par catégorie pour faciliter leur manipulation.

Une fois le modèle validé, on va pouvoir utiliser différents module pour l'utiliser : Par exemple, un module StreamingReader qui permettra de faire du streaming pour l'exécution du webService ou un module Writer qui permettra d'exporter les output et les utiliser en csv.

Pour conclure, la plateforme MAML ne prétend pas concurrencer des plateformes très spécifiques comme R mais au contraire, elle a pour ambition de permettre une utilisation simplifiée des capacités du machine learning en intégrant des modèles prédéfinis et en permettant une intégration simple de modèles déjà développés au travers d'une interface agréable à utiliser et une plateforme scalable en fonction des besoins grâce à la flexibilité offerte par Azure.

=> => Si vous souhaitez tester la plateforme Windows Azure Machine Learning à partir de juillet prochain, inscrivez-vous à la préview : https://azure.microsoft.com/en-us/

Et si vous voulez en savoir plus sur, vous pouvez retrouver ci-dessous des ressources complémentaires :

=> => Vidéo promotionnelle : https://www.youtube.com/watch?v=SJtNJepz-pM&feature=youtu.be

=> => Découvrez ce qu'en dit un vétéran du Machine Learning chez Amazon recruté chez Microsoft par Satya Nadella en octobre dernier (Joseph Sirosh) ici : https://bits.blogs.nytimes.com/2014/06/16/microsoft-unveils-machine-learning-for-the-masses/?_php=true&_type=blogs&_r=0