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 d' SageMaker inférence existant afin de vous aider à améliorer les performances de votre point de terminaison. La procédure d'obtention de recommandations pour un point de terminaison d' SageMaker inférence existant est similaire à la procédure d'obtention de recommandations d'inférence sans point de terminaison. Il existe plusieurs exclusions de fonctions à 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 fonction 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 en fonction de votre type de modèle à l'aide de for AWS SDK Python (Boto3) et du. AWS CLI
Note
Avant de créer une tâche de recommandation Inference Recommender, assurez-vous que les Conditions préalables à l'utilisation d'Amazon SageMaker Inference Recommender sont satisfaits.
Prérequis
Si vous ne possédez pas encore de point de terminaison d' SageMaker inférence, 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 de AWS SDK for Python (Boto3), ou du. AWS CLI Spécifiez un nom de tâche pour votre recommandation d'inférence, le nom d'un point de terminaison d' SageMaker inférence existant, d'un AWS IAM rôleARN, d'une configuration d'entrée et de votre package ARN de modèles à partir du moment où vous avez enregistré votre modèle dans le registre des 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 de plus amples informations, veuillez consulter 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 devriez recevoir une JSON réponse 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. Cela inclut le nom de la tâche, le rôleARN, les heures de création et de dernière modification.
Le dictionnaire InferenceRecommendations
contient une liste de recommandations d'inférences Inference Recommender.
Le dictionnaire EndpointConfiguration
imbriqué contient la recommandation du type d'instance (InstanceType
) ainsi que le nom du point de terminaison et de la variante (un modèle d'apprentissage AWS automatique déployé) qui ont été utilisés lors de la tâche de recommandation.
Le dictionnaire Metrics
imbriqué contient des informations sur le coût horaire estimé (CostPerHour
) pour votre point de terminaison en temps réel en dollars américains, le coût estimé par inférence (CostPerInference
) en dollars américains pour votre point de terminaison en temps réel, le nombre maximum attendu de InvokeEndpoint
demandes par minute envoyées au point de terminaison (MaxInvocations
) et la latence du modèle (ModelLatency
), qui est l'intervalle de temps (en millisecondes) auquel votre modèle a mis pour répondre. SageMaker 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
).