Résolution des erreurs Inference Recommender - Amazon SageMaker AI

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.

Résolution des erreurs Inference Recommender

Cette section contient des informations sur la façon de comprendre et d’éviter les erreurs courantes, les messages d’erreur qu’elles génèrent, ainsi que des conseils sur la manière de résoudre ces erreurs.

Comment résoudre les problèmes

Vous pouvez tenter de résoudre l’erreur en suivant les étapes suivantes :

  • Vérifiez si vous avez couvert toutes les conditions préalables pour utiliser Inference Recommender. Consultez les prérequis.

  • Vérifiez que vous êtes en mesure de déployer votre modèle depuis le registre de modèles vers un point de terminaison et qu’il peut traiter vos données utiles sans erreur. Consultez Déploiement d’un modèle dans le registre.

  • Lorsque vous lancez une tâche Inference Recommender, vous devriez voir des points de terminaison créés dans la console et vous pouvez consulter les journaux CloudWatch.

Erreurs courantes

Consultez le tableau suivant pour connaître les erreurs Inference Recommender courantes et leurs solutions.

Erreur Solution

Spécifiez Domain dans le package de modèle version 1. Domain est un paramètre obligatoire pour la tâche.

Assurez-vous de fournir le domaine ML ou OTHER s’il est inconnu.

L’ARN du rôle fourni ne peut pas être assumé et une erreur AWSSecurityTokenServiceException se produit.

Assurez-vous que le rôle d’exécution fourni possède les autorisations nécessaires spécifiées dans les prérequis.

Spécifiez Framework dans le package de modèle version 1. Framework est un paramètre obligatoire pour la tâche.

Assurez-vous de fournir le cadre ML ou OTHER s’il est inconnu.

Il y a 0 utilisateur à la fin de la phase précédente et 1 utilisateur initial de la phase actuelle.

Les utilisateurs font ici référence aux utilisateurs virtuels ou aux fils de discussion utilisés pour envoyer des demandes. Chaque phase commence avec les utilisateurs A et se termine avec les utilisateurs B, de sorte que B > A. Entre les phases séquentielles, x_1 et x_2, nous exigeons que abs(x_2.A - x_1.B) <= 3 et >= 0.

La durée totale du trafic (transversal) ne doit pas dépasser la durée de la tâche.

La durée totale de toutes vos phases ne peut pas dépasser la durée de la tâche.

Le type d’instance extensible ml.t2.medium n’est pas autorisé.

Inference Recommender ne prend pas en charge les tests de charge sur la famille d’instances t2, car les instances extensibles ne fournissent pas de performances constantes.

ResourceLimitExceeded lors de l’appel de l’opération CreateEndpoint

Vous avez dépassé la limite de ressources de SageMaker AI. Par exemple, Inference Recommender peut ne pas être en mesure de provisionner des points de terminaison à des fins d’analyse comparative si le compte a atteint le quota de points de terminaison. Pour plus d’informations sur les quotas et les limites de SageMaker AI, consultez Points de terminaison et quotas Amazon SageMaker AI.

ModelError lors de l’appel de l’opération InvokeEndpoint

Une erreur de modèle peut se produire pour les raisons suivantes :

  • Le délai d’invocation a expiré en attendant une réponse du conteneur modèle.

  • Le modèle n’a pas pu traiter les données utiles d’entrée.

PayloadError lors de l’appel de l’opération InvokeEndpoint

Une erreur de charge utile peut se produire pour les raisons suivantes :

  • La source de la charge utile ne se trouve pas dans le compartiment Amazon S3.

  • Les données utiles sont dans un format d’objet qui n’est pas un fichier.

  • La charge utile est dans un type de fichier non valide. Par exemple, un modèle attend une charge utile de type image mais reçoit un fichier texte.

  • La charge utile est vide.

Vérifier CloudWatch

