Usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros - Amazon SageMaker

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á.

Usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros

Um trabalho de ajuste de hiperparâmetros localiza a melhor versão de um modelo, executando muitos trabalhos de treinamento no seu conjunto de dados com o uso do algoritmo e de intervalos de hiperparâmetros que você especifica. Em seguida, ele escolhe os valores de hiperparâmetros que resultam no modelo de melhor desempenho, conforme avaliado por uma métrica que você escolhe. Para ter mais informações, consulte Execute o ajuste automático do modelo com SageMaker.

Você pode criar e usar um recurso de algoritmo para criar um trabalho de ajuste de hiperparâmetros usando o SageMaker console da Amazon, a SageMaker API de baixo nível da Amazon ou o SDK do Amazon Python SageMaker .

Usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros (console)

Para usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros (console)
  1. Abra o SageMaker console em https://console.aws.amazon.com/sagemaker/.

  2. Escolha Algoritmos.

  3. Escolha um algoritmo que você criou a partir da listagem na guia Meus algoritmos ou escolha um algoritmo que você assinou na guia assinaturas AWS Marketplace .

  4. Escolha Criar trabalho de ajuste de hiperparâmetros.

    O algoritmo escolhido será automaticamente selecionado.

  5. Na página Criar trabalho de ajuste de hiperparâmetros, forneça as seguintes informações:

    1. Para Início a quente, escolha Habilitar inicialização a quente para usar as informações de trabalhos de ajuste de hiperparâmetros anteriores como ponto de partida para este trabalho de ajuste de hiperparâmetros. Para ter mais informações, consulte Executar um trabalho de ajuste de hiperparâmetros de inicialização a quente.

      1. Escolha Algoritmo e dados idênticos se os dados de entrada forem os mesmos que os dados de entrada dos trabalhos pais desse trabalho de ajuste de hiperparâmetros, ou escolha Transferir aprendizagem para usar dados de entrada adicionais ou diferentes para esse trabalho de ajuste de hiperparâmetros.

      2. Para Trabalhos de ajuste de hiperparâmetros principais, escolha até 5 trabalhos de ajuste de hiperparâmetros a serem usados como pais nesse trabalho de ajuste de hiperparâmetros.

    2. Para Nome do trabalho de ajuste de hiperparâmetros, digite um nome para o trabalho de ajuste.

    3. Para a função do IAM, escolha uma função do IAM que tenha as permissões necessárias para executar trabalhos de ajuste de hiperparâmetros ou escolha Criar uma nova função SageMaker para permitir a criação de uma função que tenha a política AmazonSageMakerFullAccess gerenciada anexada. SageMaker Para obter mais informações, consulte Como usar funções SageMaker de execução.

    4. Para VPC, escolha uma Amazon VPC que você deseja permitir que os trabalhos de treinamento iniciados pelo trabalho ajuste acessem. Para ter mais informações, consulte Conceda aos trabalhos de SageMaker treinamento acesso aos recursos em sua Amazon VPC.

    5. Escolha Próximo.

    6. Para Métrica objetiva, escolha a métrica usada pelo trabalho de ajuste de hiperparâmetros para determinar a melhor combinação de hiperparâmetros e escolha se deseja minimizar ou maximizar essa métrica. Para ter mais informações, consulte Visualizar o melhor trabalho de treinamento.

    7. Para Configuração dos hiperparâmetros, escolha intervalos para os hiperparâmetros ajustáveis que você deseja que o trabalho de ajuste pesquise e defina valores estáticos para os hiperparâmetros que devem permanecer constantes em todos os trabalhos de treinamento iniciados pelo trabalho de ajuste de hiperparâmetros. Para ter mais informações, consulte Definir intervalos de hiperparâmetros.

    8. Escolha Próximo.

    9. Para Configuração dos dados de entrada, especifique os seguintes valores para cada canal de dados de entrada a ser usado para o trabalho de ajuste de hiperparâmetros. Você pode ver quais são os canais compatíveis pelo algoritmo usado para ajuste de hiperparâmetros, o tipo de conteúdo, o tipo de compactação com suporte e os modos de entrada com suporte para cada canal, na seção Especificação do canal da página Resumo do algoritmo do algoritmo.

      1. Para Nome do canal, digite o nome do canal de entrada.

      2. Para Tipo de conteúdo, digite o tipo de conteúdo dos dados que o algoritmo espera para o canal.

      3. Para Tipo de compactação, escolha o tipo de compactação de dados a ser usado, se houver.

      4. Para Wrapper de registro, escolha RecordIO se o algoritmo espera dados no formato RecordIO.

      5. Para Tipo de dados do S3, Tipo de distribuição de dados do S3 e Localização do S3, especifique os valores apropriados. Para obter informações sobre o significado desses valores, consulte S3DataSource.

      6. Para Modo de entrada, escolha Arquivo para fazer download dos dados do volume de armazenamento de ML provisionado e montar o diretório em um volume do Docker. Escolha Pipe para transmitir dados diretamente do Amazon S3 para o contêiner.

      7. Para adicionar outro canal de entrada, escolha Adicionar canal. Se você terminou de adicionar canais de entrada, escolha Concluído.

    10. Para a localização da Saída, especifique os seguintes valores:

      1. Para Caminho de saída do S3, escolha a localização do S3 na qual os trabalhos de treinamento iniciados por esse trabalho de ajuste de hiperparâmetros armazenam a saída, como artefatos de modelo.

        nota

        Você usa os artefatos de modelo armazenados nessa localização para criar um modelo ou um pacote de modelos a partir desse trabalho de ajuste de hiperparâmetros.

      2. Para Chave de criptografia, se você quiser SageMaker usar uma AWS KMS chave para criptografar dados de saída em repouso no local do S3.

    11. Para Configuração de recursos, forneça as seguintes informações:

      1. Para Tipo de instância, escolha o tipo de instância a ser usado para cada trabalho de treinamento iniciado pelo trabalho de ajuste de hiperparâmetros.

      2. Para Contagem de instâncias, digite o número de instâncias de ML a serem usadas para cada trabalho de treinamento iniciada pelo trabalho de ajuste de hiperparâmetros.

      3. Para Volume adicional por instância (GB), digite o tamanho do volume de armazenamento de ML no qual você deseja provisionar cada trabalho de treinamento iniciado pelo trabalho de ajuste de hiperparâmetros. Volumes de armazenamento de ML armazenam artefatos de modelo e estados incrementais.

      4. Para a chave de criptografia, se você quiser que SageMaker a Amazon use uma AWS chave do Key Management Service para criptografar dados no volume de armazenamento de ML anexado às instâncias de treinamento, especifique a chave.

    12. Para Limites de recursos, forneça as seguintes informações:

      1. Para Máximo de trabalhos de treinamento, especifique o número máximo de trabalhos de treinamento que você deseja que o trabalho de ajuste de hiperparâmetros inicie. Um trabalho de ajuste de hiperparâmetros pode iniciar no máximo 500 trabalhos de treinamento.

      2. Para Máximo de trabalhos de treinamento paralelos, especifique o número máximo de trabalhos de treinamento simultâneos que o trabalho de ajuste de hiperparâmetros pode iniciar. Um trabalho de ajuste de hiperparâmetros pode iniciar no máximo 10 trabalhos de treinamento simultâneos.

      3. Para Condição de interrupção, especifique o tempo máximo em segundos, minutos, horas ou dias durante o qual você deseja que cada trabalho de treinamento iniciado pelo trabalho de ajuste de hiperparâmetros seja executado.

    13. Para Tags, especifique uma ou mais tags para gerenciar o trabalho de ajuste de hiperparâmetros. Cada tag consiste em uma chave e um valor opcional. Chaves de tags devem ser exclusivas por recurso.

    14. Escolha Criar trabalhos para executar o trabalho de ajuste de hiperparâmetros.

Usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros (API)

Para usar um algoritmo para executar um trabalho de ajuste de hiperparâmetros usando a SageMaker API, especifique o nome ou o Amazon Resource Name (ARN) do algoritmo como o campo AlgorithmName do objeto para AlgorithmSpecificationo qual você passa. CreateHyperParameterTuningJob Para obter informações sobre o ajuste de hiperparâmetros SageMaker, consulteExecute o ajuste automático do modelo com SageMaker.

Use um algoritmo para executar um trabalho de ajuste de hiperparâmetros (Amazon SageMaker Python SDK)

Use um algoritmo que você criou ou assinou AWS Marketplace para criar um trabalho de ajuste de hiperparâmetros, criar um AlgorithmEstimator objeto e especificar o Amazon Resource Name (ARN) ou o nome do algoritmo como o valor do argumento. algorithm_arn Em seguida, inicialize um objeto HyperparameterTuner com o AlgorithmEstimator que você criou como o valor do argumento estimator. Por fim, chame o método fit do AlgorithmEstimator. Por exemplo: .

from sagemaker import AlgorithmEstimator from sagemaker.tuner import HyperparameterTuner data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.set_hyperparameters(max_leaf_nodes=10) tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name', objective_metric_name='validation:accuracy', hyperparameter_ranges=hyperparameter_ranges, max_jobs=2, max_parallel_jobs=2) tuner.fit({'training': train_input}, include_cls_metadata=False) tuner.wait()