View a markdown version of this page

Solução de problemas - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas

Se seu trabalho de treinamento falhar ou se comportar de forma inesperada, as seções a seguir podem ajudá-lo a identificar e resolver o problema. Verificar o status do seu trabalho pode ajudar a determinar se o problema está na sua configuração ou no seu agente, e as seções específicas do agente abaixo abordam registros e problemas comuns de cada caminho de implantação.

Depuração em nível de trabalho

Use a DescribeJob API para verificar o status atual do seu trabalho e ver por que ele falhou. A resposta inclui o status do trabalho, o motivo da falha se o trabalho falhou e um cronograma de transições de status que mostra até que ponto o trabalho progrediu antes que o problema ocorresse.

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

Campos principais a serem verificados:

  • JobStatus: Estado atual (InProgressCompleted,Failed,Stopping,Stopped)

  • SecondaryStatus: Fase mais granular (Starting,, DownloadingTraining,Uploading)

  • FailureReason: Se o trabalho falhou, uma descrição do motivo

  • SecondaryStatusTransitions: Cronograma completo de mudanças de status com registros de data e hora

CloudWatch Registros de trabalhos

As informações sobre o progresso do treinamento e o nível de implantação são registradas no seguinte grupo de registros em sua conta:

/aws/sagemaker/Job/AgentRFT

O nome do fluxo de log é<job-name>/.

Esses registros capturam o progresso da etapa de treinamento, eventos de invocação de implantação e erros de alto nível. Eles podem ser úteis para entender até que ponto seu trabalho progrediu e se as implementações estão sendo invocadas com sucesso.

Se seu trabalho falhar, verifique o FailureReason campo para obter detalhes. Se falhar durante a Training fase, o problema provavelmente pode estar no seu agente. Nesse caso, verifique os registros do seu agente para obter mais informações.

Depuração em nível de agente

Depuração do Amazon Bedrock AgentCore

Se você implantou seu agente no Amazon Bedrock AgentCore, o seguinte pode ser útil para investigar problemas do lado do agente.

Registros do agente

A saída stdout e stderr do contêiner do seu agente é capturada no Amazon CloudWatch Logs em sua conta. Você pode encontrá-los no seguinte grupo de registros:

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

Esses registros capturam a saída do código do seu agente, incluindo erros, rastreamentos de pilha e mensagens do SDK. Esses registros podem ser usados para investigar problemas relacionados ao código do agente, às dependências ou à conectividade com o RFT Runtime.

Verifique a integridade do agente

Verifique se o tempo de execução do seu agente está íntegro:

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

Para obter detalhes sobre um tempo de execução específico:

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

Depuração personalizada de agentes

Se você estiver usando o caminho do encaminhador Lambda, problemas podem ocorrer na própria função do Lambda ou em seu agente externo. O seguinte pode ser útil para investigar ambos.

Registros do encaminhador Lambda

Os registros de execução da sua função Lambda são capturados no Amazon CloudWatch Logs. Você pode encontrá-los no seguinte grupo de registros:

/aws/lambda/<function-name>

Esses registros podem ser usados para investigar problemas relacionados ao encaminhamento de solicitações, tempos limite ou conectividade entre o Lambda e seu agente. Verifique se existe:

  • Erros de invocação (o Lambda não conseguiu entrar em contato com seu agente)

  • Erros de tempo limite (o agente demorou muito para responder)

  • Erros de validação (solicitação de implantação malformada)

Verifique a conectividade

Se seus registros do Lambda mostrarem erros de invocação ou tempos limite, o problema pode ser que o Lambda não consiga alcançar seu agente. As verificações a seguir podem ajudar a confirmar se a conexão entre seu Lambda e o agente está funcionando.

Health Check — confirme se seu agente está funcionando:

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

Invocação do teste Lambda — confirme se o Lambda pode entrar em contato com seu 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 o Lambda for executado com sucesso, mas o trabalho ainda falhar, os registros do agente poderão ter mais detalhes. Verifique os registros do seu agente em busca de erros relacionados a chamadas de inferência ou relatórios de recompensas.

Registros do agente

