Personnalisation des spécifications d’une image SageMaker pour Amazon SageMaker Studio Classic - Amazon SageMaker AI

Personnalisation des spécifications d’une image SageMaker pour Amazon SageMaker Studio Classic

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 en savoir plus sur l’utilisation de l’expérience Studio mise à jour, consultez Amazon SageMaker Studio.

Les spécifications suivantes s’appliquent à l’image de conteneur représentée par une version d’image de SageMaker AI.

Exécution de l’image

Les instructions ENTRYPOINT et CMD sont remplacées pour permettre à l'image de s'exécuter en tant qu'appli KernelGateway.

Le port 8888 de l'image est réservé à l'exécution du serveur web KernelGateway.

Arrêt de l'image

L'API DeleteApp émet l'équivalent d'une commande docker stop. Les autres processus dans le conteneur n'obtiendront pas les signaux SIGKILL/SIGTERM.

Découverte du noyau

SageMaker AI reconnaît les noyaux tels que définis par les spécifications du noyau Jupyter.

Vous pouvez spécifier une liste de noyaux à afficher avant d’exécuter l’image. Si elle n'est pas spécifiée, python3 s'affiche. Utilisation de l'API DescribeAppImageConfig pour afficher la liste de noyaux.

Les environnements Conda sont reconnus comme spécifications du noyau par défaut.

Système de fichiers

Les répertoires /opt/.sagemakerinternal et /opt/ml sont réservés. Les données de ces répertoires peuvent ne pas être visibles lors de l'exécution.

Données de l’utilisateur

Chaque utilisateur d'un domaine obtient un répertoire utilisateur sur un volume Amazon Elastic File System partagé dans l'image. L’emplacement du répertoire de l’utilisateur actuel sur le volume Amazon EFS est configurable. L’emplacement par défaut du répertoire est /home/sagemaker-user.

SageMaker AI configure les mappages UID/GID POSIX entre l’image et l’hôte. Par défaut, le mappage de l’UID/GID (0/0) de l’utilisateur racine sur l’UID/GID sur l’hôte.

Vous pouvez spécifier ces valeurs à l'aide de l'API CreateAppImageConfig.

Limites GID/UID

Amazon SageMaker Studio Classic prend uniquement en charge les combinaisons DefaultUID et DefaultGID suivantes :

  • DefaultUID : 1000 et DefaultGID : 100, ce qui correspond à un utilisateur non privilégié.

  • DefaultUID : 0 et DefaultGID : 0, ce qui correspond à l'accès root.

Métadonnées

Un fichier de métadonnées se trouve à l'emplacement suivant : /opt/ml/metadata/resource-metadata.json. Aucune variable d'environnement supplémentaire n'est ajoutée aux variables définies dans l'image. Pour plus d’informations, consultez Obtenir les métadonnées de l’application.

GPU

Sur une instance GPU, l'image est exécutée avec l'option --gpus. Seule la boîte à outils CUDA doit être incluse dans l'image et non les pilotes NVIDIA. Pour plus d’informations, consultez le Guide de l’utilisateur NVIDIA.

Métriques et journalisation

Les journaux du processus KernelGateway sont envoyés à Amazon CloudWatch dans le compte du client. Le nom du groupe de journaux est /aws/sagemaker/studio. Le nom du flux de journaux est $domainID/$userProfileName/KernelGateway/$appName.

Taille de l’image

Limité à 35 Go. Pour afficher la taille de votre image, exécutez docker image ls.

Exemple de Dockerfile

L’exemple de Dockerfile suivant crée un système Amazon Linux 2 basé sur une image, installe des packages tiers et le noyau python3, et définit l’étendue à l’utilisateur non privilégié.

FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NB_USER="sagemaker-user" ARG NB_UID="1000" ARG NB_GID="100" RUN \ yum install --assumeyes python3 shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all && \ jupyter-activity-monitor-extension \ python3 -m pip install ipykernel && \ python3 -m ipykernel install USER ${NB_UID}