Qu'est-ce que Kubeflow ?

Kubeflow est une plate-forme de machine learning (ML) Open Source conçue pour simplifier le déploiement et la gestion de workflows de ML sur Kubernetes. En combinant la puissance de Kubernetes avec des outils et des bibliothèques spécifiques au ML, Kubeflow facilite la mise en œuvre de pratiques robustes de MLOps (machine learning operations) . Kubeflow permet également aux utilisateurs de Google Kubernetes Engine (GKE) de créer plus facilement des workflows de ML dans le cadre d'un déploiement d'hyperordinateurs d'IA.

Kubeflow aide les ingénieurs en machine learning et les data scientists à exploiter l'évolutivité et la portabilité de Kubernetes. Les utilisateurs peuvent ainsi se concentrer sur la création, l'entraînement et le déploiement de leurs modèles de machine learning, sans se soucier des complexités de la conteneurisation.

À quoi sert Kubeflow ?

Kubeflow est souvent utilisé pour différentes tâches de machine learning, dont les suivantes :

  • Créer des workflows de ML portables et évolutifs : les utilisateurs peuvent définir leurs workflows de ML comme des pipelines qui peuvent être facilement partagés et déployés dans différents environnements, ce qui favorise la cohérence et la reproductibilité des processus de machine learning.
  • Entraînement de modèles de ML à grande échelle : Kubeflow permet de distribuer les charges de travail d'entraînement dans un cluster Kubernetes, ce qui permet aux utilisateurs d'entraîner des modèles sur des ensembles de données plus volumineux de manière plus efficace. Cette évolutivité peut être utile pour gérer le volume croissant de données dans les applications modernes de machine learning.
  • Déploiement de modèles de ML en production  : Kubeflow peut faciliter le déploiement de modèles de machine learning entraînés en tant que services évolutifs et fiables, et combler l'écart entre le développement et le déploiement de modèles. Cela permet de simplifier la transition des modèles de ML de l'expérimentation à la production.
  • Gestion du cycle de vie du ML : Kubeflow inclut souvent des fonctionnalités permettant de suivre les tests, de gérer les versions des modèles et de surveiller leurs performances, ce qui simplifie l'ensemble du cycle de vie du machine learning. Cette gestion complète est conforme aux principes de MLOps de surveillance et d'amélioration continues.

Composants Kubeflow

Kubeflow comprend plusieurs composants qui peuvent fonctionner ensemble pour fournir une plate-forme complète. Voici quelques composants clés :

Pipelines

S'appuyant sur les conteneurs Docker, Kubeflow Pipelines fournit une plate-forme permettant de créer et de déployer des workflows de machine learning à la fois portables et évolutifs. Chaque pipeline agit comme un plan détaillé des étapes d'un workflow de ML et de leurs interconnexions. L'interface conviviale de Kubeflow Pipelines permet de gérer et de suivre efficacement les tests, de visualiser les exécutions de pipelines et d'examiner en détail les journaux et les métriques de performances.

Katib

Katib est un système de réglage des hyperparamètres pour les modèles de machine learning. Trouver le meilleur jeu d'hyperparamètres pour un modèle peut être un processus chronophage, mais Katib automatise cette tâche. Katib est compatible avec différents algorithmes de recherche, comme la recherche par grille, la recherche aléatoire et l'optimisation bayésienne, ce qui permet aux utilisateurs d'optimiser plus efficacement les performances de leur modèle.

KFServing

KFServing fournit une plate-forme d'inférence sans serveur pour le déploiement de modèles de machine learning entraînés. Il simplifie le déploiement et le scaling des modèles entraînés. KFServing est compatible avec plusieurs frameworks de machine learning, tels que TensorFlow, PyTorch et scikit-learn. Il est donc indépendant du framework et adaptable à différents écosystèmes de ML.

Métadonnées

Le composant Metadata de Kubeflow fournit le suivi de la généalogie et des artefacts. Ce composant aide les data scientists à suivre leurs tests, leurs ensembles de données et leurs modèles, ce qui facilite la gestion et la reproduction de leur travail. Ce suivi des métadonnées facilite la collaboration entre les membres de l'équipe et garantit la reproductibilité des résultats.