Os próprios registros do seu agente dependem de onde eles são implantados. Esses registros podem ser usados para investigar problemas relacionados ao código do seu agente, chamadas de inferência para o RFT Runtime ou relatórios de recompensas.

Por exemplo, se você implantou seu agente no Amazon EKS, você pode verificar os registros do seu agente com:

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

Usando CloudTrail para depuração

CloudTrail eventos de dados podem ajudar a confirmar se as chamadas do seu agente para o RFT Runtime estão sendo bem-sucedidas. Procure eventos com:

  • EventName:Sample,,, SampleWithResponseStream CompleteRollout UpdateReward

  • tipo de recursos: AWS::SageMaker::Job

Se você não vê esses eventos, seu agente não está chamando com sucesso o RFT Runtime. Verifique os registros e as permissões do agente.

Registro de chamadas de API do com AWS CloudTrail

A Amazon SageMaker AI é integrada com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço. CloudTrail captura todas as chamadas de API para a Amazon SageMaker AI como eventos. As chamadas capturadas incluem chamadas do console do Amazon SageMaker AI e chamadas de código para as operações da API do Amazon SageMaker AI. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita à Amazon SageMaker AI, o endereço IP a partir do qual a solicitação foi feita, quando foi feita e detalhes adicionais.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:

  • Se a solicitação foi feita com credenciais de usuário raiz ou credenciais de usuário.

  • Se a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM.

  • Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.

  • Se a solicitação foi feita por outro AWS serviço.

CloudTrail está ativo em sua AWS conta quando você cria a conta e você tem acesso automático ao histórico de CloudTrail eventos. O histórico de CloudTrail eventos fornece um registro visível, pesquisável, baixável e imutável dos últimos 90 dias de eventos de gerenciamento registrados em uma região. AWS Para obter mais informações, consulte Trabalhando com o histórico de CloudTrail eventos no Guia AWS CloudTrail do usuário. Não há CloudTrail cobrança pela visualização do histórico de eventos.

Para um registro contínuo dos eventos em sua AWS conta nos últimos 90 dias, crie uma trilha ou um armazenamento de dados de eventos no CloudTrail Lake.

CloudTrail trilhas

Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Todas as trilhas criadas usando o AWS Management Console são multirregionais. Você pode criar uma trilha de região única ou multirregião usando a CLI AWS . É recomendável criar uma trilha multirregional porque você captura a atividade em todas as AWS regiões da sua conta. Se você criar uma trilha de região única, poderá visualizar somente os eventos registrados na região da AWS trilha. Para obter mais informações sobre trilhas, consulte Criação de uma trilha para sua AWS conta e Criação de uma trilha para uma organização no Guia AWS CloudTrail do usuário.

Você pode entregar uma cópia dos seus eventos de gerenciamento contínuos para o bucket do Amazon S3 sem nenhum custo CloudTrail criando uma trilha. No entanto, há cobranças de armazenamento do Amazon S3. Para obter mais informações sobre CloudTrail preços, consulte AWS CloudTrailPreços. Para receber informações sobre a definição de preços do Amazon S3, consulte Definição de preços do Amazon S3.

CloudTrail Armazenamentos de dados de eventos em Lake

CloudTrail O Lake permite que você faça SQL-based consultas sobre seus eventos. CloudTrail O Lake converte eventos existentes no formato JSON baseado em linhas para o formato Apache ORC. O ORC é um formato colunar de armazenamento otimizado para recuperação rápida de dados. Os eventos são agregados em armazenamentos de dados de eventos, que são coleções imutáveis de eventos baseados nos critérios selecionados com a aplicação de seletores de eventos avançados. Os seletores que aplicados a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para consulta. Para obter mais informações sobre o CloudTrail Lake, consulte Trabalhando com o AWS CloudTrail Lake no Guia AWS CloudTrail do Usuário.

CloudTrail Os armazenamentos e consultas de dados de eventos em Lake incorrem em custos. Ao criar um armazenamento de dados de eventos, você escolhe a opção de preço que deseja usar para ele. A opção de preço determina o custo para a ingestão e para o armazenamento de eventos, e o período de retenção padrão e máximo para o armazenamento de dados de eventos. Para obter mais informações sobre os preços do CloudTrail , consulte Definição de preço do AWS CloudTrail.

