Création d'une image SageMaker AI personnalisée - Amazon SageMaker AI

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.

Création d'une image SageMaker AI personnalisée

Important

Les politiques IAM personnalisées qui permettent à Amazon SageMaker Studio ou Amazon SageMaker Studio Classic de créer des SageMaker ressources Amazon doivent également accorder des autorisations pour ajouter des balises à ces ressources. L'autorisation d'ajouter des balises aux ressources est requise car Studio et Studio Classic balisent automatiquement toutes les ressources qu'ils créent. Si une politique IAM autorise Studio et Studio Classic à créer des ressources mais n'autorise pas le balisage, des erreurs « AccessDenied » peuvent se produire lors de la tentative de création de ressources. Pour de plus amples informations, veuillez consulter Fournir des autorisations pour le balisage des ressources d' SageMaker IA.

AWS politiques gérées pour Amazon SageMaker AIqui donnent des autorisations pour créer des SageMaker ressources incluent déjà des autorisations pour ajouter des balises lors de la création de ces ressources.

Important

Depuis le 30 novembre 2023, l'expérience Amazon SageMaker Studio précédente s'appelle désormais Amazon SageMaker Studio Classic. La section suivante est spécifique à l'utilisation de l'application Studio Classic. Pour plus d'informations sur l'utilisation de l'expérience Studio mise à jour, consultezAmazon SageMaker Studio.

Cette rubrique décrit comment créer une image SageMaker AI personnalisée à l'aide de la console SageMaker AI ou AWS CLI.

Lorsque vous créez une image depuis la console, SageMaker AI crée également une version initiale de l'image. La version d'image représente une image de conteneur dans Amazon Elastic Container Registry (ECR). L'image du conteneur doit satisfaire aux exigences pour être utilisée dans Amazon SageMaker Studio Classic. Pour de plus amples informations, veuillez consulter Spécifications d'image SageMaker AI personnalisées. Pour plus d'informations sur le test local de votre image et la résolution des problèmes courants, consultez le référentiel d'exemples d'images personnalisées de SageMaker Studio Classic.

Après avoir créé votre image SageMaker AI personnalisée, vous devez l'associer à votre domaine ou à votre espace partagé pour l'utiliser avec Studio Classic. Pour de plus amples informations, veuillez consulter Joindre une image SageMaker AI personnalisée.

Création d'une image SageMaker AI à partir de la console

La section suivante explique comment créer une image SageMaker AI personnalisée à partir de la console SageMaker AI.

Pour créer une image
  1. Ouvrez la console Amazon SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans le panneau de navigation de gauche, choisissez Configurations d'administrateur.

  3. Sous Configurations d'administrateur, choisissez Images.

  4. Sur la page Images personnalisées, choisissez Create image (Créer une image).

  5. Pour Image source (Source de l'image), saisissez le chemin d'accès du registre à l'image du conteneur dans Amazon ECR. Le chemin d'accès est au format suivant :

    acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest]

  6. Sélectionnez Suivant.

  7. Sous Propriétés de l'image, saisissez ce qui suit :

    • Nom de l'image – Le nom doit être unique pour votre compte dans la région Région AWS.

    • (Facultatif) Nom d'affichage : nom affiché dans l'interface utilisateur de Studio Classic. Lorsqu'il n'est pas fourni, Image name est affiché.

    • (Facultatif) Description – Description de l'image.

    • Rôle IAM : le rôle doit être associé à la AmazonSageMakerFullAccesspolitique. Utilisez le menu déroulant pour choisir l'une des options suivantes :

      • Create a new role (Créer un rôle) – Spécifiez tous les compartiments Amazon Simple Storage Service (Amazon S3) auxquels vous souhaitez que les utilisateurs de vos blocs-notes aient accès. Si vous ne souhaitez pas autoriser l'accès à d'autres compartiments, choisissez None (Aucun).

        SageMaker L'IA associe la AmazonSageMakerFullAccess politique au rôle. Le rôle permet aux utilisateurs de vos blocs-notes d'accéder aux compartiments S3 répertoriés en regard des coches.

      • Saisir un ARN de rôle IAM personnalisé – Saisissez l'Amazon Resource Name (ARN) de votre rôle IAM.

      • Utiliser le rôle existant – Choisissez l'un de vos rôles existants dans la liste.

    • (Facultatif) Balises d'image – Choisissez Ajouter une nouvelle balise. Vous pouvez ajouter jusqu’à 50 balises. Les balises sont consultables à l'aide de l'interface utilisateur de Studio Classic, de la console SageMaker AI ou de l'SearchAPI SageMaker AI.

  8. Sélectionnez Envoyer.

