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.
Tópicos
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.
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.
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()