View a markdown version of this page

Risoluzione dei problemi - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi

Se il processo di formazione fallisce o si comporta in modo imprevisto, le seguenti sezioni possono aiutarti a identificare e risolvere il problema. Il controllo dello stato del lavoro può aiutare a stabilire se il problema è legato alla configurazione o all'agente, mentre le sezioni specifiche per l'agente riportate di seguito riguardano i log e i problemi comuni per ogni percorso di distribuzione.

Debug a livello di Job

Usa l'DescribeJobAPI per controllare lo stato attuale del tuo lavoro e scoprire perché non è riuscito. La risposta include lo stato del processo, un motivo dell'errore se il lavoro non è riuscito e una cronologia delle transizioni di stato che mostra i progressi del lavoro prima che si verificasse il problema.

aws sagemaker describe-job \ --job-name "my-agent-rft-job" \ --job-category AgentRFT \ --region us-west-2

Campi chiave da controllare:

  • JobStatus: Stato attuale (InProgressCompleted,Failed,Stopping,Stopped)

  • SecondaryStatus: Fase più granulare (Starting,, DownloadingTraining,Uploading)

  • FailureReason: Se il processo non è riuscito, una descrizione del motivo

  • SecondaryStatusTransitions: cronologia completa delle modifiche allo stato con timestamp

Job CloudWatch log

Le informazioni sull'avanzamento della formazione e sul livello di implementazione vengono registrate nel seguente gruppo di log dell'account:

/aws/sagemaker/Job/AgentRFT

Il nome del log stream è. <job-name>/

Questi registri registrano i progressi delle fasi di addestramento, gli eventi di chiamata all'implementazione e gli errori di alto livello. Possono essere utili per capire a che punto è stato fatto il lavoro e se le implementazioni vengono richiamate correttamente.

Se il tuo lavoro fallisce, controlla il FailureReason campo per i dettagli. Se fallisce durante la Training fase, è probabile che il problema riguardi il tuo agente. In questo caso, controlla i registri del tuo agente per ulteriori informazioni.

Debug a livello di agente

Debug di Amazon Bedrock AgentCore

Se hai distribuito il tuo agente su Amazon Bedrock AgentCore, quanto segue può essere utile per indagare sui problemi relativi all'agente.

Registri degli agenti

Gli output stdout e stderr del tuo container agent vengono acquisiti in Amazon CloudWatch Logs del tuo account. Puoi trovarli nel seguente gruppo di log:

/aws/bedrock-agentcore/runtimes/<runtime-name>-<id>-<qualifier>

Questi log acquisiscono l'output del codice dell'agente, inclusi errori, tracce dello stack e messaggi SDK. Questi registri possono essere utilizzati per esaminare i problemi relativi al codice dell'agente, alle dipendenze o alla connettività a RFT Runtime.

Controlla lo stato dell'agente

Verifica che il runtime dell'agente sia integro:

aws bedrock-agentcore-control list-agent-runtimes --region us-west-2

Per i dettagli su un runtime specifico:

aws bedrock-agentcore-control get-agent-runtime \ --agent-runtime-id <runtime-id> \ --region us-west-2

Debug personalizzato degli agenti

Se si utilizza il percorso del forwarder Lambda, possono verificarsi problemi nella funzione Lambda stessa o nell'agente esterno. Quanto segue può essere utile per analizzare entrambi.

Registri dello spedizioniere Lambda

I log di esecuzione della tua funzione Lambda vengono acquisiti in Amazon Logs. CloudWatch Puoi trovarli nel seguente gruppo di log:

/aws/lambda/<function-name>

