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,,,SampleWithResponseStreamCompleteRolloutUpdateReward -
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
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.
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/5Una 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 conIsCheckpoint=truei 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
DescribeJobper monitorareModelCheckpointi campiResumableCheckpointdurante l'allenamentoPer 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