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á.
Alteração na disponibilidade do Profiler
nota
Aviso de fim do suporte: em 30 de junho de 2027, o suporte para o Amazon SageMaker Profiler AWS será encerrado. Depois de 30 de junho de 2027, você não poderá mais acessar o console ou os recursos do Profiler.
Substituindo o Amazon SageMaker Profiler
Se você estiver usando o SageMaker Profiler, siga esta orientação para fazer a transição para serviços alternativos.
Visão geral do
O Amazon SageMaker Profiler forneceu visibilidade profunda da atividade da GPU e da CPU durante o treinamento, incluindo execuções de kernel, lançamentos de kernel, operações de sincronização, operações de memória e latências entre CPU-initiated lançamentos e execução de kernel de GPU. Este guia orienta você na remoção da configuração existente do Profiler e na adoção de profilers nativos da estrutura TensorBoard, além da Amazon para treinar diagnósticos de desempenho. CloudWatch
Para TensorFlow cargas de trabalho PyTorch e cargas de trabalho, a combinação de criadores de perfil nativos da estrutura TensorBoard fornece visibilidade equivalente em nível de kernel com integração direta ao ecossistema de código aberto. A Amazon CloudWatch fornece monitoramento de recursos em nível de sistema com alarmes configuráveis. Juntas, essas ferramentas oferecem alternativas aos diagnósticos de desempenho de treinamento do SageMaker Profiler.
Mapeamento de capacidades
| Capacidade do Profiler | Substituído por |
|---|---|
| Rastreamentos do kernel da GPU, CPU/GPU utilização, análise de sincronização, latência do lançamento até a execução do kernel | PyTorch Perfilador/ TensorFlow Profiler + TensorBoard |
| Perfil do carregador de dados e do pipeline de entrada | Profiladores de estrutura + TensorBoard |
| Monitoramento de recursos do sistema (CPU, GPU, memória, disco) | Amazônia CloudWatch |
| Anotações de operação personalizadas | Anotações do Framework Profiler |
| Visualização da linha do tempo da interface do usuário do Profiler | TensorBoard Plugin Profiler |
Etapa 1: Remover a configuração do Profiler
Remova as anotações smprof do seu script de treinamento
Se seu script de treinamento usa os módulos SageMaker Profiler Python (smprofou os mais antigossmppy), remova:
-
import smprof(ouimport smppy as smprof) -
SMProfiler.instance(),SMProf.configure(),SMProf.start_profiling(),SMProf.stop_profiling() -
Todos os gerenciadores de
smprof.annotate()contexto esmprof.annotation_end()chamadassmprof.annotation_begin()//
Remover ProfilerConfig da sua configuração de treinamento
Remova o profiler_config parâmetro da sua configuração SageMaker de treinamento:
# Remove this configuration # V2 from sagemaker import ProfilerConfig, Profiler profiler_config = ProfilerConfig( profile_params = Profiler(cpu_profiling_duration=3600) ) # V3 from sagemaker.core.debugger.profiler_config import ProfilerConfig from sagemaker.core.debugger.profiler import Profiler
Exclua a saída do Profiler no Amazon S3
SageMaker O Profiler armazenou dados de perfil no rule-output caminho de seu trabalho de treinamento:
s3://<output-path>/<training-job-name>/rule-output/
Exclua esse prefixo se você não precisar mais dos dados históricos de criação de perfil. Seus registros de tarefas de treinamento e artefatos de modelo permanecem inalterados.
Remova o pacote SageMaker Profiler Python (se instalado manualmente)
Se você requirements.txt adicionou o smprof pacote a um contêiner Docker personalizado, remova todas as linhas que fazem referênciasmppy.s3.amazonaws.com.
Excluir grupos de CloudWatch registros (opcional)
Verifique os grupos de CloudWatch log criados pelo processamento de regras do Profiler em/aws/sagemaker/ProcessingJobs. Exclua-os se não forem mais necessários para reduzir os custos de armazenamento.
Analise as políticas do IAM
Remova as políticas do IAM que concederam permissões específicas para o uso do Profiler:
-
s3:GetObject/coms3:PutObjectescopo para os caminhos de saída de regras do Profiler -
Funções associadas a trabalhos de treinamento exclusivamente para suporte do Profiler
Mantenha todas as políticas ainda necessárias para seus trabalhos de treinamento ou CloudWatch monitoramento.
Desativar a automação dependente
Atualize ou exclua qualquer automação que tenha consumido a saída do Profiler:
-
Fluxos de trabalho do Step Functions que processaram dados do Profiler
-
EventBridge Regras da Amazon acionadas pela saída do Profiler
-
Post-training processadores que lêem os caminhos do Profiler S3
Etapa 2: configurar substituições
Habilitar a criação de perfil em nível de estrutura
Atualize seu script de treinamento para usar o profiler embutido em sua estrutura. PyTorch Tanto os criadores de TensorFlow perfil quanto os criadores de perfil se integram diretamente à visualização, incluindo visualizações de cronograma, estatísticas do kernel e recomendações de desempenho. TensorBoard
PyTorch:
import torch from torch.profiler import profile, schedule, tensorboard_trace_handler with profile( activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA], schedule=schedule(wait=1, warmup=1, active=3, repeat=1), on_trace_ready=tensorboard_trace_handler("./tensorboard/logs"), record_shapes=True, profile_memory=True, with_stack=True ) as prof: for step, batch in enumerate(train_loader): inputs, labels = batch outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() prof.step()
Para anotar operações específicas (substituindosmprof.annotate()):
with torch.profiler.record_function("forward_pass"): outputs = model(inputs) with torch.profiler.record_function("backward_pass"): loss.backward()
TensorFlow:
import tensorflow as tf tf.profiler.experimental.start("./tensorboard/logs") model.fit(train_dataset, epochs=5) tf.profiler.experimental.stop()
nota
Assim como no SageMaker Profiler, não é recomendável criar o perfil de um trabalho de treinamento inteiro. Crie o perfil de um subconjunto representativo de etapas (até algumas centenas) para minimizar a sobrecarga.
Visualize com TensorBoard
Inicie TensorBoard para visualizar resultados de criação de perfil, cronogramas de execução e recomendações de desempenho:
tensorboard --logdir=./tensorboard/logs
O TensorBoard Profiler Plugin fornece cronogramas do kernel da GPU equivalentes à interface do usuário do SageMaker Profiler, junto com estatísticas do kernel, resumos de execução, análise do pipeline de entrada e recomendações de desempenho. Para gerenciado TensorBoard em SageMaker IA, consulte TensorBoard na Amazon SageMaker AI. O Gerenciado TensorBoard requer um SageMaker domínio e está disponível em regiões selecionadas.
Use a Amazon CloudWatch para monitoramento e alertas do sistema
A Amazon CloudWatch captura métricas de utilização de recursos para seus trabalhos de treinamento, incluindo CPU, GPU, memória e disco, em tempo real, com suporte a alarmes configuráveis para detectar gargalos de recursos, subutilização ou picos inesperados, e painéis que combinam métricas do sistema em todas as execuções de treinamento. Para obter etapas detalhadas, consulte Amazon CloudWatch Metrics for Monitoring and Analysing Training Jobs. Como alternativa, você pode registrar as métricas de desempenho do sistema do seu script de treinamento diretamente no MLflow para um rastreamento unificado junto com as métricas do seu experimento.
O que acontece com seus dados existentes
-
Registros e artefatos de treinamento no S3 — A saída do seu trabalho de treinamento e os artefatos do modelo permanecem acessíveis. Eles são independentes do Profiler.
-
Dados de rastreamento do Profiler — Os dados históricos de criação de perfil permanecem no S3
rule-output/até que você os exclua. -
CloudWatch métricas — As métricas históricas do sistema já incluídas CloudWatch são mantidas de acordo com as configurações de retenção da sua conta.