Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Obtention d’une recommandation d’inférence pour un point de terminaison existant
Les tâches de recommandation d’inférence exécutent un ensemble de tests de charge sur les types d’instance recommandés et le point de terminaison existant. Les tâches de recommandation d’inférence utilisent des métriques de performance basées sur des tests de charge utilisant les exemples de données que vous avez fournis lors de l’enregistrement de la version du modèle.
Vous pouvez comparer et obtenir des recommandations d’inférence pour un point de terminaison SageMaker AI Inference existant afin d’améliorer les performances de votre point de terminaison. La procédure permettant d’obtenir des recommandations pour un point de terminaison SageMaker AI Inference existant est similaire à la procédure pour obtenir une recommandation d’inférence sans point de terminaison. Il existe plusieurs exclusions de caractéristiques à prendre en compte lors de l’analyse comparative d’un point de terminaison existant :
-
Vous ne pouvez utiliser qu’un seul point de terminaison existant par tâche Inference Recommender.
-
Vous ne pouvez avoir qu’une seule variante sur votre point de terminaison.
-
Vous ne pouvez pas utiliser un point de terminaison qui active la mise à l’échelle automatique.
-
Cette fonctionnalité n’est prise en charge que pour l’Inférence en temps réel.
-
Cette fonction ne prend pas en charge Real-Time Multi-Model Endpoints (Points de terminaison multi-modèles en temps réel).
Avertissement
Nous vous déconseillons fortement d’exécuter une tâche Inference Recommender sur un point de terminaison de production qui gère le trafic réel. La charge synthétique lors de l’analyse comparative peut affecter votre point de terminaison de production et provoquer des limitations ou fournir des résultats d’évaluation inexacts. Nous vous recommandons d’utiliser un point de terminaison externe à la production ou de développement à des fins de comparaison.
Les sections suivantes montrent comment utiliser Amazon SageMaker Inference Recommender pour créer une recommandation d’inférence pour un point de terminaison existant basée sur votre type de modèle à l’aide du kit AWS SDK pour Python (Boto3) et de l’AWS CLI.
Note
Avant de créer une tâche de recommandation Inference Recommender, assurez-vous que les Conditions préalables pour utiliser Amazon SageMaker Inference Recommender sont satisfaits.
Prérequis
Si vous ne possédez pas encore de point de terminaison SageMaker AI Inference, vous pouvez soit obtenir une recommandation d’inférence sans point de terminaison, soit créer un point de terminaison d’inférence en temps réel en suivant les instructions de la section Création de votre point de terminaison et déploiement de votre modèle.
Création d’une tâche de recommandation d’inférence pour un point de terminaison existant
Créez une recommandation d’inférence par programmation à l’aide du kit AWS SDK pour Python (Boto3) ou de l’AWS CLI. Spécifiez un nom de tâche pour votre recommandation d’inférence, le nom d’un point de terminaison SageMaker AI Inference existant, un ARN de rôle IAM AWS, une configuration d’entrée et l’ARN de votre package de modèle lorsque vous avez enregistré votre modèle auprès du registre de modèles.
Obtention des résultats de votre tâche de recommandation d’inférence
Vous pouvez collecter les résultats de votre tâche de recommandation d’inférence par programmation avec la même procédure que pour les tâches de recommandation d’inférence standard. Pour plus d’informations, consultez Obtention des résultats de votre tâche de recommandation d’inférence.
Lorsque vous obtenez les résultats d’une tâche de recommandation d’inférence pour un point de terminaison existant, vous devez recevoir une réponse JSON similaire à la suivante :
{ "JobName":"job-name", "JobType": "Default", "JobArn": "arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id", "RoleArn":"iam-role-arn", "Status": "COMPLETED", "CreationTime": 1664922919.2, "LastModifiedTime": 1664924208.291, "InputConfig": { "ModelPackageVersionArn": "arn:aws:sagemaker:region:account-id:model-package/resource-id", "Endpoints": [ { "EndpointName":"endpoint-name"} ] }, "InferenceRecommendations": [ { "Metrics": { "CostPerHour": 0.7360000014305115, "CostPerInference": 7.456940238625975e-06, "MaxInvocations": 1645, "ModelLatency": 171 }, "EndpointConfiguration": { "EndpointName":"sm-endpoint-name", "VariantName":"variant-name", "InstanceType": "ml.g4dn.xlarge", "InitialInstanceCount": 1 }, "ModelConfiguration": { "EnvironmentParameters": [ { "Key": "TS_DEFAULT_WORKERS_PER_MODEL", "ValueType": "string", "Value": "4" } ] } } ], "EndpointPerformances": [ { "Metrics": { "MaxInvocations": 184, "ModelLatency": 1312 }, "EndpointConfiguration": { "EndpointName":"endpoint-name"} } ] }
Les premières lignes fournissent des informations sur la tâche de recommandation d’inférence elle-même. Celles-ci incluent le nom de la tâche, l’ARN du rôle et les dernières heures de création et de modification.
Le dictionnaire InferenceRecommendations contient une liste de recommandations d’inférences Inference Recommender.
Le dictionnaire EndpointConfiguration imbriqué contient la recommandation de type d’instance (InstanceType), ainsi que le point de terminaison et le nom de variante (un modèle de machine learning AWS déployé) qui a été utilisé lors de la tâche de recommandation.
Le dictionnaire imbriqué Metrics contient des informations sur le coût horaire estimé (CostPerHour) en dollars américains pour votre point de terminaison en temps réel, le coût estimé par inférence (CostPerInference) en dollars américains pour votre point de terminaison en temps réel, le nombre maximal prévu de requêtes InvokeEndpoint par minute envoyées au point de terminaison (MaxInvocations), et la latence du modèle (ModelLatency), qui est l’intervalle de temps (en millisecondes) que votre modèle a pris pour répondre à SageMaker AI. La latence du modèle inclut le temps de communication local pris pour envoyer la requête et pour récupérer la réponse du conteneur d’un modèle et le temps nécessaire pour terminer l’inférence dans le conteneur.
Le dictionnaire imbriqué EndpointPerformances contient le nom de votre point de terminaison existant sur lequel la tâche de recommandation a été exécutée (EndpointName) et les métriques de performance de votre point de terminaison (MaxInvocations et ModelLatency).