Lorsque vous lancez une tâche Inference Recommender, vous devriez voir des points de terminaison créés dans la console. Sélectionnez l’un des points de terminaison et consultez les journaux CloudWatch pour détecter toute erreur 4xx/5xx. Si votre tâche Inference Recommender est réussie, vous pourrez voir les noms des points de terminaison dans les résultats. Même si votre tâche Inference Recommender échoue, vous pouvez toujours consulter les journaux CloudWatch pour détecter les points de terminaison supprimés en suivant les étapes ci-dessous :

  1. Ouvrez la console Amazon CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/.

  2. Sélectionnez la région dans laquelle vous avez créé la tâche Inference Recommender dans la liste déroulante Région située en haut à droite.

  3. Dans le panneau de navigation de gauche, choisissez Journaux, puis Groupes de journaux.

  4. Recherchez le groupe de journaux nommé /aws/sagemaker/Endpoints/sm-epc-*. Sélectionnez le groupe de journaux en fonction de votre dernière tâche Inference Recommender.

Vous pouvez également résoudre les problèmes liés à votre tâche en consultant les journaux CloudWatch d’Inference Recommender. Les journaux Inference Recommender, qui sont publiés dans le groupe de journaux CloudWatch /aws/sagemaker/InferenceRecommendationsJobs, fournissent une vue d’ensemble de la progression de la tâche dans le flux de journaux <jobName>/execution. Vous trouverez des informations détaillées sur chacune des configurations de point de terminaison testées dans le flux de journaux <jobName>/Endpoint/<endpointName>.

Vue d’ensemble des flux de journaux d’Inference Recommender

  • <jobName>/execution contient des informations générales sur les tâches, telles que les configurations de point de terminaison planifiées pour l’analyse comparative, la raison pour laquelle la tâche de compilation a été ignorée et la raison de l’échec de la validation.

  • <jobName>/Endpoint/<endpointName> contient des informations telles que la progression de la création de ressources, la configuration du test, la raison de l’arrêt du test de chargement et le statut du nettoyage des ressources.

  • <jobName>/CompilationJob/<compilationJobName> contient des informations sur les tâches de compilation créées par Inference Recommender, telles que la configuration et le statut des tâches de compilation.

Création d’une alarme pour les messages d’erreur d’Inference Recommender

Inference Recommender génère des instructions de journal pour les erreurs qui peuvent être utiles lors du dépannage. Avec un groupe de journaux CloudWatch et un filtre de métrique, vous pouvez rechercher des termes et des modèles dans ces données de journal lorsque les données sont envoyées à CloudWatch. Ensuite, vous pouvez créer une alarme CloudWatch basée sur le filtre de métrique d’un groupe de journaux. Pour plus d’informations, consultez Création d’une alarme CloudWatch basée sur un filtre de métrique d’un groupe de journaux.

Vérifier les comparaisons

Lorsque vous lancez une tâche Inference Recommender, Inference Recommender crée plusieurs comparaisons pour évaluer les performances de votre modèle sur différents types d’instances. Vous pouvez utiliser l’API ListInferenceRecommendationsJobSteps pour afficher les détails de toutes les comparaisons. Si une comparaison a échoué, vous pouvez voir les raisons de l’échec dans les résultats.

Pour utiliser l’API ListInferenceRecommendationsJobSteps, entrez les valeurs suivantes :

  • Pour JobName, spécifiez le nom de la tâche Inference Recommender.

  • Pour StepType, utilisez BENCHMARK pour renvoyer des détails sur les comparaisons de la tâche.

  • Pour Status, utilisez FAILED pour renvoyer des détails sur les comparaisons ayant échoué uniquement. Pour obtenir la liste des autres types de statut, consultez le champ Status de l’API ListInferenceRecommendationsJobSteps.

# Create a low-level SageMaker service client. import boto3 aws_region = '<region>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide the job name for the SageMaker Inference Recommender job job_name = '<job-name>' # Filter for benchmarks step_type = 'BENCHMARK' # Filter for benchmarks that have a FAILED status status = 'FAILED' response = sagemaker_client.list_inference_recommendations_job_steps( JobName = job_name, StepType = step_type, Status = status )

Vous pouvez imprimer l’objet de réponse pour afficher les résultats. L’exemple de code précédent a stocké la réponse dans une variable appelée response :

print(response)