CreateTrainingJob.
Amazon SageMaker utilise des images Docker pour exécuter des tâches d’entraînement. Vous devez stocker dans Amazon Elastic Container Registry (ECR) les images extraites par SageMaker. Cela signifie que vous devez stocker sur ECR l’image que vous utilisez pour l’entraînement.
Ce guide montre comment exécuter des SageMaker Training Jobs. Pour savoir comment déployer des modèles pour l’inférence sur Amazon SageMaker, voir cet exemple de job Launch.
Prérequis
- Déterminez si vous souhaitez que l’agent Launch crée une image Docker pour vous.
- Configurez les ressources AWS et rassemblez des informations sur les rôles IAM de S3, ECR et SageMaker.
- Créez un rôle IAM pour l’agent Launch.
Décidez si vous voulez que l’agent Launch crée une image Docker
- Autoriser l’agent Launch à créer une image Docker, à téléverser l’image vers Amazon ECR et à soumettre des jobs SageMaker Training pour vous. Cette option peut simplifier le travail des ingénieurs ML qui itèrent rapidement sur leur code d’entraînement.
- Utilisez une image Docker existante qui contient vos scripts d’entraînement ou d’inférence. Cette option s’intègre bien aux systèmes CI existants. Si vous choisissez cette option, vous devez téléverser manuellement votre image Docker dans votre registre de conteneurs Amazon ECR.
Configurer les ressources AWS
- Un dépôt Amazon ECR pour stocker les images de conteneur.
- Un ou plusieurs buckets S3 pour stocker les données d’entrée et de sortie de vos tâches d’entraînement SageMaker.
- Un rôle IAM pour Amazon SageMaker qui permet à SageMaker d’exécuter des tâches d’entraînement et d’interagir avec Amazon ECR et Amazon S3.
Créer une stratégie IAM pour l’agent Launch
- Depuis la page IAM dans AWS, créez une stratégie.
- Basculez vers l’éditeur de stratégie JSON, puis collez la stratégie suivante selon votre cas d’utilisation. Remplacez les espaces réservés entre
[CROCHETS]par vos propres valeurs :
- L'agent soumet une image Docker précréée
- L'agent crée et soumet une image Docker
- Cliquez sur Next.
- Donnez un nom et une description à la stratégie.
- Cliquez sur Create policy.
Créer un rôle IAM pour l’agent Launch
- Dans l’écran IAM d’AWS, créez un rôle.
- Pour Trusted Entity, sélectionnez AWS Account (ou une autre option conforme aux politiques de votre organisation).
- Faites défiler l’écran des autorisations et sélectionnez le nom de la stratégie que vous avez créée dans la section précédente.
- Donnez un nom et une description au rôle.
- Sélectionnez Create role.
- Notez l’ARN du rôle. Vous indiquerez cet ARN lorsque vous configurerez l’agent Launch.
- Si vous voulez que l’agent Launch crée des images, consultez Configuration avancée de l’agent pour connaître les autorisations supplémentaires requises.
- L’autorisation
kms:CreateGrantpour les files d’attente SageMaker n’est requise que si leResourceConfigassocié a unVolumeKmsKeyIdspécifié et que le rôle associé n’a pas de stratégie autorisant cette action.
Configurer la file d’attente Launch pour SageMaker
- Accédez à la Launch App.
- Cliquez sur Create Queue.
- Sélectionnez l’Entity dans laquelle vous souhaitez créer la file d’attente.
- Saisissez un nom pour votre file d’attente dans le champ Name.
- Sélectionnez SageMaker comme Resource.
- Dans le champ Configuration, fournissez des informations sur votre tâche SageMaker. Par défaut, W&B préremplit un corps de requête
CreateTrainingJoben YAML et en JSON :
RoleArn: l’ARN du rôle IAM d’exécution SageMaker (voir les prérequis). Ne le confondez pas avec le rôle IAM de l’agent Launch.OutputDataConfig.S3OutputPath: un URI Amazon S3 qui indique où SageMaker stocke les données de sortie.ResourceConfig: spécification requise d’une configuration de ressource. Pour connaître les options de configuration de ressource, voir la documentation AWSResourceConfig.StoppingCondition: spécification requise des conditions d’arrêt de la tâche d’entraînement. Pour connaître les options, voir la documentation AWSStoppingCondition.
- Cliquez sur Create Queue.
Configurer l’agent Launch
Décidez où exécuter l’agent Launch
t2.micro, ce qui reste abordable.
Pour des cas d’usage expérimentaux ou une utilisation individuelle, vous pouvez exécuter l’agent Launch sur votre machine locale pour démarrer rapidement.
En fonction de votre cas d’usage, suivez les instructions dans les onglets suivants pour configurer votre agent Launch :
- EKS
- EC2
- Machine locale
W&B recommande d’utiliser le chart Helm géré par W&B pour installer l’agent dans un cluster EKS.
Configurer un agent Launch
launch-config.yaml.
Par défaut, W&B recherche le fichier de configuration dans ~/.config/wandb/launch-config.yaml. Vous pouvez également indiquer un autre répertoire lorsque vous activez l’agent Launch avec l’option -c.
L’extrait YAML suivant montre comment spécifier les options de configuration de base de l’agent :
launch-config.yaml
wandb launch-agent.
Votre agent Launch est maintenant en cours d’exécution et interroge la file d’attente SageMaker à la recherche de jobs.
Facultatif : Téléversez l’image Docker de votre job Launch vers Amazon ECR
Cette section s’applique uniquement si votre agent Launch utilise des images Docker existantes qui contiennent votre logique d’entraînement ou d’inférence. Votre agent Launch prend en charge deux options de comportement.