Questi registri possono essere utilizzati per esaminare i problemi relativi all'inoltro delle richieste, ai timeout o alla connettività tra Lambda e il tuo agente. Controlla:

  • Errori di chiamata (Lambda non è riuscita a contattare il tuo agente)

  • Errori di timeout (l'agente ha impiegato troppo tempo a rispondere)

  • Errori di convalida (richiesta di implementazione non valida)

Verifica la connettività

Se i registri Lambda mostrano errori di chiamata o timeout, il problema potrebbe essere che la Lambda non riesce a raggiungere il tuo agente. I seguenti controlli possono aiutare a confermare se la connessione tra Lambda e l'agente funziona.

Health check: conferma che il tuo agente è in funzione:

curl -s "http://$AGENT_ENDPOINT/health" # Expected: {"status": "ok"}

Lambda test invoke: conferma che Lambda può contattare il tuo agente:

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.

Se la tua Lambda viene eseguita correttamente ma il processo continua a fallire, i log degli agenti potrebbero contenere maggiori dettagli. Controlla i registri degli agenti per verificare la presenza di errori relativi alle chiamate di inferenza o alla segnalazione dei premi.

Registri degli agenti

I log del tuo agente dipendono da dove viene distribuito. Questi registri possono essere utilizzati per indagare su problemi relativi al codice dell'agente, alle chiamate di inferenza a RFT Runtime o alla segnalazione dei premi.

Ad esempio, se hai distribuito il tuo agente su Amazon EKS, puoi controllare i log del tuo agente con:

kubectl logs -l app=external-agent --tail=50

Utilizzo CloudTrail per il debug

CloudTrail gli eventi relativi ai dati possono aiutare a confermare se le chiamate dell'agente a RFT Runtime stanno andando a buon fine. Cerca eventi con:

  • EventName:Sample,,, SampleWithResponseStream CompleteRollout UpdateReward

  • risorse.type: AWS::SageMaker::Job

Se non vedi questi eventi, il tuo agente non sta chiamando correttamente RFT Runtime. Controlla i registri e le autorizzazioni degli agenti.

Registrazione delle chiamate API di con AWS CloudTrail

Amazon SageMaker AI è integrato con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, un ruolo o un AWS servizio. CloudTrail acquisisce tutte le chiamate API per Amazon SageMaker AI come eventi. Le chiamate acquisite includono chiamate dalla console Amazon SageMaker AI e chiamate in codice alle operazioni dell'API Amazon SageMaker AI. Utilizzando le informazioni raccolte da CloudTrail, puoi determinare la richiesta che è stata effettuata ad Amazon SageMaker AI, l'indirizzo IP da cui è stata effettuata la richiesta, quando è stata effettuata e dettagli aggiuntivi.

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con le credenziali utente root o utente.

  • Se la richiesta è stata effettuata per conto di un utente del Centro identità IAM.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro AWS servizio.

CloudTrail è attivo nel tuo AWS account quando crei l'account e hai automaticamente accesso alla cronologia degli CloudTrail eventi. La cronologia CloudTrail degli eventi fornisce un record visualizzabile, ricercabile, scaricabile e immutabile degli ultimi 90 giorni degli eventi gestionali registrati in una regione. AWS Per ulteriori informazioni, consulta Lavorare con la cronologia degli CloudTrail eventi nella Guida per l'utente.AWS CloudTrail Non sono CloudTrail previsti costi per la visualizzazione della cronologia degli eventi.

Per un registro continuo degli eventi del tuo AWS account negli ultimi 90 giorni, crea un trail o un archivio dati sugli eventi CloudTrail Lake.

CloudTrail sentieri

Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Tutti i percorsi creati utilizzando la console di AWS gestione sono multiregionali. È possibile creare un percorso a regione singola o multiregione utilizzando la CLI AWS . La creazione di un percorso multiregionale è consigliata perché nel tuo account vengono registrate le attività in tutte le AWS regioni. Se crei un percorso a regione singola, puoi visualizzare solo gli eventi registrati nella regione del percorso. AWS Per ulteriori informazioni sui sentieri, consulta Creazione di un percorso per il tuo AWS account e Creazione di un percorso per un'organizzazione nella Guida per l'AWS CloudTrail utente.

Puoi inviare gratuitamente una copia dei tuoi eventi di gestione in corso al tuo bucket Amazon S3 CloudTrail creando un percorso, tuttavia ci sono costi di storage di Amazon S3. Per ulteriori informazioni sui CloudTrail prezzi, consulta la pagina Prezzi.AWS CloudTrail Per informazioni sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

CloudTrail Archivi di dati sugli eventi di Lake

CloudTrail Lake ti consente di eseguire SQL-based domande sui tuoi eventi. CloudTrail Lake converte gli eventi esistenti in formato JSON basato su righe in formato Apache ORC. ORC è un formato di archiviazione a colonne ottimizzato per il recupero rapido dei dati. Gli eventi vengono aggregati in archivi di dati degli eventi, che sono raccolte di eventi immutabili basate sui criteri selezionati applicando i selettori di eventi avanzati. I selettori applicati a un archivio di dati degli eventi controllano quali eventi persistono e sono disponibili per l'esecuzione della query. Per ulteriori informazioni su CloudTrail Lake, consulta Working with AWS CloudTrail Lake nella Guida per l'utente.AWS CloudTrail

CloudTrail Gli archivi e le richieste di dati sugli eventi di Lake comportano dei costi. Quando crei un datastore di eventi, scegli l'opzione di prezzo da utilizzare per tale datastore. L'opzione di prezzo determina il costo per l'importazione e l'archiviazione degli eventi, nonché il periodo di conservazione predefinito e quello massimo per il datastore di eventi. Per ulteriori informazioni sui prezzi di CloudTrail , consulta Prezzi di AWS CloudTrail.

SageMaker Eventi relativi ai dati di intelligenza artificiale in CloudTrail

Gli eventi di dati forniscono informazioni sulle operazioni delle risorse eseguite su o in una risorsa (ad esempio, lettura o scrittura su un oggetto Amazon S3). Queste operazioni sono definite anche operazioni del piano dei dati. Gli eventi di dati sono spesso attività che interessano volumi elevati di dati. Per impostazione predefinita, CloudTrail non registra gli eventi relativi ai dati. La cronologia CloudTrail degli eventi non registra gli eventi relativi ai dati.

Per gli eventi di dati sono previsti costi aggiuntivi. Per ulteriori informazioni sui prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail.

Puoi registrare gli eventi relativi ai dati per vari tipi di risorse Amazon SageMaker AI utilizzando la CloudTrail console, la AWS CLI o le operazioni CloudTrail API. Per ulteriori informazioni su come registrare gli eventi relativi ai dati, consulta Registrazione degli eventi relativi ai dati con la console di AWS gestione e Registrazione degli eventi dei dati con l'interfaccia a riga di AWS comando nella Guida per l'AWS CloudTrail utente.

La tabella seguente elenca i tipi di risorse Amazon SageMaker AI per i quali è possibile registrare gli eventi relativi ai dati:

Tipo di risorsa (console) Valore resources.type API di dati registrate su CloudTrail Documentazione di riferimento delle API
SageMaker endpoint AWS::SageMaker::Endpoint InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream
SageMaker lavori AWS::SageMaker::Job CompleteRollout, Esempio, SampleWithResponseStream CompleteRollout, Esempio, SampleWithResponseStream
Nota

Le chiamate InvokeEndpointInvokeEndpointAsync,Sample, e SampleWithResponseStream API non registrano i parametri della richiesta.

È possibile configurare selettori di eventi avanzati per filtrare i campi eventName, readOnly e resources.ARN per registrare solo gli eventi importanti per l'utente. Per ulteriori informazioni su questi campi, consulta AdvancedFieldSelector in Riferimento API AWS CloudTrail .

Esempio: registra gli eventi relativi ai dati per un SageMaker endpoint e un job

L'esempio seguente mostra come utilizzare il comando AWS CLI put-event-selectors per aggiungere selettori di eventi avanzati:

[ { "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"] } ] } ]

