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
ENTRYPOINTetCMDsont 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 commandedocker 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/.sagemakerinternalet/opt/mlsont 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
DefaultUIDetDefaultGIDsuivantes :-
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}