La nouvelle image s'affiche dans la fenêtre Custom images (Images personnalisées) et est brièvement mise en surbrillance. Une fois l'image créée avec succès, vous pouvez choisir le nom de l'image pour afficher ses propriétés ou choisir Create version (Créer une version) pour créer une autre version.

Pour créer une autre version d'image
  1. Choisissez Create version (Créer une version) sur la même ligne que l'image.

  2. Pour Image source (Source de l'image), saisissez le chemin de registre vers l'image du conteneur dans Amazon ECR. L'image du conteneur ne doit pas être la même que celle utilisée dans une version précédente de l'image SageMaker AI.

Créez une image d' SageMaker IA à partir du AWS CLI

Vous devez effectuer les étapes suivantes pour créer une image SageMaker AI à partir de l'image du conteneur à l'aide du AWS CLI.

  • Créez un Image.

  • Créez un ImageVersion.

  • Créez un fichier de configuration.

  • Créez un AppImageConfig.

Pour créer les entités d'image SageMaker AI
  1. Créez une image basée sur l' SageMaker IA.

    aws sagemaker create-image \ --image-name custom-image \ --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>

    La réponse devrait être similaire à ce qui suit.

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
  2. Créez une version d'image SageMaker AI à partir de l'image du conteneur.

    aws sagemaker create-image-version \ --image-name custom-image \ --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image

    La réponse devrait être similaire à ce qui suit.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
  3. Vérifiez que la version de l'image a bien été créée.

    aws sagemaker describe-image-version \ --image-name custom-image \ --version-number 1

    La réponse devrait être similaire à ce qui suit.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1", "ImageVersionStatus": "CREATED" }
    Note

    Si la réponse est "ImageVersionStatus": "CREATED_FAILED", la réponse inclut également la raison de l'échec. Un problème d'autorisations est une cause courante d'échec. Vous pouvez également consulter vos CloudWatch journaux Amazon en cas d'échec lors du démarrage ou de l'exécution de l' KernelGateway application pour obtenir une image personnalisée. Le nom du groupe de journaux est /aws/sagemaker/studio. Le nom du flux de journaux est $domainID/$userProfileName/KernelGateway/$appName.

  4. Créez un fichier de configuration nommé app-image-config-input.json. La valeur Name de KernelSpecs doit correspondre au nom de KernelSpec disponible dans l'image associée à cette AppImageConfig. Cette valeur est sensible à la casse. Vous pouvez trouver les KernelSpecs disponibles dans une image en exécutant jupyter-kernelspec list à partir d'un shell à l'intérieur du conteneur. MountPath correspond au chemin d'accès dans l'image pour monter votre répertoire de base Amazon Elastic File System (Amazon EFS). Il doit être différent du chemin que vous utilisez à l'intérieur du conteneur, car ce chemin sera remplacé lorsque votre répertoire de base Amazon EFS est monté.

    Note

    Les combinaisons DefaultUID et DefaultGID sont les seules valeurs acceptées :

    • DefaultUID : 1000 et DefaultGID : 100

    • DefaultUID : 0 et DefaultGID : 0

    { "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
  5. Créez le AppImageConfig en utilisant le fichier créé à l'étape précédente.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json

    La réponse devrait être similaire à ce qui suit.

    { "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config" }