SageMaker Eventos de dados de IA em CloudTrail

Os Eventos de dados fornecem informações sobre as operações de recursos realizadas em um recurso (por exemplo, leitura ou gravação em um objeto do Amazon S3). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, CloudTrail não registra eventos de dados. O histórico de CloudTrail eventos não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre os preços do CloudTrail, consulte Definição de preço do AWS CloudTrail.

Você pode registrar eventos de dados para vários tipos de recursos de SageMaker IA da Amazon usando o CloudTrail console, a AWS CLI ou as operações de CloudTrail API. Para obter mais informações sobre como registrar eventos de dados, consulte Registrar eventos de dados com o AWS Management Console e Registrar eventos de dados com a interface de linha de AWS comando no Guia AWS CloudTrail do usuário.

A tabela a seguir lista os tipos de recursos de SageMaker IA da Amazon para os quais você pode registrar eventos de dados:

Tipo de recurso (console) valor resources.type APIs de dados registradas em CloudTrail Referência da API
SageMaker endpoint AWS::SageMaker::Endpoint InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream
SageMaker empregos AWS::SageMaker::Job CompleteRollout, Amostra, SampleWithResponseStream CompleteRollout, Amostra, SampleWithResponseStream
nota

As chamadas de SampleWithResponseStream API InvokeEndpoint InvokeEndpointAsyncSample,, e não registram os parâmetros da solicitação.

É possível configurar seletores de eventos avançados para filtrar os campos eventName, readOnly e resources.ARN para registrar em log somente os eventos que são importantes para você. Para saber mais sobre esses campos, consulte AdvancedFieldSelector na Referência de API do AWS CloudTrail .

Exemplo: registrar eventos de dados para um SageMaker endpoint e uma tarefa

O exemplo a seguir mostra como usar o comando da AWS CLI put-event-selectors para adicionar seletores de eventos avançados:

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

Em seguida, execute:

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

SageMaker Eventos de gerenciamento de IA em CloudTrail

Os eventos de gerenciamento fornecem informações sobre as operações de gerenciamento que são realizadas nos recursos AWS da sua conta. Também são conhecidas como operações de ambiente de gerenciamento. Por padrão, CloudTrail registra eventos de gerenciamento.

O Amazon SageMaker AI registra todas as operações do plano de controle do Amazon SageMaker AI como eventos de gerenciamento. Para obter uma lista das operações do plano de controle da Amazon SageMaker AI nas quais a Amazon SageMaker AI se conecta CloudTrail, consulte a Referência da API de SageMaker IA da Amazon.

CloudTrail exemplos de eventos

Para obter informações sobre o conteúdo do CloudTrail registro, consulte o conteúdo do CloudTrail registro no Guia AWS CloudTrail do usuário.

Pacotes de modelos e pontos de verificação

Visão geral do

Durante o treinamento de RL em vários turnos, a plataforma salva periodicamente os parâmetros aprendidos do modelo como pontos de verificação. Esses pontos de verificação são armazenados como Pacotes de SageMaker Modelos em Grupos de Pacotes de Modelos, permitindo controle de versão, rastreamento de linhagem e continuidade entre trabalhos.

Principais conceitos

Model Package

Um Model Package é um artefato versionado e imutável em SageMaker IA que contém pesos de modelo treinados em um momento específico. Cada ponto de verificação produzido durante o treinamento é armazenado como um Model Package. Um Model Package tem:

  • Um ARN (por exemplo,) arn:aws:sagemaker:us-west-2:123456789012:model-package/my-group/5

  • Um local do S3 contendo os arquivos do modelo

  • Metadados sobre quando foi criado e a partir de qual etapa do treinamento

Grupo de pacotes de modelos

Um Model Package Group é um contêiner que contém várias versões do Model Package. Multi-turn O RL usa dois grupos separados:

Group (Grupo) Finalidade Conteúdo
Grupo de pacotes do modelo de saída Pontos de verificação finais do modelo treinado HuggingFace-compatible Pesos do adaptador LoRa adequados para inferência e treinamento contínuo
Grupo de pacotes de modelos de ponto de verificação intermediário Estado de treinamento retomável Estado otimizador completo + pesos do adaptador para retomar o treinamento interrompido