Avantages de Kubeflow

Les entreprises qui souhaitent simplifier et améliorer leurs processus de machine learning peuvent trouver de nombreux avantages dans Kubeflow :

Évolutivité et portabilité

Kubeflow aide les utilisateurs à faire évoluer leurs workflows de machine learning à la hausse ou à la baisse selon les besoins. Il peut être déployé sur différentes infrastructures, y compris des environnements sur site, cloud et hybrides. Cette flexibilité permet aux organisations d'adapter leur infrastructure de ML à leurs exigences spécifiques et d'éviter le lock-in fournisseur.

Reproductibilité et suivi des tests

L'un des principaux avantages de Kubeflow est que son architecture basée sur des composants permet de reproduire plus facilement les tests et les modèles. Il fournit des outils pour gérer les versions et suivre les ensembles de données, le code et les paramètres des modèles. Cette reproductibilité garantit la cohérence des tests de ML et facilite la collaboration entre les data scientists.

Extensibilité et intégration

Conçu pour être extensible, Kubeflow peut s'intégrer à divers outils et services, y compris des plates-formes de machine learning dans le cloud. Il peut également être personnalisé avec des composants supplémentaires. Cela peut permettre aux organisations d'exploiter leurs outils et workflows existants, et d'intégrer facilement Kubeflow à leur écosystème de ML.

Réduction de la complexité opérationnelle

En automatisant de nombreuses tâches associées au déploiement et à la gestion des workflows de machine learning, Kubeflow permet aux data scientists et aux ingénieurs de se concentrer sur des tâches à plus forte valeur ajoutée, comme le développement et l'optimisation des modèles. Cette réduction de la charge opérationnelle peut entraîner des gains significatifs en termes de productivité et d'efficacité.

Utilisation améliorée des ressources

Grâce à son intégration étroite avec Kubernetes, Kubeflow peut permettre une utilisation plus efficace des ressources. Les entreprises peuvent optimiser l'allocation de leurs ressources matérielles et réduire les coûts associés à l'exécution de charges de travail de machine learning.

Premiers pas avec Kubeflow

Les utilisateurs ont plusieurs possibilités pour se familiariser avec Kubeflow, en fonction de leurs besoins et de leur niveau d'expérience :

  • Déploiement de Kubeflow dans Google Kubernetes Engine (GKE) : cette option offre une grande flexibilité et un contrôle important sur les déploiements Kubeflow. Les utilisateurs peuvent personnaliser l'installation pour répondre à des exigences spécifiques et avoir un accès complet au cluster Kubernetes sous-jacent. Toutefois, cette approche peut nécessiter une expertise plus poussée de Kubernetes et s'avérer plus complexe.
  • Utiliser Vertex AI Pipelines : cette option est un service entièrement géré qui peut faciliter le déploiement et l'exécution de pipelines Kubeflow sur Google Cloud. Vertex AI Pipelines gère toute la gestion de l'infrastructure, ce qui permet aux utilisateurs de se concentrer sur la création et l'exécution de workflows de ML. Cette approche peut être une bonne option pour ceux qui recherchent une solution gérée facile et rapide à configurer.
  • Découvrir Kubeflow sur d'autres plates-formes : Kubeflow peut également être déployé dans d'autres environnements Kubernetes. Vous trouverez les instructions d'installation et la documentation pour ces plates-formes sur le site Web de Kubeflow.
Pour déterminer la meilleure approche, les utilisateurs doivent prendre en compte leur niveau de familiarité avec Kubernetes, le niveau de contrôle qu'ils souhaitent exercer sur l'infrastructure et leur budget. Pour les utilisateurs qui découvrent Kubernetes ou qui recherchent une solution plus gérée, Vertex AI Pipelines peut être un bon point de départ. Si un utilisateur a besoin de plus de flexibilité ou souhaite exécuter Kubeflow sur site, il est peut-être préférable de déployer Kubeflow sur GKE ou une autre plate-forme Kubernetes.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud