SageMaker Opérateurs pour Kubernetes - Amazon SageMaker

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, nous vous recommandons de migrer vos ressources vers le contrôleur de service ACK pour Amazon. SageMaker Le contrôleur de service ACK est une nouvelle génération d' SageMaker opérateurs pour Kubernetes basés sur les AWScontrôleurs pour Kubernetes (ACK).

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-manager etkube-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.


          Explication de  SageMaker  l'opérateur basé sur ACK pour Kubernetes.

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 applytransmet 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 CreateTrainingJobAPI 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.


          SageMaker Opérateur pour les différentes couches d'authentification de Kubernetes.