Déploiement d'un modèle
Quand vous déployez un modèle depuis JumpStart, SageMaker AI héberge le modèle et déploie un point de terminaison que vous pouvez utiliser pour l’inférence. JumpStart fournit également un exemple de bloc-notes que vous pouvez utiliser pour accéder au modèle après son déploiement.
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.
Note
Pour plus d’informations sur le déploiement du modèle JumpStart dans Studio, consultez Déploiement d’un modèle dans Studio
Configuration du déploiement de modèle
Une fois que vous avez choisi un modèle, l'onglet du modèle s'ouvre. Dans le volet Deploy Model (Déployer le modèle), choisissez Deployment Configuration (Configuration du déploiement) pour configurer le déploiement de votre modèle.
La valeur par défaut Instance type (Type d'instance) pour déployer un modèle dépend du modèle. Le type d'instance est le matériel sur lequel la tâche d'entraînement s'exécute. Dans l'exemple suivant, l'instance ml.p2.xlarge est la valeur par défaut pour ce modèle BERT particulier.
Vous pouvez également modifier le nom du point de terminaison, ajouter des balises de ressources key;value, activer ou désactiver le préfixe jumpstart- de toutes les ressources JumpStart liées au modèle et spécifier un compartiment Amazon S3 pour stocker les artefacts du modèle utilisés par votre point de terminaison SageMaker AI.
Choisissez Security Settings (Paramètres de sécurité) pour spécifier le rôle (IAM) Gestion des identités et des accès AWS, Amazon Virtual Private Cloud (Amazon VPC) et les clés de chiffrement pour le modèle.
Sécurité du déploiement de modèle
Lorsque vous déployez un modèle avec JumpStart, vous pouvez spécifier un rôle IAM, un VPC Amazon et des clés de chiffrement pour le modèle. Si vous ne spécifiez aucune valeur pour ces entrées : le rôle IAM par défaut correspond à votre rôle d’exécution Studio Classic ; le chiffrement par défaut est utilisé ; aucun VPC Amazon n’est utilisé.
Rôle IAM
Vous pouvez sélectionner un rôle IAM transmis dans le cadre des tâches d'entraînement et d'hébergement. SageMaker AI utilise ce rôle pour accéder aux données d’entraînement et aux artefacts de modèle. Si vous ne sélectionnez aucun rôle IAM, SageMaker AI déploie le modèle en utilisant votre rôle d’exécution Studio Classic. Pour plus d'informations sur les rôles IAM, consultez Gestion des identités et des accès AWS pour Amazon SageMaker AI.
Le rôle que vous transmettez doit avoir accès aux ressources dont le modèle a besoin et doit inclure tous les éléments suivants.
-
Pour les tâches d'entraînement : CreateTrainingJob API: Execution Role Permissions (API CreateTrainingJob : autorisations du rôle d'exécution).
-
Pour les tâches d'hébergement : CreateModel API: Execution Role Permissions (API CreateModel : autorisations du rôle d'exécution).
Note
Vous pouvez examiner les autorisations Amazon S3 accordées dans chacun des rôles suivants. Pour ce faire, utilisez l'ARN de votre compartiment Amazon Simple Storage Service (Amazon S3) et le compartiment Amazon S3 de JumpStart.
[ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::<bucket>/*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ] }, ] }
Trouver le rôle IAM
Si vous choisissez cette option, vous devez sélectionner un rôle IAM existant dans la liste déroulante.
Rôle IAM d'entrée
Si vous sélectionnez cette option, vous devez saisir manuellement l'ARN d'un rôle IAM existant. Si votre rôle d’exécution Studio Classic ou votre VPC Amazon bloque l’appel iam:list* , vous devez utiliser cette option pour utiliser un rôle IAM existant.
Amazon VPC
Tous les modèles JumpStart fonctionnent en mode d'isolement du réseau. Une fois le conteneur de modèle créé, aucun autre appel ne peut être effectué. Vous pouvez sélectionner un VPC Amazon qui est transmis dans le cadre des tâches d'entraînement et d'hébergement. SageMaker AI utilise ce VPC Amazon pour envoyer et récupérer des ressources de votre compartiment Amazon S3. Ce VPC Amazon est différent du VPC Amazon qui limite l’accès à l’Internet public depuis votre instance Studio Classic. Pour plus d’informations sur le VPC Amazon Studio Classic, consultez Connexion des blocs-notes Studio d’un VPC à des ressources externes.
Le VPC Amazon que vous transmettez n'a pas besoin d'accéder à l'Internet public, mais il doit avoir accès à Amazon S3. Le point de terminaison Amazon VPC pour Amazon S3 doit autoriser l'accès aux ressources suivantes (a minima) dont le modèle a besoin.
{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resources": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::bucket/*" ] }
Si vous ne sélectionnez pas un VPC Amazon, aucun VPC Amazon n'est utilisé.
Trouver un VPC
Si vous choisissez cette option, vous devez sélectionner un VPC Amazon existant dans la liste déroulante. Après avoir choisi un VPC Amazon, vous devez sélectionner un sous-réseau et un groupe de sécurité pour votre VPC Amazon. Pour plus d'informations sur les sous-réseaux et les groupes de sécurité, consultez la section Overview of VPCs and subnets (Présentation des VPC et des sous-réseaux).
VPC d'entrée
Si vous sélectionnez cette option, vous devez sélectionner manuellement le sous-réseau et le groupe de sécurité qui composent votre Amazon VPC. Si votre rôle d’exécution Studio Classic ou votre VPC Amazon bloque l’appel ec2:list*, vous devez utiliser cette option pour sélectionner le sous-réseau et le groupe de sécurité.
Clés de chiffrement
Vous pouvez sélectionner une clé AWS KMS qui est transmise dans le cadre des tâches d'entraînement et des tâches d'hébergement. SageMaker AI utilise cette clé pour chiffrer le volume Amazon EBS du conteneur, ainsi que le modèle ré-empaqueté dans Amazon S3 pour les tâches d’hébergement et la sortie pour les tâches d’entraînement. Pour en savoir plus sur les clés AWS KMS, consultez AWS KMS keys (Clés KMS).
La clé que vous transmettez doit faire confiance au rôle IAM transmis. Si vous ne spécifiez aucun rôle IAM, la clé AWS KMS doit faire confiance à votre rôle d’exécution Studio Classic.
Si vous ne sélectionnez pas de clé AWS KMS, SageMaker AI fournit un chiffrement par défaut pour les données du volume Amazon EBS et les artefacts Amazon S3.
Trouver des clés de chiffrement
Si vous sélectionnez cette option, vous devez sélectionner les clés AWS KMS existantes dans la liste déroulante.
Clés de chiffrement d'entrée
Si vous sélectionnez cette option, vous devez saisir les clés AWS KMS manuellement. Si votre rôle d’exécution Studio Classic ou votre VPC Amazon bloque l’appel kms:list* , vous devez utiliser cette option pour sélectionner les clés AWS KMS existantes.
Configuration des valeurs par défaut pour les modèles JumpStart
Vous pouvez configurer des valeurs par défaut pour des paramètres tels que les rôles IAM, les VPC et les clés KMS qui seront préremplies pour le déploiement et l'entraînement de modèles JumpStart. Après avoir configuré les valeurs par défaut, l’interface utilisateur Studio Classic fournit automatiquement les paramètres de sécurité et les balises que vous avez spécifiés aux modèles JumpStart afin de simplifier les flux de déploiement et d’entraînement. Les administrateurs et les utilisateurs finaux peuvent initialiser les valeurs par défaut spécifiées dans un fichier de configuration au format YAML.
Par défaut, le kit SDK Python de SageMaker utilise deux fichiers de configuration : un pour l'administrateur et un pour l'utilisateur. À l'aide du fichier de configuration de l'administrateur, les administrateurs peuvent définir un ensemble de valeurs par défaut. Les utilisateurs finaux peuvent remplacer les valeurs définies dans le fichier de configuration de l'administrateur et définir des valeurs par défaut supplémentaires à l'aide du fichier de configuration de l'utilisateur final. Pour plus d'informations, consultez Emplacement du fichier de configuration par défaut
L’exemple de code suivant répertorie les emplacements par défaut des fichiers de configuration lors de l’utilisation du kit SageMaker Python SDK dans Amazon SageMaker Studio Classic.
# Location of the admin config file /etc/xdg/sagemaker/config.yaml # Location of the user config file /root/.config/sagemaker/config.yaml
Les valeurs spécifiées dans le fichier de configuration de l'utilisateur remplacent les valeurs définies dans le fichier de configuration de l'administrateur. Le fichier de configuration est unique pour chaque profil utilisateur au sein d’un domaine Amazon SageMaker AI. L’application Studio Classic du profil utilisateur est directement associée au profil utilisateur. Pour plus d’informations, consultez Profils utilisateur d’un domaine.
Les administrateurs peuvent éventuellement définir des paramètres de configuration par défaut pour l'entraînement et le déploiement de modèles JumpStart via des configurations de cycle de vie JupyterServer. Pour plus d’informations, consultez Création et association d’une configuration de cycle de vie avec Amazon SageMaker Studio Classic.
Votre fichier de configuration doit respecter la structure du fichier de configurationTrainingJob, Model et EndpointConfig s'appliquent aux valeurs par défaut d'entraînement et de déploiement de modèles JumpStart.
SchemaVersion: '1.0' SageMaker: TrainingJob: OutputDataConfig: KmsKeyId:example-key-idResourceConfig: # Training configuration - Volume encryption key VolumeKmsKeyId:example-key-id# Training configuration form - IAM role RoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Training configuration - Security groups SecurityGroupIds: -sg-1-sg-2# Training configuration - Subnets Subnets: -subnet-1-subnet-2# Training configuration - Custom resource tags Tags: - Key:Example-keyValue:Example-valueModel: EnableNetworkIsolation:true# Deployment configuration - IAM role ExecutionRoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Deployment configuration - Security groups SecurityGroupIds: -sg-1-sg-2# Deployment configuration - Subnets Subnets: -subnet-1-subnet-2EndpointConfig: AsyncInferenceConfig: OutputConfig: KmsKeyId:example-key-idDataCaptureConfig: # Deployment configuration - Volume encryption key KmsKeyId:example-key-idKmsKeyId:example-key-id# Deployment configuration - Custom resource tags Tags: - Key:Example-keyValue:Example-value