Aujourd'hui, de nombreux clients AWS créent des plates-formes d'apprentissage automatique (ML) prêtes pour l'entreprise sur Service Amazon Elastic Kubernetes (Amazon EKS) en utilisant Kubeflow sur AWS (une distribution de Kubeflow spécifique à AWS) dans de nombreux cas d'utilisation, notamment la vision par ordinateur, la compréhension du langage naturel, la traduction vocale et la modélisation financière.
Avec la dernière version de Kubeflow v1.6.1 open source, la communauté Kubeflow continue de soutenir cette adoption à grande échelle de Kubeflow pour les cas d'utilisation en entreprise. La dernière version comprend de nombreuses nouvelles fonctionnalités intéressantes telles que la prise en charge de Kubernetes v1.22, le SDK Python combiné pour PyTorch, MXNet, MPI, XGBoost dans l'opérateur de formation distribué de Kubeflow, les nouveaux CRD ClusterServingRuntime et ServingRuntime pour le service de modèle, et bien d'autres.
Les contributions d'AWS à Kubeflow avec le récent lancement de Kubeflow sur AWS 1.6.1 prennent en charge toutes les fonctionnalités Kubeflow open source en amont et incluent de nombreuses nouvelles intégrations avec les services AWS hautement optimisés, natifs du cloud et prêts pour l'entreprise qui vous aideront à créer des des systèmes de ML sécurisés, portables et évolutifs.
Dans cet article, nous discutons des nouvelles fonctionnalités de Kubeflow sur AWS v1.6.1 et mettons en évidence trois intégrations importantes qui ont été regroupées sur une seule plateforme pour vous offrir :
- Solution en un clic d'infrastructure en tant que code (IaaC) qui automatise l'installation de bout en bout de Kubeflow, y compris la création de cluster EKS
- Prise en charge de la formation distribuée sur Amazon Sage Maker en utilisant Opérateurs Amazon SageMaker pour Kubernetes (ACK) et Composants SageMaker pour les pipelines Kubeflow et localement sur Kubernetes en utilisant Opérateurs de formation Kubeflow. De nombreux clients utilisent cette capacité pour créer des architectures d'apprentissage automatique hybrides dans lesquelles ils exploitent à la fois le calcul Kubernetes pour la phase d'expérimentation et SageMaker pour exécuter des charges de travail à l'échelle de la production.
- Surveillance et observabilité améliorées pour les charges de travail ML, y compris Amazon EKS, les métriques Kubeflow et les journaux d'application à l'aide de Prometheus, Grafana et Amazon Cloud Watch intégrations
Le cas d'utilisation de ce blog se concentrera spécifiquement sur l'intégration de SageMaker avec Kubeflow sur AWS qui pourrait être ajoutée à vos flux de travail Kubernetes existants vous permettant de créer des architectures d'apprentissage automatique hybrides.
Kubeflow sur AWS
Kubeflow sur AWS 1.6.1 fournit un chemin clair pour utiliser Kubeflow, avec l'ajout des services AWS suivants en plus des fonctionnalités existantes :
- Intégration SageMaker avec Kubeflow pour exécuter des workflows ML hybrides à l'aide des opérateurs SageMaker pour Kubernetes (ACK) et des composants SageMaker pour les pipelines Kubeflow.
- Les options de déploiement automatisé ont été améliorées et simplifiées à l'aide de scripts Kustomize et de graphiques Helm.
- Ajout de la prise en charge du déploiement en un clic d'Infrastructure as Code (IaC) pour Kubeflow sur AWS à l'aide de Terraform pour tous les éléments disponibles options de déploiement. Ce script automatise la création des ressources AWS suivantes :
- Support pour Lien privé AWS pour Amazon S3 permettant aux utilisateurs régionaux non commerciaux de se connecter à leurs points de terminaison S3 respectifs.
- Ajout de l'intégration avec Service géré Amazon pour Prometheus (AMP) et Grafana géré par Amazon pour surveiller les métriques avec Kubeflow sur AWS.
- Mise à jour des conteneurs de serveur de bloc-notes Kubeflow avec les dernières images de conteneur d'apprentissage en profondeur basées sur TensorFlow 2.10.0 et PyTorch 1.12.1.
- Intégration avec les DLC AWS pour une exécution distribuée Formation ainsi que inférence charges de travail.
Le diagramme d'architecture suivant est un aperçu rapide de toutes les intégrations de services (y compris celles déjà mentionnées) qui sont disponibles pour les composants de contrôle et de plan de données Kubeflow dans Kubeflow sur AWS. Le plan de contrôle Kubeflow est installé au-dessus d'Amazon EKS, qui est un service de conteneur géré utilisé pour exécuter et faire évoluer les applications Kubernetes dans le cloud. Ces intégrations de services AWS vous permettent de dissocier les parties critiques du plan de contrôle Kubeflow de Kubernetes, offrant une conception sécurisée, évolutive, résiliente et optimisée en termes de coûts. Pour plus de détails sur la valeur que ces intégrations de services ajoutent à Kubeflow open source, consultez Créez et déployez un système de machine learning évolutif sur Kubernetes avec Kubeflow sur AWS.
Discutons plus en détail de la façon dont les fonctionnalités clés de Kubeflow sur AWS 1.6.1 pourraient être utiles à votre organisation.
Détails des fonctionnalités de Kubeflow sur AWS
Avec la version 1.6.1 de Kubeflow, nous avons essayé de fournir de meilleurs outils pour différents types de clients qui facilitent la prise en main de Kubeflow, quelles que soient les options que vous choisissez. Ces outils fournissent un bon point de départ et peuvent être modifiés pour répondre à vos besoins précis.
Options de déploiement
Nous fournissons différentes options de déploiement pour différents cas d'utilisation client. Ici, vous pouvez choisir les services AWS avec lesquels vous souhaitez intégrer votre déploiement Kubeflow. Si vous décidez de modifier les options de déploiement ultérieurement, nous vous recommandons d'effectuer une nouvelle installation pour le nouveau déploiement. Les options de déploiement suivantes sont disponibles :
Si vous souhaitez déployer Kubeflow avec des changements minimes, considérez le vanille possibilité de déploiement. Toutes les options de déploiement disponibles peuvent être installées à l'aide de Kustomize, Helm ou Terraform.
Nous proposons également différents déploiements de modules complémentaires qui peuvent être installés en plus de l'une de ces options de déploiement :
Options d'installation
Une fois que vous avez décidé quelle option de déploiement correspond le mieux à vos besoins, vous pouvez choisir comment vous souhaitez installer ces déploiements. Dans un effort pour servir les experts et les nouveaux arrivants, nous avons différents niveaux d'automatisation et de configuration.
Option 1 : Terraform (IaC)
Cela crée un cluster EKS et toutes les ressources d'infrastructure AWS associées, puis déploie Kubeflow en une seule commande à l'aide de Terraform. En interne, cela utilise des plans EKS et des graphiques Helm.
Cette option présente les avantages suivants :
- Il offre aux entreprises la flexibilité de déployer Amazon EKS et Kubeflow avec une seule commande sans avoir à se soucier des configurations de composants Kubeflow spécifiques. Cela aidera énormément à accélérer l'évaluation de la technologie, le prototypage et le cycle de vie du développement du produit, offrant la flexibilité d'utiliser les modules terraform et de le modifier pour répondre à tous les besoins spécifiques au projet.
- Aujourd'hui, de nombreuses organisations qui placent Terraform au centre de leur stratégie cloud peuvent désormais utiliser Kubeflow sur la solution AWS Terraform pour atteindre leurs objectifs cloud.
Option 2 : Kustomize ou Helm Charts :
Cette option vous permet de déployer Kubeflow en deux étapes :
- Créez des ressources AWS comme Amazon EKS, Amazon RDS, Amazon S3 et Amazon Cognito, soit via les scripts automatisés inclus dans la distribution AWS, soit manuellement en suivant un étape par étape.
- Installez les déploiements Kubeflow à l'aide des chartes Helm ou de Kustomize.
Cette option présente les avantages suivants :
- L'objectif principal de cette option d'installation est de fournir des configurations Kubernetes liées à Kubeflow. Par conséquent, vous pouvez choisir de créer ou d'intégrer des clusters EKS existants ou l'une des ressources AWS associées comme Amazon RDS, Amazon S3 et Amazon Cognito, et de le configurer et de le gérer pour qu'il fonctionne avec Kubeflow sur AWS.
- Il est plus facile de passer d'un manifeste open source Kustomize Kubeflow à une distribution AWS Kubeflow.
Le diagramme suivant illustre les architectures des deux options.
Intégration avec SageMaker
SageMaker est un service entièrement géré conçu et optimisé spécifiquement pour la gestion des flux de travail ML. Il supprime les lourdes charges indifférenciées de la gestion de l'infrastructure et élimine le besoin d'investir dans l'informatique et le DevOps pour gérer les clusters pour la création de modèles ML, la formation et l'inférence.
De nombreux clients AWS qui ont des exigences de portabilité ou des restrictions standard sur site utilisent Amazon EKS pour configurer des pipelines ML reproductibles exécutant des charges de travail de formation et d'inférence. Cependant, cela nécessite que les développeurs écrivent du code personnalisé pour optimiser l'infrastructure ML sous-jacente, fournir une disponibilité et une fiabilité élevées et se conformer aux exigences de sécurité et réglementaires appropriées. Ces clients souhaitent donc utiliser SageMaker pour une infrastructure gérée et optimisée en termes de coûts pour la formation et les déploiements de modèles et continuer à utiliser Kubernetes pour l'orchestration et les pipelines ML afin de conserver la standardisation et la portabilité.
Pour répondre à ce besoin, AWS vous permet de former, d'ajuster et de déployer des modèles dans SageMaker à partir d'Amazon EKS en utilisant les deux options suivantes :
- Les opérateurs Amazon SageMaker ACK pour Kubernetes, qui sont basés sur le Contrôleurs AWS pour Kubernetes (ACK). ACK est la stratégie AWS qui apporte la normalisation pour la création de contrôleurs personnalisés Kubernetes qui permettent aux utilisateurs de Kubernetes de provisionner des ressources AWS telles que des bases de données ou des files d'attente de messages simplement en utilisant l'API Kubernetes. Les opérateurs SageMaker ACK permettent aux développeurs ML et aux data scientists qui utilisent Kubernetes comme plan de contrôle de former, régler et déployer plus facilement des modèles ML dans SageMaker sans se connecter à la console SageMaker.
- La Composants SageMaker pour les pipelines Kubeflow, qui vous permettent d'intégrer SageMaker à la portabilité et à l'orchestration de Kubeflow Pipelines. Avec les composants SageMaker, chaque tâche du workflow du pipeline s'exécute sur SageMaker au lieu du cluster Kubernetes local. Cela vous permet de créer et de surveiller des tâches natives de formation, de réglage, de déploiement de points de terminaison et de transformation par lots SageMaker à partir de vos pipelines Kubeflow, vous permettant ainsi de déplacer le calcul complet, y compris les tâches de traitement de données et de formation, du cluster Kubernetes vers le service géré optimisé pour l'apprentissage automatique de SageMaker.
À partir de Kubeflow sur AWS v1.6.1, toutes les options de déploiement Kubeflow disponibles regroupent les deux options d'intégration Amazon SageMaker par défaut sur une seule plateforme. Cela signifie que vous pouvez désormais soumettre des tâches SageMaker à l'aide des opérateurs SageMaker ACK à partir d'un serveur Kubeflow Notebook lui-même en soumettant la ressource SageMaker personnalisée ou à partir de l'étape du pipeline Kubeflow à l'aide des composants SageMaker.
Il existe deux versions des composants SageMaker - Boto3 (AWS SDK pour AWS SDK pour Python) composants basés sur la version 1 et SageMaker Operator for K8s (ACK) composants basés sur la version 2. La nouvelle version 2 des composants SageMaker prend en charge les dernières API de formation SageMaker et nous continuerons à ajouter d'autres fonctionnalités SageMaker à cette version du composant. Vous avez cependant la possibilité de combiner les composants Sagemaker version 2 pour la formation et la version 1 pour d'autres fonctionnalités SageMaker telles que le réglage des hyperparamètres, le traitement des tâches, l'hébergement et bien d'autres.
Intégration avec Prometheus et Grafana
Prometheus est un outil d'agrégation de métriques open source que vous pouvez configurer pour s'exécuter sur des clusters Kubernetes. Lors de l'exécution sur des clusters Kubernetes, un serveur Prometheus principal récupère périodiquement les points de terminaison des pods.
Les composants Kubeflow, tels que Kubeflow Pipelines (KFP) et Notebook, émettent des métriques Prometheus pour permettre de surveiller les ressources des composants telles que le nombre d'expériences en cours ou le nombre de notebooks.
Ces métriques peuvent être agrégées par un serveur Prometheus exécuté dans le cluster Kubernetes et interrogées à l'aide du langage de requête Prometheus (PromQL). Pour plus de détails sur les fonctionnalités prises en charge par Prometheus, consultez le Documentation Prometheus.
La distribution Kubeflow sur AWS prend en charge l'intégration avec les services gérés AWS suivants :
- Amazon Managed Prometheus (AMP) qui est un Prométhée-service de surveillance compatible pour l'infrastructure de conteneurs et les métriques d'application pour les conteneurs qui permettent aux clients de surveiller facilement et en toute sécurité les environnements de conteneurs à grande échelle. À l'aide d'AMP, vous pouvez visualiser, analyser et alerter sur vos métriques, journaux et traces collectés à partir de plusieurs sources de données dans votre système d'observabilité, y compris AWS, des ISV tiers et d'autres ressources de votre portefeuille informatique.
- Amazon Managed Grafana, un service de visualisation de données entièrement géré et sécurisé basé sur l'open source grafana projet, qui permet aux clients d'interroger, de corréler et de visualiser instantanément les métriques opérationnelles, les journaux et les traces de leurs applications à partir de plusieurs sources de données. Amazon Managed Grafana décharge la gestion opérationnelle de Grafana en adaptant automatiquement l'infrastructure de calcul et de base de données à mesure que les demandes d'utilisation augmentent, avec des mises à jour de version automatisées et des correctifs de sécurité.
La distribution Kubeflow sur AWS prend en charge l'intégration d'Amazon Managed Service for Prometheus et d'Amazon Managed Grafana pour faciliter l'ingestion et la visualisation des métriques Prometheus en toute sécurité à grande échelle.
Les métriques suivantes sont ingérées et peuvent être visualisées :
- Métriques émises par les composants Kubeflow tels que Kubeflow Pipelines et le serveur Notebook
- Kubeflow métriques du plan de contrôle
Pour configurer Amazon Managed Service for Prometheus et Amazon Managed Grafana pour votre cluster Kubeflow, consultez Utilisez Prometheus, Amazon Managed Service for Prometheus et Amazon Managed Grafana pour surveiller les métriques avec Kubeflow sur AWS.
Vue d'ensemble de la solution
Dans ce cas d'utilisation, nous utilisons le déploiement Kubeflow vanilla à l'aide de l'option d'installation Terraform. Une fois l'installation terminée, nous nous connectons au tableau de bord Kubeflow. À partir du tableau de bord, nous faisons tourner un serveur de bloc-notes Kubeflow Jupyter pour créer un pipeline Kubeflow qui utilise SageMaker pour exécuter une formation distribuée pour un modèle de classification d'images et un point de terminaison SageMaker pour le déploiement du modèle.
Pré-requis
Assurez-vous de remplir les conditions préalables suivantes :
- Vous avez un Compte AWS.
- Assurez-vous que vous êtes dans le
us-west-2
Région pour exécuter cet exemple. - Utilisez Google Chrome pour interagir avec le Console de gestion AWS et Kubeflow.
- Assurez-vous que votre compte dispose d'une limite de type de ressource de formation SageMaker pour ml.p3.2xlarge augmentée à 2 à l'aide de la console Quotas de service.
- En option, vous pouvez utiliser AWSCloud9, un environnement de développement intégré (IDE) basé sur le cloud qui permet d'effectuer tout le travail à partir de votre navigateur Web. Pour les instructions de configuration, reportez-vous à Configurer l'IDE Cloud9. Sélectionnez Ubuntu Server 18.04 comme plate-forme dans les paramètres AWS Cloud9.Ensuite, à partir de votre environnement AWS Cloud9, choisissez le signe plus et ouvrez un nouveau terminal.
Vous configurez également un Interface de ligne de commande AWS (AWS CLI). Pour ce faire, vous avez besoin d'un ID de clé d'accès et d'une clé d'accès secrète d'un Gestion des identités et des accès AWS (JE SUIS) utilisateur compte avec des privilèges administratifs (joindre la stratégie gérée existante) et un accès par programmation. Voir le code suivant :
Vérifiez les autorisations que cloud9 utilisera pour appeler les ressources AWS.
Vérifiez à partir de la sortie ci-dessous que vous voyez arn de l'utilisateur admin que vous avez configuré dans le profil AWS CLI. Dans cet exemple, il s'agit de "kubeflow-user"
Installer Amazon EKS et Kubeflow sur AWS
Pour installer Amazon EKS et Kubeflow sur AWS, procédez comme suit :
- Configurez votre environnement pour déployer Kubeflow sur AWS :
- Déployez la version vanille de Kubeflow sur AWS et les ressources AWS associées comme EKS à l'aide de Terraform. Veuillez noter que les volumes EBS utilisés dans le groupe de nœuds EKS ne sont pas chiffrés par défaut :
Configurer les autorisations Kubeflow
- Ajoutez des autorisations au module Notebook et au module de composant Pipeline pour effectuer des appels d'API SageMaker, S3 et IAM à l'aide
kubeflow_iam_permissions.sh
scripts. - Créez un rôle d'exécution SageMaker pour permettre à la tâche de formation SageMaker d'accéder à l'ensemble de données de formation à partir du service S3 à l'aide de
sagemaker_role.sh
scripts.
Accéder au tableau de bord Kubeflow
Pour accéder au tableau de bord Kubeflow, procédez comme suit :
- Vous pouvez exécuter le tableau de bord Kubeflow localement dans l'environnement Cloud9 sans exposer vos URL à Internet public en exécutant les commandes ci-dessous.
- Selectionnez Aperçu de l'application en cours d'exécution.
- Choisissez l'icône dans le coin du tableau de bord Kubeflow pour l'ouvrir en tant qu'onglet séparé dans Chrome.
- Entrez les informations d'identification par défaut (
user@example.com/12341234
) pour vous connecter au tableau de bord Kubeflow.
Configurer l'environnement Kubeflow sur AWS
Une fois connecté au tableau de bord Kubeflow, assurez-vous d'avoir le bon espace de noms (kubeflow-user-example-com
) choisi. Effectuez les étapes suivantes pour configurer votre environnement Kubeflow sur AWS :
- Sur le tableau de bord Kubeflow, choisissez Carnets dans le volet de navigation.
- Selectionnez Nouveau carnet.
- Pour Nom, Entrer
aws-nb
. - Pour Image du dossier Jupyter, choisissez l'image
jupyter-pytorch:1.12.0-cpu-py38-ubuntu20.04-ec2-2022-09-20
(le dernier disponiblejupyter-pytorch
image DLC). - Pour Processeur, Entrer
1
. - Pour Mémoire, Entrer
5
. - Pour GPU, laissez comme Aucun.
- N'apportez aucune modification au Espace de travail ainsi que Volumes de données sections.
- Sélectionnez Autoriser l'accès à Kubeflow Pipelines dans l' Configurations section et choisissez Lancer.
- Vérifiez que votre bloc-notes est créé avec succès (cela peut prendre quelques minutes).
- Selectionnez NOUS CONTACTER pour vous connecter à JupyterLab.
- Clonez le repo en saisissant
https://github.com/aws-samples/eks-kubeflow-cloudformation-quick-start.git
dans l' Cloner un dépôt champ. - Selectionnez Cloner.
Exécuter un exemple de formation distribuée
Après avoir configuré le bloc-notes Jupyter, vous pouvez exécuter l'intégralité de la démonstration en suivant les étapes de haut niveau suivantes à partir du dossier eks-kubeflow-cloudformation-quick-start/workshop/pytorch-distributed-training
dans le dépôt cloné :
- Exécutez le script de formation PyTorch Distributed Data Parallel (DDP) – Reportez-vous au script de formation PyTorch DDP
cifar10-distributed-gpu-final.py
, qui inclut un exemple de réseau neuronal convolutif et une logique pour distribuer la formation sur un cluster CPU et GPU à plusieurs nœuds. - Créer un pipeline Kubeflow – Exécutez le bloc-notes
STEP1.0_create_pipeline_k8s_sagemaker.ipynb
pour créer un pipeline qui exécute et déploie des modèles sur SageMaker. Assurez-vous d'installer la bibliothèque SageMaker dans le cadre de la première cellule de bloc-notes et de redémarrer le noyau avant d'exécuter le reste des cellules de bloc-notes. - Appeler un point de terminaison SageMaker – Exécutez le bloc-notes
STEP1.1_invoke_sagemaker_endpoint.ipynb
pour appeler et tester le point de terminaison d'inférence de modèle SageMaker créé dans le bloc-notes précédent.
Dans les sections suivantes, nous détaillons chacune de ces étapes.
Exécutez le script de formation PyTorch DDP
Dans le cadre de la formation distribuée, nous formons un modèle de classification créé par un simple réseau neuronal convolutif qui fonctionne sur l'ensemble de données CIFAR10. Le scénario de formation cifar10-distributed-gpu-final.py
contient uniquement les bibliothèques open source et est compatible pour s'exécuter à la fois sur les clusters de formation Kubernetes et SageMaker sur des périphériques GPU ou des instances CPU. Examinons quelques aspects importants du script de formation avant d'exécuter nos exemples de bloc-notes.
Nous utilisons les torch.distributed
module, qui contient la prise en charge de PyTorch et les primitives de communication pour le parallélisme multi-processus entre les nœuds du cluster :
Nous créons un modèle simple de classification d'images en utilisant une combinaison de couches convolutives, de regroupement maximal et linéaires auxquelles un relu
la fonction d'activation est appliquée dans le passage vers l'avant de l'entraînement du modèle :
Si le cluster d'entraînement a des GPU, le script exécute l'entraînement sur les appareils CUDA et la variable d'appareil contient l'appareil CUDA par défaut :
Avant d'exécuter une formation distribuée à l'aide de PyTorch DistributedDataParallel
pour exécuter un traitement distribué sur plusieurs nœuds, vous devez initialiser l'environnement distribué en appelant init_process_group
. Celui-ci est initialisé sur chaque machine du cluster d'apprentissage.
Nous instancions le modèle de classifieur et copions le modèle sur l'appareil cible. Si la formation distribuée est activée pour s'exécuter sur plusieurs nœuds, le DistributedDataParallel
La classe est utilisée comme objet wrapper autour de l'objet modèle, ce qui permet une formation distribuée synchrone sur plusieurs machines. Les données d'entrée sont réparties sur la dimension du lot et une réplique du modèle est placée sur chaque machine et chaque appareil. Voir le code suivant :
Créer un pipeline Kubeflow
Le bloc-notes utilise le Kit de développement logiciel (SDK) Kubeflow Pipelines et son ensemble de packages Python fourni pour spécifier et exécuter les pipelines de workflow ML. Dans le cadre de ce SDK, nous utilisons le décorateur de package de langage spécifique au domaine (DSL) dsl.pipeline
, qui décore les fonctions Python pour renvoyer un pipeline.
Le pipeline Kubeflow utilise le composant SageMaker V2 pour soumettre la formation à SageMaker à l'aide des opérateurs SageMaker ACK. La création et le déploiement de modèles SageMaker utilisent le composant SageMaker V1, qui sont des composants SageMaker basés sur Boto3. Nous utilisons une combinaison des deux composants dans cet exemple pour démontrer la flexibilité dont vous disposez en matière de choix.
- Chargez les composants SageMaker à l'aide du code suivant :
Dans le code suivant, nous créons le pipeline Kubeflow où nous exécutons la formation distribuée SageMaker à l'aide de deux
ml.p3.2xlarge
les instances:Une fois le pipeline défini, vous pouvez compiler le pipeline selon une spécification Argo YAML à l'aide du SDK Kubeflow Pipelines.
kfp.compiler
forfait. Vous pouvez exécuter ce pipeline à l'aide du client SDK Kubeflow Pipelines, qui appelle le point de terminaison du service Pipelines et transmet les en-têtes d'authentification appropriés directement depuis le bloc-notes. Voir le code suivant : - Choisissez le Détails de l'exécution sous la dernière cellule pour afficher le pipeline Kubeflow. La capture d'écran suivante montre les détails de notre pipeline pour le composant de formation et de déploiement SageMaker.
- Choisissez l'étape de la tâche d'entraînement et sur la Journaux , choisissez le lien CloudWatch logs pour accéder aux journaux SageMaker.
La capture d'écran suivante montre les journaux CloudWatch pour chacune des deux instances ml.p3.2xlarge. - Choisissez l'un des groupes pour voir les journaux.
- Capturez le point de terminaison SageMaker en choisissant le Sagemaker - Modèle de déploiement étape et copier le
endpoint_name
valeur d'artefact de sortie.
Appeler un point de terminaison SageMaker
Le cahier STEP1.1_invoke_sagemaker_endpoint.ipynb
appelle le point de terminaison d'inférence SageMaker créé à l'étape précédente. Assurez-vous de mettre à jour le nom du point de terminaison :
Nettoyer
Pour nettoyer vos ressources, procédez comme suit:
- Exécutez les commandes suivantes dans AWS Cloud9 pour supprimer les ressources AWS :
- Supprimer le rôle IAM "
sagemakerrole
” à l'aide de la commande AWS CLI suivante : - Supprimez le point de terminaison SageMaker à l'aide de la commande AWS CLI suivante :
Résumé
Dans cet article, nous avons souligné la valeur que Kubeflow sur AWS 1.6.1 fournit par le biais d'intégrations de services gérés par AWS natifs pour répondre aux besoins des cas d'utilisation d'IA et de ML au niveau de l'entreprise. Vous pouvez choisir parmi plusieurs options de déploiement pour installer Kubeflow sur AWS avec diverses intégrations de services à l'aide de Terraform, Kustomize ou Helm. Le cas d'utilisation de cet article a démontré une intégration de Kubeflow avec SageMaker qui utilise un cluster de formation géré SageMaker pour exécuter une formation distribuée pour un modèle de classification d'images et un point de terminaison SageMaker pour le déploiement du modèle.
Nous avons également mis à disposition un exemple d'exemple de pipeline qui utilise les derniers composants SageMaker ; vous pouvez l'exécuter directement depuis le tableau de bord Kubeflow. Ce pipeline nécessite la Données Amazon S3 ainsi que Rôle IAM d'exécution SageMaker comme entrées requises.
Pour démarrer avec Kubeflow sur AWS, consultez les options de déploiement intégré à AWS disponibles dans Kubeflow sur AWS. Vous pouvez suivre le Référentiel AWS Labs pour suivre toutes les contributions AWS à Kubeflow. Vous pouvez également nous retrouver sur le Chaîne Kubeflow #AWS Slack; vos commentaires nous aideront à prioriser les prochaines fonctionnalités à contribuer au projet Kubeflow.
À propos des auteurs
Kanwaljit Khurmi est architecte de solutions senior chez Amazon Web Services. Il travaille avec les clients AWS pour fournir des conseils et une assistance technique les aidant à améliorer la valeur de leurs solutions lors de l'utilisation d'AWS. Kanwaljit est spécialisé dans l'aide aux clients avec des applications conteneurisées et d'apprentissage automatique.
Kartik Kalamadi est ingénieur en développement logiciel chez Amazon AI. Actuellement axé sur les projets open source Machine Learning Kubernetes tels que Kubeflow et AWS SageMaker Controller pour k8s. Pendant mon temps libre, j'aime jouer à des jeux PC et jouer avec la réalité virtuelle en utilisant le moteur Unity.
Rahul Kharse est ingénieur en développement logiciel chez Amazon Web Services. Son travail se concentre sur l'intégration des services AWS avec des plateformes ML Ops open source conteneurisées pour améliorer leur évolutivité, leur fiabilité et leur sécurité. En plus de se concentrer sur les demandes de fonctionnalités des clients, Rahul aime également expérimenter les derniers développements technologiques dans le domaine.
- Avancé (300)
- AI
- art de l'IA
- générateur d'art ai
- robot IA
- Amazon Sage Maker
- intelligence artificielle
- certification en intelligence artificielle
- intelligence artificielle en banque
- robot d'intelligence artificielle
- robots d'intelligence artificielle
- logiciel d'intelligence artificielle
- Apprentissage automatique AWS
- blockchain
- conférence blockchain ai
- cognitif
- intelligence artificielle conversationnelle
- crypto conférence ai
- de dall
- l'apprentissage en profondeur
- google ai
- Kubeflow
- machine learning
- Platon
- platon ai
- Intelligence des données Platon
- Jeu de Platon
- PlatonDonnées
- jeu de platogamie
- échelle ai
- syntaxe
- zéphyrnet