Selon les notes figurant sur le référentiel du projet, Microsoft a remanié son projet open source MMLSpark afin d’améliorer l’intégration « de nombreux outils d'apprentissage profond et de science des données à l'écosystème Spark ». Publié pour la première fois l’an dernier, MMLSpark recouvre une série de projets destinés à rendre Spark plus utile dans de nombreux contextes impliquant l'apprentissage machine en particulier, mais aussi dans d’autres domaines plus généraux.
Certaines fonctionnalités de MMLSpark intègrent Spark aux offres d'apprentissage machine de Microsoft comme Cognitive Toolkit (CNTK) et LightGBM, ainsi qu'à des projets tiers comme OpenCV. D'autres fonctions permettent de transformer Spark en service ou en client - par exemple, pour servir plus facilement les calculs Spark (y compris les prédictions d'apprentissage machine) via le Web, ou permettre à Spark d'interagir avec d'autres services Web via HTTP. Une autre fonction appelée « LIME on Spark » fournit des résultats annotés pour les prédictions servies par un classificateur d'image. Cette solution permet de savoir en un clin d'œil si le classificateur fonctionne correctement.
A poser sur Azure Databricks
MMLSpark regroupe toutes ces fonctions dans un ensemble d'API disponibles pour Scala et Python. Le référentiel contient également quelques exemples destinés à faciliter la mise en route, notamment l'utilisation de services Web dans Spark, l'utilisation d'OpenCV sur Spark pour la manipulation d'images, et l’entrainement d'un classificateur d'images en profondeur sur des VM Azure tournant avec des GPU.
MMLSpark lui-même peut être installé sur des clusters Spark existants sous forme de paquets. Il est également possible de l’utiliser dans le cloud Databricks (ou une appliance Databricks sur Azure), ou de l’installer directement dans une instance Python ou Anaconda, ou encore de l’exécuter dans un conteneur Docker. L'intégration est également disponible pour le langage R, mais pour l'instant uniquement via un wrapper autogénéré en bêta.