Remplir les conditions préalables
La rubrique suivante décrit les conditions préalables que vous devez remplir avant de créer un point de terminaison asynchrone. Ces conditions préalables incluent le stockage correct des artefacts de votre modèle, la configuration d’AWS IAM avec les autorisations appropriées et la sélection d’une image de conteneur.
Pour remplir les conditions préalables
-
Créez un rôle IAM pour Amazon SageMaker AI.
L'inférence asynchrone doit avoir accès à l'URI de votre compartiment Amazon S3. Pour cela, créez un rôle IAM capable d’exécuter SageMaker AI et disposant de l’autorisation d’accéder à Amazon S3 et Amazon SNS. Grâce à ce rôle, SageMaker AI peut s’exécuter sous votre compte et accéder à votre compartiment Amazon S3 et à vos rubriques Amazon SNS.
Vous pouvez créer un rôle IAM à l'aide de la console IAM, du kit AWS SDK pour Python (Boto3) ou de la AWS CLI. Voici un exemple de la création d'un rôle IAM et de l'attachement des politiques nécessaires avec la console IAM.
Connectez-vous à la AWS Management Console, puis ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation de la console IAM, sélectionnez Roles (Rôles), puis Create role (Créer un rôle).
-
Pour Select type of trusted entity (Sélectionner le type d'entité de confiance), choisissez Service AWS.
-
Choisissez le service que vous voulez autoriser à endosser ce rôle. Dans ce cas, choisissez SageMaker AI. Choisissez ensuite Suivant : Autorisations.
-
Cela crée automatiquement une politique IAM qui accorde l'accès aux services associés tels qu'Amazon S3, Amazon ECR et CloudWatch Logs.
-
-
Choisissez Next: Tags (Suivant : Identifications).
-
(Facultatif) Ajoutez des métadonnées au rôle en associant les identifications sous forme de paires clé-valeur. Pour plus d’informations sur l’utilisation de balises dans IAM, consultez Balisage de ressources IAM.
-
Choisissez Suivant : Examiner.
-
Saisissez un Role name (Nom de rôle).
-
Si possible, saisissez un nom de rôle ou un suffixe de nom de rôle. Les noms de rôle de votre compte AWS doivent être uniques. Ils ne sont pas sensibles à la casse. Par exemple, vous ne pouvez pas créer deux rôles nommés
PRODROLEetprodrole. Vous ne pouvez pas modifier le nom du rôle après sa création, car d'autres ressources AWS pourraient le référencer. -
(Facultatif) Dans le champ Role description (Description du rôle), saisissez la description du nouveau rôle.
-
Passez en revue les informations du rôle, puis choisissez Créer un rôle.
Notez l’ARN du rôle SageMaker AI. Pour connaître l'ARN du rôle à l'aide de la console, procédez comme suit :
-
Accédez à la console IAM : https://console.aws.amazon.com/iam/
-
Sélectionnez Roles (Rôles).
-
Recherchez le rôle que vous venez de créer en saisissant son nom dans le champ Recherche.
-
Sélectionnez le rôle.
-
L'ARN du rôle figure en haut de la page Summary (Récapitulatif).
-
-
Ajoutez des autorisations Amazon SageMaker AI, Amazon S3 et Amazon SNS à votre rôle IAM.
Une fois le rôle créé, accordez à SageMaker AI, Amazon S3 et éventuellement Amazon SNS des autorisations à votre rôle IAM.
Dans la console IAM, sélectionnez Roles (Rôles). Recherchez le rôle que vous avez créé en saisissant son nom dans le champ Search (Recherche).
Choisissez votre rôle.
Ensuite, choisissez Attach Policies (Attacher des politiques).
-
L'inférence asynchrone d'Amazon SageMaker doit avoir l'autorisation d'effectuer les opérations suivantes :
"sagemaker:CreateModel","sagemaker:CreateEndpointConfig","sagemaker:CreateEndpoint"et"sagemaker:InvokeEndpointAsync".Ces actions sont incluses dans la politique
AmazonSageMakerFullAccess. Ajoutez cette politique à votre rôle IAM. RecherchezAmazonSageMakerFullAccessdans le champ Search (Recherche). SélectionnezAmazonSageMakerFullAccess. Choisissez Attach policy (Attacher la politique).
Ensuite, choisissez Attach Policies (Attacher des politiques) pour ajouter des autorisations Amazon S3.
Sélectionnez Create Policy (Créer une politique).
Sélectionnez l'onglet
JSON.Ajoutez la déclaration de politique suivante :
Choisissez Suivant : Balises.
Saisissez un Policy name (Nom de politique).
Choisissez Créer une politique.
Répétez les mêmes étapes que celles que vous avez effectuées pour ajouter des autorisations Amazon S3 afin d'ajouter des autorisations Amazon SNS. Pour la déclaration de politique, attachez les éléments suivants :
-
Chargez vos données d'inférence (par exemple, modèle de machine learning, exemples de données) sur Amazon S3.
-
Sélectionnez une image d'inférence Docker prédéfinie ou créez votre propre image Docker d'inférence.
SageMaker AI fournit des conteneurs pour ses algorithmes intégrés et des images Docker préconçues pour certains des cadres de machine learning les plus courants, tels qu’Apache MXNet, TensorFlow, PyTorch et Chainer. Pour obtenir la liste complète des images SageMaker AI disponibles, consultez Images Deep Learning Containers disponibles
. Si vous choisissez d’utiliser un conteneur fourni par SageMaker AI, vous pouvez augmenter les tailles de données utiles et le délai d’expiration de point de terminaison par rapport aux valeurs par défaut en définissant les variables d’environnement dans le conteneur. Pour savoir comment définir les différentes variables d'environnement pour chaque framework, consultez l'étape de création de modèle de la création d'un point de terminaison asynchrone. Si aucun des conteneurs SageMaker AI ne répond à vos besoins et que vous n’avez pas de conteneur existant personnel, vous devrez peut-être créer un nouveau conteneur Docker. Consultez Conteneurs avec code d’inférence personnalisé pour savoir comment créer votre image Docker.
-
Créer une rubrique Amazon SNS (facultatif)
Créez une rubrique Amazon Simple Notification Service (Amazon SNS) qui envoie des notifications concernant les requêtes qui ont terminé le traitement. Amazon SNS est un service de notification destiné aux applications orientées messagerie. Plusieurs abonnés demandent et reçoivent des notifications « push » de messages critiques via un choix de protocoles de transport, y compris HTTP, Amazon SQS et les e-mails. Vous pouvez spécifier des rubriques Amazon SNS lorsque vous créez un objet
EndpointConfiget spécifiezAsyncInferenceConfigà l'aide de l'APIEndpointConfig.Suivez ces étapes pour créer une rubrique Amazon SNS et vous y abonner.
-
Créez une rubrique à partir de la console Amazon SNS. Des instructions sont disponibles dans la section Création d'une rubrique Amazon SNS du Guide du développeur Amazon Simple Notification Service.
Abonnez-vous à la rubrique. Pour obtenir des instructions, consultez Abonnement à une rubrique Amazon SNS dans le Guide du développeur Amazon Simple Notification Service.
-
Lorsque vous recevez un e-mail vous invitant à confirmer votre abonnement à la rubrique, confirmez l'abonnement.
Notez l’Amazon Resource Name (ARN) de la rubrique. La rubrique Amazon SNS que vous venez de créer est une nouvelle ressource de votre compte AWS et dispose d'un ARN unique. L'ARN est au format suivant :
arn:aws:sns:aws-region:account-id:topic-name
Pour plus d’informations sur Amazon SNS, consultez le Guide du développeur Amazon SNS.
-