Quindi esegui:

aws cloudtrail put-event-selectors \ --trail-name your-trail-name \ --advanced-event-selectors=file://advanced-event-selectors.json

SageMaker Eventi di gestione dell'IA in CloudTrail

Gli eventi di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse AWS dell'account. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

Amazon SageMaker AI registra tutte le operazioni del piano di controllo di Amazon SageMaker AI come eventi di gestione. Per un elenco delle operazioni del piano di controllo di Amazon SageMaker AI a cui Amazon SageMaker AI accede CloudTrail, consulta Amazon SageMaker AI API Reference.

CloudTrail esempi di eventi

Per informazioni sul contenuto dei CloudTrail record, consultate il contenuto dei CloudTrail record nella Guida AWS CloudTrail per l'utente.

Pacchetti modello e punti di controllo

Panoramica di

Durante l'addestramento RL su più turni, la piattaforma salva periodicamente i parametri appresi dal modello come punti di controllo. Questi checkpoint vengono archiviati come pacchetti SageMaker modello all'interno dei gruppi di pacchetti di modelli, consentendo il controllo delle versioni, il tracciamento della discendenza e la continuità tra i job.

Concetti chiave

Pacchetto modello

Un Model Package è un artefatto dell' SageMaker intelligenza artificiale con versioni e immutabile che contiene pesi del modello addestrati in un momento specifico. Ogni checkpoint prodotto durante l'addestramento viene memorizzato come Model Package. Un Model Package contiene:

  • Un ARN (ad esempio,) arn:aws:sagemaker:us-west-2:123456789012:model-package/my-group/5

  • Una posizione S3 contenente i file del modello

  • Metadati su quando è stato creato e da quale fase di addestramento

Model Package Group

Un Model Package Group è un contenitore che contiene più versioni di Model Package. Multi-turn RL utilizza due gruppi separati:

