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 des résultats de votre tâche de recommandation d’inférence
Collectez les résultats de votre tâche de recommandation d’inférence par programmation avec AWS SDK pour Python (Boto3), la AWS CLI, Studio Classic ou la console SageMaker AI.
- AWS SDK pour Python (Boto3)
-
Une fois qu’une recommandation d’inférence est terminée, vous pouvez utiliser
DescribeInferenceRecommendationsJobpour obtenir les détails de la tâche et les recommandations. Fournissez le nom de tâche que vous avez utilisé lorsque vous avez créé la tâche de recommandation d’inférence.job_name='<INSERT>'response = sagemaker_client.describe_inference_recommendations_job( JobName=job_name)Imprimez l’objet de réponse. L’exemple de code précédent a stocké la réponse dans une variable appelée
response.print(response['Status'])Cela renvoie une réponse JSON semblable à l’exemple suivant. Notez que cet exemple montre les types d’instances recommandés pour l’inférence en temps réel (pour un exemple illustrant les recommandations d’inférence sans serveur, consultez l’exemple suivant celui-ci).
{ 'JobName':'job-name', 'JobDescription':'job-description', 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region:account-id:model-package/resource-id', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id', 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid', 'content-type':'content-type', 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }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 heures de création et de suppression.
Le dictionnaire
InferenceRecommendationscontient une liste de recommandations d’inférences Inference Recommender.Le dictionnaire
EndpointConfigurationimbriqué 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. Vous pouvez utiliser le point de terminaison et le nom de variante pour la surveillance dans Amazon CloudWatch Events. Pour plus d’informations, consultez Métriques Amazon SageMaker AI sur Amazon CloudWatch.Le dictionnaire imbriqué
Metricscontient 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êtesInvokeEndpointpar minute envoyées au point de terminaison (MaxInvocations) et la latence du modèle (ModelLatency), qui est l’intervalle de temps (en microsecondes) 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.L’exemple suivant montre la partie
InferenceRecommendationsde la réponse pour une tâche de recommandation d’inférence configurée pour renvoyer des recommandations d’inférence sans serveur :"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "value", "InitialInstanceCount":value, "InstanceType": "value", "VariantName": "value", "ServerlessConfig": { "MaxConcurrency":value, "MemorySizeInMb":value} }, "InvocationEndTime":value, "InvocationStartTime":value, "Metrics": { "CostPerHour":value, "CostPerInference":value, "CpuUtilization":value, "MaxInvocations":value, "MemoryUtilization":value, "ModelLatency":value, "ModelSetupTime":value}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value" }, "RecommendationId": "value" } ]Vous pouvez interpréter les recommandations pour l’inférence sans serveur de la même manière que les résultats pour l’inférence en temps réel, à l’exception de
ServerlessConfig, qui vous indique les métriques renvoyées pour un point de terminaison sans serveur avec laMemorySizeInMBdonnée et quandMaxConcurrency = 1. Pour augmenter le débit possible sur le point de terminaison, augmentez la valeur deMaxConcurrencyde façon linéaire. Par exemple, si la recommandation d’inférence afficheMaxInvocationscomme1000, l’augmentation deMaxConcurrencyà2prendrait en compte 2 000MaxInvocations. Notez que cela n’est vrai que jusqu’à un certain point, qui peut varier en fonction de votre modèle et de votre code. Les recommandations sans serveur mesurent également la métriqueModelSetupTime, qui mesure (en microsecondes) le temps nécessaire au lancement des ressources informatiques sur un point de terminaison sans serveur. Pour plus d’informations sur la configuration des points de terminaison sans serveur, consultez la documentation Inférence sans serveur. - AWS CLI
-
Une fois qu’une recommandation d’inférence est terminée, vous pouvez utiliser
describe-inference-recommendations-jobpour obtenir les détails de la tâche et les types d’instances recommandés. Fournissez le nom de tâche que vous avez utilisé lorsque vous avez créé la tâche de recommandation d’inférence.aws sagemaker describe-inference-recommendations-job\ --job-name<job-name>\ --region<aws-region>La réponse JSON similaire doit ressembler à l’exemple suivant. Notez que cet exemple montre les types d’instances recommandés pour l’inférence en temps réel (pour un exemple illustrant les recommandations d’inférence sans serveur, consultez l’exemple suivant celui-ci).
{ 'JobName':'job-name', 'JobDescription':'job-description', 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region:account-id:model-package/resource-id', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name', 'VariantName':'variant-name', 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id', 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid', 'content-type':'content-type', 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }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, l’heure de création et de suppression.
Le dictionnaire
InferenceRecommendationscontient une liste de recommandations d’inférences Inference Recommender.Le dictionnaire
EndpointConfigurationimbriqué 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. Vous pouvez utiliser le point de terminaison et le nom de variante pour la surveillance dans Amazon CloudWatch Events. Pour plus d’informations, consultez Métriques Amazon SageMaker AI sur Amazon CloudWatch.Le dictionnaire imbriqué
Metricscontient 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êtesInvokeEndpointpar 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.L’exemple suivant montre la partie
InferenceRecommendationsde la réponse pour une tâche de recommandation d’inférence configurée pour renvoyer des recommandations d’inférence sans serveur :"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "value", "InitialInstanceCount":value, "InstanceType": "value", "VariantName": "value", "ServerlessConfig": { "MaxConcurrency":value, "MemorySizeInMb":value} }, "InvocationEndTime":value, "InvocationStartTime":value, "Metrics": { "CostPerHour":value, "CostPerInference":value, "CpuUtilization":value, "MaxInvocations":value, "MemoryUtilization":value, "ModelLatency":value, "ModelSetupTime":value}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value" }, "RecommendationId": "value" } ]Vous pouvez interpréter les recommandations pour l’inférence sans serveur de la même manière que les résultats pour l’inférence en temps réel, à l’exception de
ServerlessConfig, qui vous indique les métriques renvoyées pour un point de terminaison sans serveur avec laMemorySizeInMBdonnée et quandMaxConcurrency = 1. Pour augmenter le débit possible sur le point de terminaison, augmentez la valeur deMaxConcurrencyde façon linéaire. Par exemple, si la recommandation d’inférence afficheMaxInvocationscomme1000, l’augmentation deMaxConcurrencyà2prendrait en compte 2 000MaxInvocations. Notez que cela n’est vrai que jusqu’à un certain point, qui peut varier en fonction de votre modèle et de votre code. Les recommandations sans serveur mesurent également la métriqueModelSetupTime, qui mesure (en microsecondes) le temps nécessaire au lancement des ressources informatiques sur un point de terminaison sans serveur. Pour plus d’informations sur la configuration des points de terminaison sans serveur, consultez la documentation Inférence sans serveur. - Amazon SageMaker Studio Classic
-
Les recommandations d’inférence sont renseignées dans un nouvel onglet Recommandations d’inférence dans Studio Classic. L’affichage des résultats peut prendre jusqu’à 45 minutes. Cet onglet contient les en-têtes des colonnes Results (Résultats) et Details (Détails).
La colonne Détails fournit des informations sur la tâche de recommandation d’inférence, telles que le nom de la recommandation d’inférence, la date de création de la tâche (Heure de création), etc. Elle fournit également des informations sur les Settings (Paramètres), telles que le nombre maximal d’invocations qui se sont produits par minute et des informations sur les Amazon Resource Names utilisés.
La colonne Résultats fournit une fenêtre Objectifs de déploiement et Recommandations SageMaker AI dans laquelle vous pouvez ajuster l’ordre d’affichage des résultats en fonction de l’importance du déploiement. Il existe trois menus déroulants que vous pouvez utiliser pour fournir le niveau d’importance du Coût, de la Latence et du Débit pour votre cas d’utilisation. Pour chaque objectif (coût, latence et débit), vous pouvez définir le niveau d’importance : Importance la plus faible, Importance faible, Importance modérée, Importance élevée ou Importance la plus élevée.
En fonction de vos sélections d’importance pour chaque objectif, l’outil de recommandation d’inférence affiche sa principale recommandation dans le champ Recommandation SageMaker à droite du panneau, ainsi que le coût horaire estimé et la demande d’inférence. Il fournit également des informations sur la latence attendue du modèle, le nombre maximal d’invocations et le nombre d’instances. Pour les recommandations sans serveur, vous pouvez voir les valeurs idéales pour la simultanéité maximale et la taille de mémoire du point de terminaison.
En plus de la recommandation principale affichée, vous pouvez également voir les mêmes informations affichées pour toutes les instances testées par l’outil de recommandation d’inférence dans la section Toutes les exécutions.
- SageMaker AI console
-
Vous pouvez afficher vos tâches de recommandation d’instance dans la console SageMaker AI en procédant comme suit :
-
Accédez à la console SageMaker AI à l’adresse https://console.aws.amazon.com/sagemaker/
. -
Dans le panneau de navigation de gauche, choisissez Inférence, puis Inference Recommender.
-
Sur la page Tâches Inference Recommender, choisissez le nom de votre tâche de recommandation d’inférence.
Sur la page de détails de votre tâche, vous pouvez consulter les Recommandations d’inférence, qui sont les types d’instances recommandés par SageMaker AI pour votre modèle, comme le montre la capture d’écran ci-dessous.
Dans cette section, vous pouvez comparer les types d’instances en fonction de différents facteurs tels que la Latence du modèle, le Coût horaire, le Coût par inférence et les Invocations par minute.
Sur cette page, vous pouvez également afficher les configurations que vous avez spécifiées pour votre tâche. Dans la section Monitor, vous pouvez afficher les métriques Amazon CloudWatch journalisées pour chaque type d’instance. Pour en savoir plus sur l’interprétation de ces métriques, consultez Interprétation des résultats.
-
Pour plus d’informations sur l’interprétation des résultats de votre tâche de recommandation, consultez Résultats des recommandations.