Avec Azure Machine Learning, Microsoft entend industrialiser l'IA
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.

"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.

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.