Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SageMaker Opérateurs pour Kubernetes
SageMaker Les opérateurs de Kubernetes facilitent la tâche des développeurs et des data scientists qui utilisent Kubernetes pour former, ajuster et déployer des modèles d'apprentissage automatique (ML) dans ce domaine. SageMaker Vous pouvez installer ces SageMaker opérateurs sur votre cluster Kubernetes dans Amazon Elastic Kubernetes Service (Amazon EKS SageMaker ) pour créer des tâches de manière native à l'aide de l'API Kubernetes et d'outils Kubernetes en ligne de commande tels que. kubectl
Ce guide explique comment configurer et utiliser les opérateurs pour exécuter l'entraînement de modèles, le réglage des hyperparamètres ou l'inférence (en temps réel et par lots) à SageMaker partir d'un cluster Kubernetes. Les présentes procédures et directives supposent que vous connaissez Kubernetes et ses commandes de base.
Important
Nous arrêtons le développement et le support technique de la version originale d' SageMaker Operators for Kubernetes
Si vous utilisez actuellement la version v1.2.2
ou une version inférieure d' SageMaker Operators for Kubernetes
Pour en savoir plus sur les étapes de migration, consultez Migrer les ressources vers la dernière version d'Operators.
Pour obtenir les réponses aux questions fréquemment posées concernant la fin du support de la version originale d' SageMaker Operators for Kubernetes, voir Annonce de la fin du support de la version originale des SageMaker opérateurs pour Kubernetes
Note
Il n'y a pas frais supplémentaires liés à l'utilisation de ces opérateurs. Vous devez payer des frais pour toutes les SageMaker ressources que vous utilisez par l'intermédiaire de ces opérateurs.
Qu'est-ce qu'un opérateur ?
Un opérateur Kubernetes est un contrôleur d'applications qui gère des applications pour le compte d'un utilisateur de Kubernetes. Les contrôleurs du plan de contrôle comprennent différentes boucles de commande qui écoutent un gestionnaire d'état central (ETCD) pour réguler l'état de l'application qu'ils contrôlent. Des exemples de telles applications incluent le C loud-controller-managerkube-controller-manager
. Les opérateurs fournissent généralement un niveau d'abstraction supérieur à celui de l'API Kubernetes brute, ce qui permet aux utilisateurs de déployer et de gérer plus facilement des applications. Pour ajouter de nouvelles fonctionnalités à Kubernetes, les développeurs peuvent étendre l'API Kubernetes en créant une ressource personnalisée qui contient leur logique et leurs composants spécifiques à l'application ou au domaine. Les opérateurs dans Kubernetes permettent aux utilisateurs d'appeler ces ressources personnalisées de manière native et d'automatiser les flux associés.
Comment fonctionne AWS Controllers for Kubernetes (ACK) ?
Les SageMaker opérateurs pour Kubernetes vous permettent de gérer les tâches SageMaker depuis votre cluster Kubernetes. La dernière version d' SageMaker Operators for Kubernetes est basée sur AWS Controllers for Kubernetes (ACK). ACK inclut un environnement d'exécution de contrôleur commun, un générateur de code et un ensemble de contrôleurs AWS spécifiques au service, dont le SageMaker contrôleur.
Le schéma suivant illustre le fonctionnement d'ACK.
Dans ce schéma, un utilisateur de Kubernetes souhaite exécuter l'entraînement des modèles depuis le cluster Kubernetes à l'aide SageMaker de l'API Kubernetes. L'utilisateur lance un appel à kubectl
apply
et transmet un fichier décrivant une ressource personnalisée Kubernetes décrivant le SageMaker travail de formation. kubectl apply
transmet ce fichier, appelé manifeste, au serveur d'API Kubernetes exécuté dans le nœud du contrôleur Kubernetes (étape 1 du schéma de flux de travail). Le serveur d'API Kubernetes reçoit le manifeste avec la spécification de la tâche de SageMaker formation et détermine si l'utilisateur est autorisé à créer une ressource personnaliséesageMaker.services.k8s.aws/TrainingJob
, et si la ressource personnalisée est correctement formatée (étape 2). Si l'utilisateur est autorisé et si la ressource personnalisée est valide, le serveur d'API Kubernetes écrit (étape 3) la ressource personnalisée dans son magasin de données etcd, puis répond (étape 4) à l'utilisateur pour lui indiquer que la ressource personnalisée a été créée. Le SageMaker contrôleur, qui s'exécute sur un nœud de travail Kubernetes dans le contexte d'un pod Kubernetes normal, est informé (étape 5) qu'une nouvelle ressource personnalisée a été créée. sageMaker.services.k8s.aws/TrainingJob
Le SageMaker contrôleur communique ensuite (étape 6) avec l' SageMaker API, en appelant l' SageMaker CreateTrainingJob
API pour créer le travail de formation dansAWS. Après avoir communiqué avec l' SageMaker API, le SageMaker contrôleur appelle le serveur d'API Kubernetes pour mettre à jour (étape 7) le statut de la ressource personnalisée à l'aide des informations reçues. SageMaker Le SageMaker contrôleur fournit donc aux développeurs les mêmes informations que celles qu'ils auraient reçues en utilisant le AWS SDK.
Présentation des autorisations
Les opérateurs accèdent aux SageMaker ressources en votre nom. Le rôle IAM que l'opérateur assume pour interagir avec des ressources AWS diffère des informations d'identification que vous utilisez pour accéder au cluster Kubernetes. Le rôle diffère également du rôle que AWS assume lors de l'exécution de vos tâches de machine learning.
L'image suivante explique les différentes couches d'authentification.