Published by

Il y a 3 ans -

Temps de lecture 4 minutes

Installer KubeFlow avec GCP ? Trivial !

Apprendre un modèle prédictif est en général une étape bien maîtrisée. La majorité des problèmes se situe plus sur la définition du besoin et sur la capacité de valider des hypothèses grâce à une industrialisation suffisante. En effet, ces deux étapes sont nécessaires afin d’itérer sur votre produit data.

Nous allons ici faire un focus sur l’industrialisation pour vous présenter un nouveau venu qui prend de l’ampleur : KubeFlow.

Orchestrer la data science avec GCP ?

Depuis le 1er Mai 2018, GCP propose sa version d’Airflow : Composer. C’est une solution simple, avec peu d’administration système, pour définir et lancer vos workflows. Et ceux-ci peuvent être, par exemple, vos workflows de machine learning : gathering, preprocessing, training, validation, prediction…

Mais Airflow n’est en soi pas un outil spécifiquement lié au domaine de la data science. Il manque différentes fonctionnalités. Typiquement, si vous voulez traquer la qualité de vos modèles, c’est à vous de construire le système ou alors il faut intégrer une autre brique telle quel MLflow.

KubeFlow, ‘encore une autre solution’, se positionne à la fois comme un concurrent d’Airflow et de MLflow. Son but est cependant vraiment de fournir une expérience unifiée et simplifiée au data scientist et data engineer. Tout n’est pas nécessairement inclus dans KubeFlow mais ses limites sont faites pour être adressées via l’intégration de nouveaux outils, puisque son architecture est définie via une plateforme flexible pour installer de nouveaux composants : Kubernetes.

Ce mois-ci, en mars, deux étapes importantes ont été franchies.

Le 2 mars, la version 1.0 de KubeFlow a été annoncée. Avec cette version, la stabilité de KubeFlow devient un des engagements de l’outil. Ce n’est plus une bêta qui pourrait fonctionner ou pas, à vos risques et périls. Cela dit, KubeFlow reste un ensemble de composants. Il faut donc vérifier pour votre besoin quel est le degré de maturité vis à vis des composants que vous utilisez.

Le 11 mars, Google a annoncé, en version bêta, une nouvelle solution : Cloud AI Platform Pipelines. Derrière ce mystérieux nom se cache une volonté de simplifier encore plus l’utilisation de KubeFlow via une intégration simple et guidée à tout l’écosystème GCP. Souvenez vous de Composer, la version GCP d’Airflow. Il s’agit de la même approche.

GCP propose désormais un simple écran pour déployer KubeFlow, votre future plateforme de pipelines.

Voyons les options offertes par cet écran de plus près.

Zone du cluster : L’endroit où le cluster GKE (Kubernetes) sera créé. C’est une configuration utile pour optimiser les coûts de transferts de données mais aussi pour s’assurer que les données et les traitements associés soient dans les zones géographiques autorisées par l’entreprise.

Accès étendu aux API cloud : Cette configuration non obligatoire permet de simplifier la mise en place d’un POC. Dans le cadre d’un déploiement en production, il peut être intéressant de ne pas choisir cette option et de paramétrer plus finement les droits. Une solution consiste à créer des comptes de services spécifiques par produit data, et cela même si tous les produits utilisent le même KubeFlow.

Créer un cluster : L’écran propose de créer directement un cluster GKE pour faciliter un POC. Mais si vous avez déjà un cluster GKE, celui-ci peut être utilisé immédiatement en le sélectionnant. Cela peut être intéressant pour mieux mutualiser les ressources matérielles. On pourrait par exemple avoir un cluster GKE de production utilisé à la fois par KubeFlow pipeline et d’autres applications, telles que des applications web.

Espace de nom : Cette configuration permet de séparer logiquement les services lancés par KubeFlow à l’intérieur du cluster GKE. C’est particulièrement utile quand KubeFlow partage son cluster avec d’autres applications.

Déployer : Permet de déployer KubeFlow sur le cluster GKE qui vient d’être créé ou sélectionné.

Une fois cela fait, comme pour Composer, l’instance se retrouve dans la liste des instances actives.

Et il ne vous reste plus qu’à cliquer sur OUVRIR LE TABLEAU DE BORD DES PIPELINES pour accéder à votre instance KubeFlow.

Conclusion

KubeFlow est simple à installer sur GCP. Toute la complexité est en effet cachée par l’interface graphique. La principale contrainte est qu’il faut être owner sur le projet. Mais il s’agit d’un héritage de l’installation standard de KubeFlow. Ainsi, même sans le wizard de GCP, le problème sera identique.

Dans le cadre d’un POC personnel, il faut aussi noter qu’un compte trial ne permettra pas d’installer KubeFlow car les quotas sont trop faibles. Il faut donc utiliser votre compte entreprise ou alors renseigner votre carte bancaire.

Pour tous ceux qui ont regardé les dessous de KubeFlow, sa complexité peut faire peur. On vient de démontrer ici que l’installation est triviale. Et on pourra ainsi expliquer, dans un prochain article, comment on utilise KubeFlow pour faciliter la vie des projets de machine learning.

Published by

Publié par Bertrand Dechoux

Consultant et Formateur Hadoop @BertrandDechoux

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.