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 de vous aider à améliorer les performances de votre point de terminaison. La procédure d'obtention de recommandations pour un point de terminaison SageMaker AI Inference 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 du AWS SDK pour 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 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 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 SageMaker AI Inference existant, un ARN de AWS rôle IAM, une configuration d'entrée et l'ARN de votre package 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 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 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) nécessaire à votre modèle pour répondre à l'IA. 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
).