Avec Azure Machine Learning, Microsoft entend industrialiser l'IA

Avec Azure Machine Learning, Microsoft entend industrialiser l'IA D'un simple service cloud de création de modèles, Azure ML est en train d'évoluer vers un environnement de data science conçu pour gérer des déploiements à grande échelle.

Lancé par Microsoft en juin 2014, Azure Machine Learning Studio (ou Azure ML) s'articule dans sa version initiale autour d'un service cloud de création de moteurs prédictifs. En amont, l'outil permet de développer des modèles d'apprentissage machine en associant visuellement, par glisser-déposer, algorithmes et jeux de données (voir le tutoriel sur le site de Microsoft). En aval, il orchestre la phase de test et d'entraînement des modèles, et leur exécution sur Azure. Equipé d'une bibliothèque d'algorithmes couvrant les grands domaines du machine learning (classification, clustering, régression et systèmes de recommandation), Azure ML peut aussi accueillir des modules tiers sous forme de scripts.

Exemple de modèle de régression créé dans Azure ML pour effectuer des prédictions de prix de véhicules en fonction de différentes variables (marque, caractéristiques techniques…). © Microsoft

"Cette première version a pour but de simplifier la création d'expérimentations. Nous planchons désormais sur une nouvelle mouture qui vise à mieux répondre aux besoins des data scientists tout en démultipliant les capacités de déploiement offertes", confie Pierre Lagarde, lead technical evangelist chez Microsoft. Dans cette optique, Azure ML doit notamment introduire un tout nouvel outil (baptisé Azure ML Workbench Service). Un studio "très orienté code" qui supportera les deux principaux langages utilisés en data science, à savoir R et Python. Très souple, il s'intègre à plusieurs éditeurs de code : Visual Studio Code, R Studio et PyCharm.

Au-delà de ces nouvelles capacités de programmation, le futur Azure ML doit aussi venir faciliter la phase de préparation des données. Une étape centrale d'un projet de machine learning qui a pour but de nettoyer et formater les informations d'historique injectées en entrée des analyses prédictives. Pour relever ce défi, un nouveau module, baptisé PROgram Synthesis using Examples, pourra mettre en musique diverses tâches de transformation (en les combinant si besoin) : modification de chaînes de caractères, de dates, de nombres... Sous le capot, une technologie de data wrangling (ou remaniement de données), elle-même basée sur de l'IA, est mise en avant par l'éditeur. Via l'exécution de scripts Python, "elle sera capable de tirer parti de l'historique des transformations réalisées jusque-là pour automatiser les retraitements sur de gros volumes de données", indique-t-on chez Microsoft

Un pipeline de déploiement

Pour l'occasion, Microsoft compte également renforcer les fonctionnalités d'Azure ML en matière de gestion des déploiements. Pour ce faire, le service cloud sera équipé d'un pipeline d'intégration contenue (baptisé Azure ML Experimentation Service) avec gestion du  versionning des modèles et support de Git. Dans ce cadre, il sera d'ailleurs possible de s'appuyer sur plusieurs frameworks de deep learning (Microsoft CNTK, SparkML ou encore Tensorflow).

"Les modèles Azure ML pourront être déployés et managés sur n'importe quel type d'architecture, Azure ou pas"

Alors que les traitements Azure ML ne peuvent s'exécuter pour l'heure que sur le PaaS de Microsoft (par le biais d'API), la nouvelle version fournira un choix plus large en matière de runtime via un service dédié (Azure ML Model Management Service). L'environnement de développement et de test des modèles pourra ainsi venir se nicher sur divers services Azure (Azure Data Science Virtual Machine, Azure Batch, Apache Spark pour Azure HDInsight…), voire même sur les stations de travail des data scientists. Et côté serveurs de production, les moteurs d'apprentissage être déployés sur  des clusters de machines virtuelles Azure personnalisés, voire sur des serveurs locaux basés par exemple sur Microsoft Machine Learning Server (ex-R Serve).

Docker pour pousser l'IA partout

Via Azure ML Model Management Service, "il sera même possible d'embarquer les modèles dans des containers Docker pour les pousser sur n'importe quel type d'architecture, Azure ou pas", insiste Benjamin Guinebertière, ingénieur logiciel chez Microsoft. Azure ML Model Management s'ouvre en outre sur Azure IoT Edge. "Grâce à cette passerelle, permise elle-aussi par les containers, un modèle de prédiction pourra être poussé sous forme de service web au plus proche d'un objet connecté. Il pourra s'agir par exemple de 'scorer' la valeur d'un capteur, en exécutant le modèle sur un Raspberry Pi in situ, ou encore de faire de la reconnaissance d'images en sortie d'une caméra de surveillance pour ne remonter dans le cloud que les séquences vidéo les plus pertinentes", évoque Benjamin Guinebertière.

Le service Model Management d’Azure ML permet de gérer le déploiement, le pilotage et le monitoring des modèles d'apprentissage. Il s’appuie sur les containers Docker pour gérer leur diffusion sur les systèmes de production. © Capture JDN

Parmi les principaux éditeurs de solutions de data science, Microsoft est le premier à s'orienter vers un tel modèle de plateforme cloud d'IA couvrant de la création de modèles de machine learning jusqu'à l'industrialisation de leur déploiement via une couche de containers Docker universelle. Pour l'heure, Microsoft n'a pas donné de nom particulier ni de numéro de version à la nouvelle mouture d'Azure ML actuellement en développement. Une version bêta (preview) est disponible depuis septembre.