Quoi de neuf sur Azure Machine Learning ?

Nous n’avons pas échangé depuis un certain temps :( et il est donc (plus que) grand temps de revenir sur l’annonce faite lors de la récente conférence Strata + Hadoop World 2015 et relayée ici notamment sur le blog de l’équipe produit, à savoir à savoir la désormais disponibilité générale d’Azure Machine Learning (Azure ML) ! :)

Un bref rappel sur Azure ML

Un service Cloud prêt à l’usage

Comme nous avons déjà pu l’illustrer au travers de nombreux billet sur blog, Azure ML est un service Cloud entièrement géré qui permet aux scientifiques de données (data scientists) et aux développeurs d'incorporer de manière efficace des analyses (prédictives) avancées dans leurs applications. Azure ML aide ainsi les organisations de toutes tailles à utiliser des jeux de données volumineux et à intégrer tous les avantages du Cloud à l'apprentissage automatique (Machine Learning) dont les réalisations permises font déjà rêver au quotidien et les promesses sont extraordinaires. (Les récents Microsoft TechDays 2015 qui se sont tenus à Paris en février dernier proposent à ce propos une démystification du Machine Learning.)

image

Ainsi, en quelques heures, les scientifiques de données et aux développeurs peuvent ainsi construire et déployer des applications pour améliorer l'expérience client, prévoir les tendances futures, prédire et prévenir les défaillances d’un système (connecté), améliorer l'efficacité opérationnelle, découvrir de nouvelles connaissances (insights) techniques, etc. De telles analyses avancées pouvaient prendre jusqu’à présent des semaines ou des mois et nécessiter un large investissement en termes de personnes, de matériels et de logiciels pour gérer des données des jeux de données volumineux. Tout ce dont vous avez besoin est désormais une connectivité Internet et un navigateur comme illustré ici !

Azure ML permet aujourd’hui à de nombreux clients de trouver de la valeur dans leurs données à l’image des témoignages de Carnegie Mellon (optimisation des ressources), de Pier 1 Imports (prévision de la demande), de ThyssenKrupp (maintenance prédictive), ou encore des illustrations proposées par la session plénière J3 Vers une technologie invisible et une intelligence omniprésente ? lors des Microsoft TechDays 2015.

Un environnement visuel et intuitif pour les expériences

Depuis ses débuts, l’environnement de développement visuel et collaboratif Azure ML Studio constitue, - comme décrit ici - un canevas puissant facile d’utilisation qui permet la composition rapide d'expériences d’apprentissage automatique au travers d’un modèle pratique de glisser/déposer pour rapidement construire des flux de travail (workflows) et leur opérationnalisation en quelques clics. De très nombreux modules de manipulation de données et d’apprentissage automatique sont ainsi proposés pour cela. (Un petit tour du "propriétaire" de l’environnement est proposé ici en vidéo.)

Ce bref rappel étant fait sur le « protagoniste du jour » :-), qui dit Cloud, dit généralement évolutions en continue pour apporter une proposition toujours plus pertinente et Azure ML n’échappe fort heureusement pas à cette dynamique !

Depuis son introduction en version préliminaire publique en juillet 2014 dernier jusqu’à sa désormais disponibilité générale aujourd’hui, Azure ML n’a cessé d’évoluer, d’apporter des innovations et continue à le faire :)

Revenons sur tout cela.

Deux langages sont étroitement associés à la "science des données" aujourd'hui, à savoir R et Python.

Le support de R

Le puissant langage R a été souvent décrit comme la lingua franca des statisticiens et c’est donc sans surprise qu’il est présent avec Azure ML depuis un certain temps.

Les analyses et manipulations de données dans Azure ML peuvent ainsi être étendues en utilisant R au travers du module Execute R Script. Cette combinaison offre l'évolutivité et la facilité de déploiement d’Azure ML avec la flexibilité et les analyses avancées permises par R. Vous trouverez un guide de démarrage ici et des informations pour aller plus loin .

A ce propos, et comme annoncé dans un billet, n’hésitez pas à télécharger le livre numérique gratuit Data Science in the Cloud, with Azure Machine Learning and R qui décrit comment Azure ML combiné avec des techniques établies telles que R rend des modèles sophistiqués d’apprentissage automatique accessibles à un large éventail d'utilisateurs.

image

Le support de Python

Python constitue également un outil indispensable dans la boîte à outils de nombreux scientifiques de données et développeurs. Ce dernier propose en effet une syntaxe élégante et concise, bénéficie d’outils de développement mature et d’une vaste collection de bibliothèques puissantes, est disponible sur de multiples plateformes, et c’est ainsi que Python est utilisé dans toutes les phases du flux de travail généralement utilisées dans les modèles d’apprentissage automatique, de l’ingestion et de la transformation des données à la construction de caractéristiques (features) pour l’entrainement, la validation et le déploiement de modèles.

Python est donc sans surprise également pris en charge dans Azure ML Studio mais aussi dans Visual Studio ainsi que dans le navigateur.

A ce titre, nous souhaitons souligner ainsi en premier lieu la disponibilité d’un module Execute Python Script qui constitue l’interface primaire de Python dans Azure ML, interface en tout point analogue à ce que représente le module Execute R Script pour le langage R. Vous trouverez un guide de démarrage ici.

