Création d’un modèle - Amazon SageMaker AI

Création d’un modèle

Pour créer votre modèle, vous devez fournir l’emplacement de vos artefacts de modèle et de l’image de conteneur. Vous pouvez également utiliser une version de modèle issue de SageMaker Model Registry. Les exemples des sections suivantes vous montrent comment créer un modèle à l’aide de l’API CreateModel, du registre de modèles et de la console Amazon SageMaker AI.

Pour créer un modèle (à l’aide du registre de modèles)

Le registre de modèles est une fonctionnalité de SageMaker AI qui vous permet de cataloguer et de gérer les versions de vos modèles pour les utiliser dans les pipelines ML. Pour utiliser Model Registry avec Serverless Inference, vous devez commencer par enregistrer une version de modèle dans un groupe de modèles Model Registry. Pour savoir comment enregistrer un modèle dans Model Registry, suivez les procédures des rubriques Création d’un groupe de modèles et Enregistrement d’une version de modèle.

L’exemple suivant exige de posséder l’ARN d’une version de modèle enregistrée. Il utilise le kit SDK AWS Python (Boto3) pour appeler l’API CreateModel. Pour l’inférence sans serveur, le registre de modèles n’est actuellement pris en charge que par le kit AWS SDK pour Python (Boto3). Pour l’exemple, spécifiez les valeurs suivantes :

  • Pour model_name, saisissez le nom du modèle.

  • Pour sagemaker_role, vous pouvez utiliser le rôle par défaut créé par SageMaker AI ou un rôle IAM SageMaker AI personnalisé à partir de l’étape 4 de la section Remplir les conditions préalables.

  • Pour ModelPackageName, spécifiez l’ARN de la version de votre modèle, qui doit être enregistré dans un groupe de modèles dans le registre de modèles.

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Specify a name for the model model_name = "<name-for-model>" #Specify a Model Registry model version container_list = [ { "ModelPackageName": <model-version-arn> } ] #Create the model response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, container_list )

Pour créer un modèle (à l’aide de l’API)

L’exemple suivant utilise le kit SDK AWS Python (Boto3) pour appeler l’API CreateModel. Indiquez l’une des valeurs suivantes :

  • Pour sagemaker_role, vous pouvez utiliser le rôle par défaut créé par SageMaker AI ou un rôle IAM SageMaker AI personnalisé à partir de l’étape 4 de la section Remplir les conditions préalables.

  • Pour model_url, spécifiez l’URI Amazon S3 pour votre modèle.

  • Pour container, récupérez le conteneur que vous souhaitez utiliser par son chemin Amazon ECR. Cet exemple utilise un conteneur XGBoost fourni par SageMaker AI. Si vous n’avez pas sélectionné de conteneur SageMaker AI ou apporté le vôtre, consultez l’étape 6 de la section Remplir les conditions préalables pour plus d’informations.

  • Pour model_name, saisissez le nom du modèle.

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Get model from S3 model_url = "s3://amzn-s3-demo-bucket/models/model.tar.gz" #Get container image (prebuilt example) from sagemaker import image_uris container = image_uris.retrieve("xgboost", region, "0.90-1") #Create model model_name = "<name-for-model>" response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, Containers = [{ "Image": container, "Mode": "SingleModel", "ModelDataUrl": model_url, }] )

Pour créer un modèle (à l’aide de la console)

  1. Connectez-vous à la console Amazon SageMaker AI.

  2. Sous l’onglet de navigation, sélectionnez Inférence.

  3. Ensuite, sélectionnez Modèles.

  4. Sélectionnez Créer un modèle.

  5. Pour Nom du modèle, saisissez un nom pour le modèle qui est unique à votre compte et Région AWS.

  6. Pour Rôle IAM, sélectionnez un rôle IAM que vous avez déjà créé (voir Remplir les conditions préalables) ou autorisez SageMaker AI à en créer un pour vous.

  7. Dans Définition de conteneur 1, pour Options d’entrée de conteneur, sélectionnez Fournir des artefacts de modèle et un emplacement d’entrée.

  8. Pour Fournir des artefacts de modèle et des options d’image d’inférence, sélectionnez Utiliser un seul modèle.

  9. Pour Emplacement de l’image du code d’inférence, saisissez un chemin Amazon ECR vers un conteneur. L’image doit être une image de première partie fournie par SageMaker AI (par exemple, TensorFlow, XGBoost) ou une image qui réside dans un référentiel Amazon ECR au sein du même compte dans lequel vous créez le point de terminaison. Si vous n’avez pas de conteneur, revenez à l’étape 6 de la section Remplir les conditions préalables pour plus d’informations.

  10. Pour Emplacement des artefacts de modèle, saisissez l’URI Amazon S3 de votre modèle de ML. Par exemple, s3://amzn-s3-demo-bucket/models/model.tar.gz.

  11. (Facultatif) Pour Balises, ajoutez des paires de valeur clé afin de créer des métadonnées pour votre modèle.

  12. Sélectionnez Create model.