Gruppo Scopo Indice
Output Model Package Group Punti di controllo finali del modello addestrato HuggingFace-compatible Pesi adattatori LoRa adatti per l'inferenza e la formazione continua
Intermediate Checkpoint Model Package Group Stato di allenamento riprendibile Full Optimizer state + pesi adattatori per riprendere l'allenamento interrotto

Si specificano entrambi quando si crea un lavoro:

{ "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" } }

Tipi di checkpoint

Checkpoint ripristinabile (stato completo)

  • Contenuto: pesi degli adattatori LoRa+stati dell'ottimizzatore+metadati delle fasi di allenamento (per classificazione GPU)

  • Archiviato in: Intermediate Checkpoint Model Package Group

  • Scopo: riprendere l'allenamento dal punto esatto in cui è stato interrotto

  • Formato: formato interno (non utilizzabile direttamente per l'inferenza)

  • Quando viene creato: ogni passaggio

  • Caso d'uso: resilienza automatica o formazione continua esplicita

Model Checkpoint (solo pesi)

  • Contenuto: pesi degli adattatori HuggingFace-compatible LoRa in formato SafeTensors

  • Memorizzato in: Output Model Package Group

  • Scopo: inferenza, implementazione o formazione continua

  • Formato: formato HuggingFace adattatore standard (adapter_config.json+adapter_model.safetensors)

  • Quando viene creato: ogni fase, al completamento del lavoro e quando un lavoro viene interrotto

  • Caso d'uso: implementate il modello ottimizzato per l'inferenza o utilizzatelo come input per un nuovo lavoro di formazione

Ripresa dell'allenamento interrotto

Se un lavoro di formazione fallisce o viene interrotto durante la formazione, è possibile iniziare un nuovo lavoro che riprenda dal punto esatto in cui era stato interrotto il lavoro precedente. La piattaforma carica l'intero stato di allenamento (pesi, ottimizzatore e contapassi) da un checkpoint ripristinabile.

Per riprendere, specifica un checkpoint ripristinabile (dall'Intermediate Checkpoint Model Package Group) come: 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" } }

Requisiti:

  • InputModelPackageArnDeve puntare a un checkpoint ripristinabile (uno con IsCheckpoint=true i metadati del Model Package)

  • Il nuovo lavoro deve utilizzare lo stesso modello di base

  • Il nuovo lavoro deve utilizzare la stessa configurazione LoRa (rank, alpha)

  • Il nuovo lavoro deve utilizzare gli stessi iperparametri (tasso di apprendimento, dimensione del batch, ecc.)

  • Il nuovo lavoro deve utilizzare lo stesso set di dati

Formazione iterativa (formazione continua)

La formazione iterativa consente di basarsi su un modello precedentemente addestrato con nuovi iperparametri, un set di dati diverso o una configurazione di addestramento diversa. A differenza della ripresa, questo avvia una nuova sessione di allenamento che si inizializza a partire dai pesi LoRa addestrati ma con un nuovo stato di ottimizzazione.

Per eseguire un addestramento iterativo, specifica un checkpoint del modello (dall'Output Model Package Group) come: 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" } }

Cosa puoi cambiare tra le iterazioni:

  • Iperparametri (tasso di apprendimento, dimensione del batch, max_steps, group_size, ecc.)

  • Set di dati (istruzioni diverse, distribuzione dei dati diversa)

  • Funzione di ricompensa (ricompensa diversa, lambda)

  • Configurazione dell'agente

Cosa deve rimanere lo stesso:

  • Il modello base (l'adattatore LoRa è specifico per l'architettura del modello base)

Casi d'uso tipici:

  • Allenati prima su problemi facili, poi continua su problemi più difficili (apprendimento del curriculum)

  • Allenati con una semplice funzione di ricompensa, poi perfezionala con una più sfumata

  • Aumenta la dimensione del batch o regola il tasso di apprendimento dopo aver osservato le dinamiche di allenamento iniziali

Ciclo di vita di Checkpoint

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

Quando un lavoro viene completato correttamente: i pesi finali del modello vengono salvati come Model Package nel gruppo Output Model Package. Il OutputModelPackageArn campo nel record del lavoro contiene l'ARN del modello finale.

Quando un lavoro fallisce o viene interrotto: l'ultimo checkpoint intermedio viene promosso all'Output Model Package Group (best-effort).

Le migliori pratiche per i checkpoint

  • Monitora la creazione dei checkpoint: utilizzali DescribeJob per monitorare ModelCheckpoint i campi ResumableCheckpoint durante l'allenamento

  • Per lavori di lunga durata, utilizza la formazione iterativa: se un lavoro con molte fasi potrebbe fallire, pianifica di riprendere dai checkpoint anziché ricominciare da zero