Surveillance de l'IA d'Amazon SageMaker

Amazon SageMaker AI fournit des fonctionnalités permettant de créer, de former et de déployer des applications d'IA générative à l'aide de modèles de base. Ce guide vous montre comment instrumenter une application à l'aide des points de terminaison Amazon SageMaker AI avec OpenLLMetry afin d'envoyer des données télémétriques à Instana.

Prérequis

Vérifiez que les conditions pré-requises suivantes sont remplies:

  • Python 3.8 ou plus tard
  • Amazon Web Services Identifiants AWS avec accès à SageMaker
  • Un terminal IA déployé d' SageMaker
  • Un compte backend Instana avec observabilité IA générative activée
  • Révision du guide de démarrage sur les modes avec agent et sans agent

Instrumentation de votre application d'IA Amazon SageMaker

  1. Installez les packages requis.

    pip install boto3 pandas numpy traceloop-sdk
  2. Exportez vos identifiants d' AWS.

    export AWS_ACCESS_KEY_ID="<your-access-key-id>"
    export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"

    Pour créer ou gérer des clés d'accès d' AWS, consultez la documentation Amazon IAM.

  3. Créez un fichier Python avec le code suivant.

    import boto3
    from traceloop.sdk import Traceloop
    from traceloop.sdk.decorators import workflow
    import pandas as pd
    
    # Initialize OpenLLMetry
    Traceloop.init(app_name="sagemaker_example", disable_batch=True)
    
    # Initialize SageMaker Runtime client
    runtime = boto3.Session().client('sagemaker-runtime', region_name="us-east-1")
    
    @workflow(name="sagemaker_example")
    def invoke_sagemaker_endpoint(endpoint):
        # Sample input data (1 row with 12 features)
        X_test = [[1, 8.2, 10.5, 1.5, 9.6, 1.3, 11.2, 2.9, 100, 11, 12.0, 13]]
    
        # Convert data to CSV format
        df = pd.DataFrame(X_test)
        csv_input = df.to_csv(index=False, header=False)
        csv_bytes = csv_input.encode('utf-8')
    
        # Invoke the SageMaker endpoint
        response = runtime.invoke_endpoint(
            EndpointName=endpoint,
            ContentType='text/csv',
            Body=csv_bytes
        )
    
        # Read and decode the prediction result
        return response['Body'].read().decode('utf-8')
    
    # Replace with your SageMaker endpoint name
    invoke_sagemaker_endpoint('<sagemaker-endpoint>')
    Remarque : le format des données d'entrée dépend des exigences de votre modèle déployé. Ajustez la structure des données en fonction de votre modèle spécifique.
  4. Exécutez votre application d'IA Amazon SageMaker.

    python3 sagemaker_app.py

    L'application enverra les données à votre point de terminaison IA d' SageMaker et affichera les résultats de la prédiction. OpenLLMetry capture automatiquement les traces pour chaque invocation de point de terminaison et les envoie à Instana.

  5. Consultez les données sur Instana.

    Après avoir exécuté votre application, les données apparaîtront dans le tableau de bord d'observabilité Gen AI d' Instana, indiquant :

    • Nom de noeud final
    • Charges utiles de requête et de réponse
    • Latence d'inférence
    • Informations sur les erreurs (le cas échéant)

Traitement des incidents

Pour les problèmes courants tels que les traces qui n'apparaissent pas ou les erreurs de connexion, consultez la section Dépannage.

erreurs d'authentification

Si vous rencontrez des erreurs d'authentification :
  1. Vérifiez si vos identifiants d' AWS s sont correctement configurés
  2. Vérifiez si votre utilisateur IAM dispose des autorisations d' SageMaker nécessaires
  3. Assurez-vous que vos identifiants ne sont pas expirés
  4. Vérifiez que la région d' AWS correspond à celle de votre point de terminaison

Erreurs « Point de terminaison introuvable »

Si vous rencontrez des erreurs de type « point de terminaison introuvable » :

  1. Vérifiez que le nom du point de terminaison est correct
  2. Vérifiez si le point de terminaison est déployé et dans l'état d' "InService"
  3. Assurez-vous que le point de terminaison se trouve dans la même région que votre configuration client
  4. Vérifiez que votre politique IAM inclut sagemaker:InvokeEndpoint l'autorisation

Erreurs de saisie du modèle

Si vous rencontrez des erreurs de saisie du modèle :
  1. Vérifiez que le format des données d'entrée correspond aux attentes de votre modèle
  2. Vérifiez si le type de contenu est correct pour votre modèle
  3. Assurez-vous que les types de données et les dimensions sont corrects
  4. Vérifiez le schéma d'entrée de votre modèle dans la console d' SageMaker

Etapes suivantes