Déploiement d'un modèle compilé à l'aide de la AWS CLI - Amazon SageMaker

Déploiement d'un modèle compilé à l'aide de la AWS CLI

Vous devez satisfaire les prérequis si le modèle a été compilé à l'aide du AWS SDK for Python (Boto3), de la AWS CLI ou de la console Amazon SageMaker. Procédez comme suit pour créer et déployer un modèle SageMaker Neo-compilé à l'aide de la AWS CLI.

Déploiement du modèle

Une fois les prérequis satisfaits, utilisez les commandes create-model, create-enpoint-config et create-endpoint de la AWS CLI. Les étapes suivantes expliquent comment utiliser ces commandes pour déployer un modèle compilé avec Neo :

Création d'un modèle

Dans Neo Inference Container Images (Images de conteneur d'inférence Neo), sélectionnez l'URI d'image d'inférence, puis utilisez l'API create-model pour créer un modèle SageMaker. Vous pouvez effectuer cette opération en deux étapes :

  1. Créez un fichier create_model.json. Dans le fichier, spécifiez le nom du modèle, l'URI de l'image, le chemin d'accès au fichier model.tar.gz dans votre compartiment Amazon S3 et votre rôle d'exécution SageMaker :

    { "ModelName": "insert model name", "PrimaryContainer": { "Image": "insert the ECR Image URI", "ModelDataUrl": "insert S3 archive URL", "Environment": {"See details below"} }, "ExecutionRoleArn": "ARN for AmazonSageMaker-ExecutionRole" }

    Si vous avez entraîné votre modèle à l'aide de SageMaker, spécifiez la variable d'environnement suivante :

    "Environment": { "SAGEMAKER_SUBMIT_DIRECTORY" : "[Full S3 path for *.tar.gz file containing the training script]" }

    Si vous n'avez pas entraîné votre modèle à l'aide de SageMaker, spécifiez les variables d'environnement suivantes :

    MXNet and PyTorch
    "Environment": { "SAGEMAKER_PROGRAM": "inference.py", "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code", "SAGEMAKER_CONTAINER_LOG_LEVEL": "20", "SAGEMAKER_REGION": "insert your region", "MMS_DEFAULT_RESPONSE_TIMEOUT": "500" }
    TensorFlow
    "Environment": { "SAGEMAKER_PROGRAM": "inference.py", "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code", "SAGEMAKER_CONTAINER_LOG_LEVEL": "20", "SAGEMAKER_REGION": "insert your region" }
    Note

    Les stratégies AmazonSageMakerFullAccess et AmazonS3ReadOnlyAccess doivent être attachées au rôle IAM AmazonSageMaker-ExecutionRole.

  2. Exécutez la commande suivante :

    aws sagemaker create-model --cli-input-json file://create_model.json

    Pour obtenir la syntaxe complète de l'API create-model, consultez create-model.

Création d'une configuration de point de terminaison

Après avoir créé un modèle SageMaker, créez la configuration du point de terminaison à l'aide de l'API create-endpoint-config. Pour ce faire, créez un fichier JSON avec les spécifications de votre configuration de point de terminaison. Par exemple, vous pouvez utiliser le modèle de code suivant et l'enregistrer comme create_config.json :

{ "EndpointConfigName": "<provide your endpoint config name>", "ProductionVariants": [ { "VariantName": "<provide your variant name>", "ModelName": "my-sagemaker-model", "InitialInstanceCount": 1, "InstanceType": "<provide your instance type here>", "InitialVariantWeight": 1.0 } ] }

Exécutez ensuite la commande AWS CLI pour créer votre configuration de point de terminaison :

aws sagemaker create-endpoint-config --cli-input-json file://create_config.json

Pour obtenir la syntaxe complète de l'API create-endpoint-config, consultez create-endpoint-config.

Création d'un point de terminaison

Après avoir créé votre configuration de point de terminaison, créez un point de terminaison à l'aide de l'API create-endpoint :

aws sagemaker create-endpoint --endpoint-name '<provide your endpoint name>' --endpoint-config-name '<insert your endpoint config name>'

Pour obtenir la syntaxe complète de l'API create-endpoint, consultez create-endpoint.