Você especifica os dois ao criar um trabalho:

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

Tipos de pontos de verificação

Ponto de verificação retomável (estado completo)

  • Conteúdo: pesos do adaptador LoRa + estados do otimizador + metadados da etapa de treinamento (por classificação de GPU)

  • Armazenado em: Intermediate Checkpoint Model Package Group

  • Objetivo: retomar o treinamento a partir do ponto exato em que foi interrompido

  • Formato: formato interno (não diretamente utilizável para inferência)

  • Quando criado: cada etapa

  • Caso de uso: resiliência automática ou treinamento contínuo explícito

Ponto de verificação do modelo (somente pesos)

  • Conteúdo: Pesos do adaptador HuggingFace-compatible LoRa em formato SafeTensors

  • Armazenado em: Output Model Package Group

  • Objetivo: inferência, implantação ou treinamento contínuo

  • Formato: formato HuggingFace de adaptador padrão (adapter_config.json+adapter_model.safetensors)

  • Quando criado: cada etapa, na conclusão do trabalho e quando um trabalho é interrompido

  • Caso de uso: implante o modelo ajustado para inferência ou use como entrada para um novo trabalho de treinamento

Retomando o treinamento interrompido

Se um trabalho de treinamento falhar ou for interrompido no meio do treinamento, você poderá iniciar um novo trabalho que será retomado do ponto exato em que o trabalho anterior parou. A plataforma carrega todo o estado de treinamento (pesos + otimizador + contador de passos) a partir de um ponto de verificação retomável.

Para continuar, especifique um ponto de verificação retomável (do Intermediate Checkpoint Model Package Group) como: 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" } }

Requisitos:

  • InputModelPackageArnDeve apontar para um ponto de verificação retomável (um com IsCheckpoint=true metadados do Model Package)

  • O novo trabalho deve usar o mesmo modelo básico

  • O novo trabalho deve usar a mesma configuração LoRa (classificação, alfa)

  • O novo trabalho deve usar os mesmos hiperparâmetros (taxa de aprendizado, tamanho do lote etc.)

  • O novo trabalho deve usar o mesmo conjunto de dados

Treinamento iterativo (treinamento contínuo)

O treinamento iterativo permite que você desenvolva um modelo previamente treinado com novos hiperparâmetros, um conjunto de dados diferente ou uma configuração de treinamento diferente. Ao contrário da retomada, isso inicia uma nova execução de treinamento que é inicializada a partir dos pesos LoRa treinados, mas com um novo estado de otimizador.

Para fazer um treinamento iterativo, especifique um ponto de verificação do modelo (do Output Model Package Group) como: 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" } }

O que você pode mudar entre as iterações:

  • Hiperparâmetros (taxa de aprendizado, tamanho do lote, max_steps, group_size, etc.)

  • Conjunto de dados (solicitações diferentes, distribuição de dados diferente)

  • Função de recompensa (recompensa lambda diferente)

  • Configuração do agente

O que deve permanecer o mesmo:

  • O modelo básico (o adaptador LoRa é específico para a arquitetura do modelo básico)

Casos de uso típicos:

  • Treine primeiro nos problemas fáceis e depois continue nos problemas mais difíceis (aprendizado curricular)

  • Treine com uma função de recompensa simples e depois refine com uma mais sutil

  • Aumente o tamanho do lote ou ajuste a taxa de aprendizado após observar a dinâmica inicial do treinamento

Ciclo de vida do ponto de verificação

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 um trabalho é concluído com êxito: os pesos finais do modelo são salvos como um Model Package no Output Model Package Group. O OutputModelPackageArn campo no registro do trabalho contém o ARN do modelo final.

Quando um trabalho falha ou é interrompido: o último ponto de verificação intermediário é promovido ao Output Model Package Group (melhor esforço).

Práticas recomendadas para postos de controle

  • Monitore a criação de pontos de verificação — use DescribeJob para rastrear ResumableCheckpoint e colocar em ModelCheckpoint campo durante o treinamento

  • Para trabalhos longos, use treinamento iterativo — se um trabalho com muitas etapas falhar, planeje retomar a partir dos postos de controle em vez de recomeçar do zero