Déploiement d'un modèle - Amazon SageMaker AI

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.

The Deploy Model pane.

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.

JumpStart Deploy Model pane with Deployment Configuration open to select its settings.

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.

JumpStart Deploy Model pane with Security Settings open to select its settings.

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.

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.

JumpStart Security Settings IAM section with Find IAM role selected.

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.

JumpStart Security Settings IAM section with Input IAM role selected.

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).

JumpStart Security Settings VPC section with Find VPC selected.

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é.

JumpStart Security Settings VPC section with Input VPC selected.

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.

JumpStart Security Settings encryption section with Find encryption keys selected.

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.

JumpStart Security Settings encryption section with Input encryption keys selected.

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.(langue française non garantie)

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 configuration du kit SDK Python de SageMaker. Notez que les champs spécifiques des configurations TrainingJob, 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-id ResourceConfig: # 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-key Value: Example-value Model: 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-2 EndpointConfig: AsyncInferenceConfig: OutputConfig: KmsKeyId: example-key-id DataCaptureConfig: # Deployment configuration - Volume encryption key KmsKeyId: example-key-id KmsKeyId: example-key-id # Deployment configuration - Custom resource tags Tags: - Key: Example-key Value: Example-value