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 problèmes
Si votre tâche de formation échoue ou se comporte de manière inattendue, les sections suivantes peuvent vous aider à identifier et à résoudre le problème. La vérification de l'état de votre tâche peut vous aider à déterminer si le problème est lié à votre configuration ou à votre agent. Les sections spécifiques à l'agent ci-dessous couvrent les journaux et les problèmes courants liés à chaque voie de déploiement.
Débogage au niveau du job
Utilisez l'DescribeJobAPI pour vérifier l'état actuel de votre tâche et découvrir pourquoi elle a échoué. La réponse inclut le statut de la tâche, la raison de l'échec en cas d'échec de la tâche et une chronologie des transitions de statut indiquant l'état d'avancement de la tâche avant que le problème ne se produise.
aws sagemaker describe-job \ --job-name "my-agent-rft-job" \ --job-category AgentRFT \ --region us-west-2
Principaux champs à vérifier :
-
JobStatus: État actuel (
InProgress,Completed,Failed,Stopping,Stopped) -
SecondaryStatus: Phase plus granulaire (
Starting,,DownloadingTraining,Uploading) -
FailureReason: si la tâche a échoué, une description de la raison
-
SecondaryStatusTransitions: Chronologie complète des changements de statut avec horodatage
CloudWatch Journaux d'emplois
Les informations relatives à la progression de la formation et au niveau du déploiement sont enregistrées dans le groupe de journaux suivant de votre compte :
/aws/sagemaker/Job/AgentRFT
Le nom du flux de log est<job-name>/.
Ces journaux enregistrent la progression des étapes de formation, les événements d'invocation du déploiement et les erreurs de haut niveau. Ils peuvent être utiles pour comprendre dans quelle mesure votre travail a progressé et si les déploiements sont correctement lancés.
Si votre tâche échoue, vérifiez le FailureReason champ pour plus de détails. En cas d'échec pendant la Training phase, le problème vient probablement de votre agent. Dans ce cas, consultez les journaux de votre agent pour plus d'informations.
Débogage au niveau de l'agent
Débogage d'Amazon Bedrock AgentCore
Si vous avez déployé votre agent sur Amazon Bedrock AgentCore, les informations suivantes peuvent être utiles pour étudier les problèmes liés à l'agent.
Journaux des agents
Les sorties stdout et stderr de votre conteneur d'agents sont capturées dans Amazon CloudWatch Logs sur votre compte. Vous pouvez les trouver dans le groupe de journaux suivant :
/aws/bedrock-agentcore/runtimes/<runtime-name>-<id>-<qualifier>
Ces journaux capturent les résultats du code de votre agent, notamment les erreurs, les traces de pile et les messages du SDK. Ces journaux peuvent être utilisés pour étudier les problèmes liés au code de votre agent, aux dépendances ou à la connectivité au RFT Runtime.
Vérifier l'état de santé des agents
Vérifiez que l'environnement d'exécution de votre agent est en bon état :
aws bedrock-agentcore-control list-agent-runtimes --region us-west-2
Pour plus de détails sur un environnement d'exécution spécifique :
aws bedrock-agentcore-control get-agent-runtime \ --agent-runtime-id <runtime-id> \ --region us-west-2
Débogage d'agents personnalisés
Si vous utilisez le chemin du redirecteur Lambda, des problèmes peuvent survenir dans la fonction Lambda elle-même ou dans votre agent externe. Les informations suivantes peuvent être utiles pour étudier les deux.
Journaux du redirecteur Lambda
Les journaux d'exécution de votre fonction Lambda sont capturés dans Amazon CloudWatch Logs. Vous pouvez les trouver dans le groupe de journaux suivant :
/aws/lambda/<function-name>
Ces journaux peuvent être utilisés pour étudier les problèmes liés au transfert des demandes, aux délais d'expiration ou à la connectivité entre le Lambda et votre agent. Vérifiez :
-
Erreurs d'invocation (Lambda n'a pas pu joindre votre agent)
-
Erreurs de temporisation (l'agent a mis trop de temps à répondre)
-
Erreurs de validation (demande de déploiement mal formée)
Vérifiez la connectivité
Si vos journaux Lambda indiquent des erreurs d'invocation ou des délais d'expiration, le problème vient peut-être du fait que le Lambda ne peut pas atteindre votre agent. Les vérifications suivantes peuvent aider à vérifier si la connexion entre votre Lambda et l'agent fonctionne.
Health check — confirmez que votre agent fonctionne :
curl -s "http://$AGENT_ENDPOINT/health" # Expected: {"status": "ok"}
Invocation du test Lambda : confirmez que Lambda peut atteindre votre agent :
aws lambda invoke \ --function-name rft-agent-forwarder \ --cli-binary-format raw-in-base64-out \ --payload '{"prompt": "test", "metadata": {"jobArn": "test", "rolloutId": "test-1"}}' \ --region us-west-2 \ /tmp/response.json && cat /tmp/response.json # Note: This will return an InternalServerError because the jobArn "test" # does not correspond to an active training job. This is expected. # Success means the Lambda executed and reached your agent — check agent # logs to confirm the request was received.
Si votre Lambda s'exécute correctement mais que la tâche échoue toujours, les journaux de votre agent peuvent contenir plus de détails. Vérifiez les journaux de vos agents pour détecter les erreurs liées aux appels d'inférence ou aux rapports de récompenses.
Journaux des agents
Les journaux de votre agent dépendent de l'endroit où il est déployé. Ces journaux peuvent être utilisés pour étudier les problèmes liés au code de votre agent, pour inférer des appels au RFT Runtime ou pour signaler des récompenses.
Par exemple, si vous avez déployé votre agent sur Amazon EKS, vous pouvez consulter les journaux de votre agent avec :
kubectl logs -l app=external-agent --tail=50
Utilisation CloudTrail pour le débogage
CloudTrail les événements de données peuvent aider à confirmer si les appels de votre agent au RFT Runtime sont réussis. Recherchez des événements avec :
-
EventName :
Sample,,,SampleWithResponseStreamCompleteRolloutUpdateReward -
ressources.type :
AWS::SageMaker::Job
Si vous ne voyez pas ces événements, votre agent ne parvient pas à appeler le RFT Runtime. Vérifiez les journaux et les autorisations des agents.
Journalisation des appels d'API avec AWS CloudTrail
Amazon SageMaker AI est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un AWS service. CloudTrail capture tous les appels d'API pour Amazon SageMaker AI sous forme d'événements. Les appels capturés incluent des appels provenant de la console Amazon SageMaker AI et des appels de code vers les opérations de l'API Amazon SageMaker AI. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande envoyée à Amazon SageMaker AI, l'adresse IP à partir de laquelle la demande a été faite, la date à laquelle elle a été faite et des informations supplémentaires.
Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer :
-
Si la demande a été effectuée avec des informations d’identification d’utilisateur root ou d’utilisateur root.
-
Si la demande a été faite au nom d'un utilisateur du centre d'identité IAM.
-
Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.
-
Si la demande a été faite par un autre AWS service.
CloudTrail est actif sur votre AWS compte lorsque vous le créez et vous avez automatiquement accès à l'historique des CloudTrail événements. L'historique des CloudTrail événements fournit un enregistrement consultable, consultable, téléchargeable et immuable des 90 derniers jours des événements de gestion enregistrés dans une région. AWS Pour plus d'informations, consultez la section Utilisation de l'historique des CloudTrail événements dans le guide de AWS CloudTrail l'utilisateur. La consultation de CloudTrail l'historique des événements est gratuite.
Pour un enregistrement continu des événements enregistrés sur votre AWS compte au cours des 90 derniers jours, créez un magasin de données sur les événements de Trail ou CloudTrail Lake.
CloudTrail sentiers
Un suivi permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Tous les sentiers créés à l'aide de la console AWS de gestion sont multirégionaux. Vous pouvez créer un parcours à région unique ou multirégionale à l'aide de la CLI AWS . Il est recommandé de créer un parcours multirégional, car vous pouvez enregistrer l'activité dans toutes les AWS régions dans votre compte. Si vous créez un parcours à région unique, vous ne pouvez voir que les événements enregistrés dans la AWS région du sentier. Pour plus d'informations sur les sentiers, consultez les sections Création d'un parcours pour votre AWS compte et Création d'un parcours pour une organisation dans le guide de AWS CloudTrail l'utilisateur.
Vous pouvez envoyer une copie de vos événements de gestion en cours à votre compartiment Amazon S3 gratuitement CloudTrail en créant un journal. Toutefois, des frais de stockage Amazon S3 sont facturés. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrailTarification
CloudTrail Stockages de données sur les événements du lac
CloudTrail Lake vous permet de lancer SQL-based des requêtes sur vos événements. CloudTrail Lake convertit les événements existants au format JSON basé sur les lignes au format Apache ORC
CloudTrail Les stockages et requêtes de données sur les événements de Lake entraînent des coûts. Lorsque vous créez un magasin de données d’événement, vous choisissez l’option de tarification que vous voulez utiliser pour le magasin de données d’événement. L’option de tarification détermine le coût d’ingestion et de stockage des événements, ainsi que les périodes de conservation par défaut et maximale pour le magasin de données d’événement. Pour plus d'informations sur la tarification CloudTrail , consultez Tarification AWS CloudTrail
SageMaker Événements liés aux données de l'IA dans CloudTrail
Les événements de données fournissent des informations sur les opérations de ressources effectuées sur ou dans une ressource (par exemple, lecture ou écriture de données dans un objet Amazon S3). Ils sont également connus sous le nom opérations de plans de données. Les événements de données sont souvent des activités à fort volume. Par défaut, CloudTrail n'enregistre pas les événements liés aux données. L'historique des CloudTrail événements n'enregistre pas les événements liés aux données.
Des frais supplémentaires s’appliquent pour les événements de données. Pour plus d'informations sur la tarification CloudTrail, consultez Tarification AWS CloudTrail
Vous pouvez enregistrer les événements de données pour différents types de ressources Amazon SageMaker AI à l'aide de la CloudTrail console, de la AWS CLI ou des opérations CloudTrail d'API. Pour plus d'informations sur la journalisation des événements liés aux données, consultez les sections Journalisation des événements de données avec la console de AWS gestion et Journalisation des événements de données avec l'interface de ligne de AWS commande du guide de AWS CloudTrail l'utilisateur.
Le tableau suivant répertorie les types de ressources Amazon SageMaker AI pour lesquels vous pouvez enregistrer des événements de données :
| Type de ressource (console) | valeur resources.type | API de données connectées à CloudTrail | Référence d’API |
|---|---|---|---|
| SageMaker point de terminaison | AWS::SageMaker::Endpoint |
InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream | InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream |
| SageMaker emplois | AWS::SageMaker::Job |
CompleteRollout, Échantillon, SampleWithResponseStream | CompleteRollout, Échantillon, SampleWithResponseStream |
Note
Les appels d'SampleWithResponseStreamAPI InvokeEndpoint InvokeEndpointAsyncSample,, et n'enregistrent pas les paramètres de la demande.
Vous pouvez configurer des sélecteurs d’événements avancés pour filtrer les champs eventName, readOnly et resources.ARN afin de ne journaliser que les événements importants pour vous. Pour plus d’informations sur ces champs, consultez AdvancedFieldSelector dans la Référence des API AWS CloudTrail .
Exemple : enregistrer les événements liés aux données d'un SageMaker point de terminaison et d'une tâche
L'exemple suivant montre comment utiliser la commande de la AWS CLI put-event-selectors pour ajouter des sélecteurs d'événements avancés :
[ { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:sagemaker:us-east-1:111122223333:endpoint/your-inference-endpoint-arn"] }, { "Field": "resources.type", "Equals": ["AWS::SageMaker::Endpoint"] } ] }, { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:sagemaker:us-east-1:111122223333:job/your-job-arn"] }, { "Field": "resources.type", "Equals": ["AWS::SageMaker::Job"] } ] } ]
Exécutez ensuite :
aws cloudtrail put-event-selectors \ --trail-name your-trail-name \ --advanced-event-selectors=file://advanced-event-selectors.json
SageMaker Événements de gestion de l'IA dans CloudTrail
Les événements de gestion fournissent des informations sur les opérations de gestion effectuées sur les ressources de votre AWS compte. Ils sont également connus sous le nom opérations de plan de contrôle. Par défaut, CloudTrail enregistre les événements de gestion.
Amazon SageMaker AI enregistre toutes les opérations du plan de contrôle Amazon SageMaker AI en tant qu'événements de gestion. Pour obtenir la liste des opérations du plan de contrôle Amazon SageMaker AI auxquelles Amazon SageMaker AI se connecte CloudTrail, consultez le manuel Amazon SageMaker AI API Reference.
CloudTrail exemples d'événements
Pour plus d'informations sur le contenu des CloudTrail enregistrements, voir le contenu des CloudTrail enregistrements dans le Guide de AWS CloudTrail l'utilisateur.
Packages modèles et points de contrôle
Présentation de
Pendant l'entraînement RL à plusieurs tours, la plateforme enregistre périodiquement les paramètres appris du modèle sous forme de points de contrôle. Ces points de contrôle sont stockés sous forme de packages de SageMaker modèles au sein de groupes de packages de modèles, ce qui permet le contrôle des versions, le suivi du lignage et la continuité entre les tâches.
Concepts clés
Package de modèles
Un Package de modèles est un artefact immuable et versionné dans l' SageMaker IA qui contient des poids de modèle entraînés à un moment précis. Chaque point de contrôle produit pendant l'entraînement est stocké sous la forme d'un Package modèle. Un Package modèle comprend :
Un ARN (par exemple,
arn:aws:sagemaker:us-west-2:123456789012:model-package/my-group/5)Un emplacement S3 contenant les fichiers du modèle
Des métadonnées indiquant quand il a été créé et à partir de quelle étape de formation
Groupe de packages de modèles
Un groupe de packages de modèles est un conteneur qui contient plusieurs versions de packages de modèles. Multi-turn RL utilise deux groupes distincts :
| Groupe | Objectif | Table des matières |
|---|---|---|
| Groupe de packages de modèles de sortie | Modèles de points de contrôle finaux entraînés | HuggingFace-compatible Poids adaptateurs LoRa adaptés à l'inférence et à l'entraînement continu |
| Groupe de packages de modèles de points de contrôle intermédiaires | État de reprise de l'entraînement | État de l'optimiseur complet et poids de l'adaptateur pour reprendre un entraînement interrompu |
Vous spécifiez les deux lors de la création d'une tâche :
{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints" } }
Types de points de contrôle
Point de contrôle pouvant être repris (état complet)
Contenu : poids de l'adaptateur LoRa, états de l'optimiseur, métadonnées des étapes d'entraînement (par rang du GPU)
Stocké dans : Intermediate Checkpoint Model Package Group
Objectif : Reprendre la formation à l'endroit exact où elle a été interrompue
Format : format interne (non directement utilisable pour l'inférence)
Quand créé : chaque étape
Cas d'utilisation : résilience automatique ou formation continue explicite
Point de contrôle du modèle (poids uniquement)
Contenu : L'adaptateur HuggingFace-compatible LoRa pèse au format SafeTensors
Stocké dans : Output Model Package Group
Objectif : inférence, déploiement ou formation continue
Format : format d' HuggingFace adaptateur standard (
adapter_config.json+adapter_model.safetensors)Lors de la création : chaque étape, à la fin de la tâche et lorsqu'une tâche est arrêtée
Cas d'utilisation : Déployez le modèle affiné à des fins d'inférence ou utilisez-le comme entrée pour une nouvelle tâche de formation
Reprise de l'entraînement interrompu
Si un poste de formation échoue ou est arrêté en cours de formation, vous pouvez commencer un nouvel emploi qui reprendra exactement à l'endroit où l'emploi précédent s'était arrêté. La plateforme charge l'état d'entraînement complet (poids, optimiseur, compteur de pas) à partir d'un point de contrôle pouvant être repris.
Pour reprendre, spécifiez un point de contrôle révocable (issu du groupe de packages de modèles de points de contrôle intermédiaires) comme suit : InputModelPackageArn
{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints", "InputModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/my-intermediate-checkpoints/5" } }
Prérequis:
Le
InputModelPackageArndoit pointer vers un point de contrôle pouvant être repris (un point dont les métadonnées du Model PackageIsCheckpoint=truefigurent dans ses métadonnées)La nouvelle tâche doit utiliser le même modèle de base
La nouvelle tâche doit utiliser la même configuration LoRa (rang, alpha)
La nouvelle tâche doit utiliser les mêmes hyperparamètres (taux d'apprentissage, taille du lot, etc.)
La nouvelle tâche doit utiliser le même ensemble de données
Formation itérative (formation continue)
L'entraînement itératif vous permet de vous appuyer sur un modèle déjà entraîné avec de nouveaux hyperparamètres, un ensemble de données différent ou une configuration d'entraînement différente. Contrairement à la reprise, cela démarre un nouveau cycle d'entraînement qui s'initialise à partir des poids LoRa entraînés mais avec un nouvel état d'optimisation.
Pour effectuer un entraînement itératif, spécifiez un point de contrôle du modèle (à partir du groupe de packages de modèles de sortie) comme suit : InputModelPackageArn
{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints", "InputModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/my-final-models/3" } }
Ce que vous pouvez modifier entre les itérations :
Hyperparamètres (taux d'apprentissage, taille du lot, max_steps, group_size, etc.)
Ensemble de données (instructions différentes, distribution des données différente)
Fonction de récompense (différents lambda de récompense)
Configuration de l'agent
Ce qui doit rester inchangé :
Le modèle de base (l'adaptateur LoRa est spécifique à l'architecture du modèle de base)
Cas d'utilisation typiques :
Entraînez-vous d'abord sur des problèmes faciles, puis poursuivez sur des problèmes plus difficiles (apprentissage par programme)
Entraînez-vous avec une fonction de récompense simple, puis affinez avec une fonction plus nuancée
Augmentez la taille du lot ou ajustez le taux d'apprentissage après avoir observé la dynamique d'entraînement initiale
Cycle de vie des points de contrôle
Training Step 1 → Intermediate Checkpoint (Resumable) Training Step 1 → Intermediate Checkpoint (HFCompatible) ... Training Step N-1 → Intermediate Checkpoint (Resumable) Training Step N-1 → Intermediate Checkpoint (HFCompatible) ... Training Step N (final) → Model Checkpoint (HuggingFace LoRA) → Output Model Package Group
Lorsqu'une tâche est terminée avec succès : les poids finaux du modèle sont enregistrés sous forme de package de modèles dans le groupe de packages de modèles en sortie. Le OutputModelPackageArn champ de l'enregistrement de tâche contient l'ARN du modèle final.
Lorsqu'une tâche échoue ou est arrêtée : le dernier point de contrôle intermédiaire est promu au Output Model Package Group (meilleur effort).
Bonnes pratiques pour les points de contrôle
Surveillez la création de points de contrôle :
DescribeJobà utiliser pour suivreResumableCheckpointet aligner desModelCheckpointchamps pendant l'entraînementPour les tâches de longue durée, optez pour une formation itérative : si une tâche comportant de nombreuses étapes risque d'échouer, prévoyez de la reprendre à partir de points de contrôle plutôt que de recommencer à zéro