Databricks, l’entreprise à l'origine du développement commercial d'Apache Spark, place son projet de cycle de vie de l’apprentissage machine MLflow sous l’autorité de la Fondation Linux. MLflow, contraction de Machine Learning et worflow, fournit une solution programmatique pour traiter tous les éléments d'un projet d'apprentissage machine à travers toutes ses phases : la construction, l’entraînement, la mise au point, le déploiement, la gestion et la révision. Le framework suit et gère les ensembles de données, les instances de modèles, les paramètres des modèles et les algorithmes utilisés dans les projets d'apprentissage machine afin qu'ils puissent être versionnés, stockés dans un référentiel centralisé et facilement repackagés pour être réutilisés par d'autres data scientists.
Le code source de MLflow est déjà disponible sous licence Apache 2.0, ce qui signifie que le projet n’était pas propriétaire. Selon le communiqué de Databricks, l’idée est plutôt de placer le projet sous l’égide « d’une autorité indépendante de tout fournisseur et de le faire bénéficier d’un modèle de gouvernance ouvert ».
Une concurrence avec Kubeflow
Ces deux dernières années, plusieurs projets de gestion de pipelines d'apprentissage machine complets ont émergé. Ces projets ont apporté des outils globaux uniques pour gérer un processus souvent tentaculaire et complexe impliquant de multiples composants en évolution. C’est le cas par exemple du projet Tensorflow Extended de Google. Mais le plus connu d’entre eux est le projet fils appelé Kubeflow, qui s’appuie sur Kubernetes pour gérer les pipelines d'apprentissage machine.
MLflow diffère de Kubeflow sur plusieurs points essentiels. Tout d'abord, il n’a pas besoin d’inclure Kubernetes dans ses composants. En effet, MLflow fonctionne sur des machines locales au moyen de simples scripts Python, ou dans l'environnement hébergé de Databricks. Et, alors que Kubeflow a besoin de TensorFlow et PyTorch comme systèmes d'apprentissage, MLflow est agnostique. Il peut donc fonctionner avec des modèles créés avec ces frameworks, mais aussi avec des modèles créés avec de nombreux autres frameworks.