View a markdown version of this page

Exemplos de Cadernos e exemplos de código para configurar as regras do Depurador - 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á.

Exemplos de Cadernos e exemplos de código para configurar as regras do Depurador

nota

O Amazon SageMaker Debugger não está mais aberto a novos clientes. Os clientes existentes podem continuar usando o serviço normalmente. AWS continua investindo em melhorias de segurança e disponibilidade para o Debugger, mas não planejamos introduzir novos recursos. Para obter mais informações, consulte Alteração na disponibilidade do depurador.

Nas seções a seguir, são fornecidos notebooks e exemplos de código de como usar as regras do Debugger para monitorar trabalhos de SageMaker treinamento.

Cadernos de exemplo de regras integradas do Depurador

Os exemplos de notebooks a seguir mostram como usar as regras integradas do Debugger ao executar trabalhos de treinamento com a Amazon AI: SageMaker

Ao executar os notebooks de exemplo no SageMaker Studio, você pode encontrar o teste de trabalho de treinamento criado na guia Lista de experiências do Studio. Por exemplo, conforme mostrado na captura de tela a seguir, você pode encontrar e abrir uma janela Descrever o Componente de Teste do seu trabalho de treinamento atual. Na guia Depurador, você pode verificar se as regras do Depurador vanishing_gradient() e loss_not_decreasing() estão monitorando a sessão de treinamento em paralelo. Para obter instruções completas sobre como encontrar seus componentes de teste de emprego de treinamento na interface do Studio, consulte SageMaker Studio - Exibir experimentos, ensaios e componentes de teste.

Uma imagem da execução de um trabalho de treinamento com as regras integradas do Debugger ativadas no Studio. SageMaker

Há duas maneiras de usar as regras integradas do Debugger no ambiente de SageMaker IA: implante as regras integradas à medida que elas são preparadas ou ajuste seus parâmetros conforme desejar. Os tópicos a seguir mostram como usar as regras integradas com códigos de exemplo.

Código de exemplo de regras integradas do Depurador

O exemplo de código a seguir mostra como configurar as regras integradas do Depurador usando o método Rule.sagemaker. Para especificar as regras integradas que você deseja executar, use a operação rules_configs da API para chamar as regras integradas. Para encontrar uma listagem completa das regras integradas do Depurador e dos valores de parâmetros padrão, consulte Lista de regras integradas do Depurador.

import boto3 import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role built_in_rules=[ Rule.sagemaker(rule_configs.vanishing_gradient()), Rule.sagemaker(rule_configs.loss_not_decreasing()) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the Debugger built-in rules sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name='debugger-built-in-rules-demo', compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules ) sagemaker_model_trainer.train()
nota

As regras integradas do Depurador são executadas em paralelo ao seu trabalho de treinamento. O número máximo de contêineres de regras integradas para um trabalho de treinamento é 20.

Para obter mais informações sobre a classe, os métodos e os parâmetros da regra do Debugger, consulte a classe SageMaker Debugger Rule no Amazon Python SDK. SageMaker

Para encontrar um exemplo de como ajustar os parâmetros da regra do Depurador, consulte a seção Use regras integradas do Depurador com modificações de parâmetros a seguir.

Use regras integradas do Depurador com modificações de parâmetros

O exemplo de código a seguir mostra a estrutura das regras integradas para ajustar os parâmetros. Neste exemplo, o stalled_training_rule coleta a coleção losses de tensores de um trabalho de treinamento a cada 50 etapas e um estágio de avaliação a cada 10 etapas. Se o processo de treinamento se iniciar parado e não coletar as saídas do tensor por 120 segundos, o stalled_training_rule interrompe o trabalho de treinamento.

import boto3 import time import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role # call the built-in rules and modify the CollectionConfig parameters base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time())) built_in_rules_modified=[ Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ 'threshold': '120', 'training_job_name_prefix': base_job_name_prefix, 'stop_training_on_fire' : 'True' }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "train.save_interval": "50", "eval.save_interval": "10" } ) ] ) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the modified Debugger built-in rule sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name=base_job_name_prefix, compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules_modified ) sagemaker_model_trainer.train()