Il convient également de rappeler la disponibilité de Python Tools for Visual Studio (PTVS) sur la forge CodePlex, avec la version 2.1 RTW en téléchargement. Il s’agit d’un plugin open source officiellement supporté dans l’environnement de développement intégrée (IDE) Visual Studio.

Une fois installé dans Visual Studio (dont une version professionnelle complète et gratuite, à savoir Visual Studio Community 2013, est disponible ici), vous disposez d’un puissant IDE à destination de la science des données centré sur Python avec un excellent support du débogage, du profilage, de la technologie IntelliSense, de git, etc. pour des projets d’envergure.

Et rien n’empêche de coupler PVTS avec pouvez coupler PTVS avec une distro scientifique tels qu’Anaconda ou Canopy aujourd’hui, d’utiliser scikit-learn, Pandas, matplotlib, etc. pour les analyses ;-)

L’outillage mis à disposition au travers de PTVS permet en effet de disposer par exemple de modèles de démarrage qui comprennent tout ce dont vous avez besoin depuis l’acquisition de données, le nettoyage et l’entrainement jusqu’à la visualisation à l'aide de matplotlib.

PTVS possède également un support complet pour construire rapidement des applications web et des tableaux de bord avec les Frameworks tels que Django, Flask et Bottle. Comme Azure ML Studio permet de publier des APIs prédictives, un assistant permet de coupler les deux en offrant une consommation facile d'APIs prédictives publiées dans votre application web.

IPython, désormais le polyglotte "Jupyter" agnostique en termes de langages, est un environnement simple et interactif de type RPEL (read–eval–print loop). Azure ML offrira sous peu la capacité d’utiliser Jupyter dans Azure ML avec à la fois Python et R.

Vous pouvez retrouver tous ces éléments avec des détails complémentaires dans un billet ici.

Nous sommes convaincus que des puissants outils sous licence libre à l’image de PTVS sont de nature de donner plus d’autonomie et de capacités aux développeurs et contribuent à aider à démocratiser des technologies d'avant-garde telles que l'apprentissage automatique et les analyses avancées.

Vers le « Big Learning »

Comme suggéré ci-dessus, Azure ML reflète le support de Microsoft pour l’Open Source. Des percées en termes d’algorithmique sont à attendre à l’image de la capacité de transformation révolutionnaire Learning with Count qui permet maintenant aux clients d'apprendre de téraoctets de données en autorisant une régression et une classification efficaces sur de tels volumes pour des jeux de données.

Cette nouvelle capacité utilise le Map/Reduce d’Azure HDInsight pour créer efficacement des représentations de caractéristiques (features) réduites de données volumineuses. Grâce à un échantillonnage appropriée et aux caractéristiques transformées, il est possible d’apprendre de modèles prédictifs ultra-précis à l'aide d'algorithmes de pointe tels que les réseaux de neurones et le boosting d'arbre de décision. Pour de plus amples détails sur Azure HDInsight, vous pouvez vous reporter au blog MSDN Big Data France (aka.ms/BigDataFrance).

Une galerie communautaire

Azure ML Studio vous permet de bénéficier de puissants algorithmes utilisés au sein de Microsoft, de communautés, etc., de les combiner avec votre propre code R ou Python et de créer une solution.

Vous pouvez désormais partager avec la communauté - si vous le souhaitez - votre solution ainsi créée d'un simple clic via la nouvelle galerie pilotée par la communauté.

image

Cette dernière permet de découvrir et d'utiliser des expériences intéressantes conçues par d'autres. Vous pouvez poser des questions ou poster des commentaires sur les expériences disponibles dans la galerie ou publier vos propres expériences comme évoqué ci-avant. Vous pouvez partager des liens vers des expériences intéressantes via les canaux sociaux tels que LinkedIn et Twitter. La galerie constitue un excellent moyen pour les scientifiques de données et les développeurs de démarrer avec Azure ML et apprendre des autres dans la communauté :)

Une place de marché

Par ailleurs, les développeurs – y compris ceux sans formation de scientifique de données – peuvent désormais utiliser également la place de marché (marketplace) Machine Learning pour trouver des APIs et des services prêts à l’usage, tels que les recommandations, la détection d'anomalies et les prévisions, et ce afin de déployer rapidement des solutions.

Il est ainsi possible d’aller plus loin en monétisant et/ou en promouvant votre solution dans la place de marché et en partageant celle-ci à l'échelle internationale. Une présentation de cette place de marché est disponible ici.

Nous en avons terminé de notre petite revue des nouveautés propres à Azure ML. Nous aurons l’occasion de revenir prochainement sur d’autres services de données Azure qui proposent une intégration avec Azure ML.

Dans l’intervalle, pour plus d’informations sur Azure ML ou pour vous rafraichir la mémoire, nous vous invitons à aller lire ou relire les billets de ce blog, ceux publiés sur le Blog Machine Learning du groupe produit.

N’oubliez pas non plus le Forum MSDN Machine Learning qui est là pour faciliter la création d’une communauté d’échanges sur le sujet.