Práticas recomendadas para o 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á.

Práticas recomendadas para o ajuste de hiperparâmetros

A otimização de hiperparâmetros (HPO) não é um processo totalmente automatizado. Para melhorar a otimização, siga estas práticas recomendadas para ajuste de hiperparâmetros.

Escolhendo uma estratégia de ajuste

Para trabalhos grandes, o uso da estratégia de ajuste Hyperband pode reduzir o tempo de computação. O Hyperband tem um mecanismo de interrupção antecipada para impedir trabalhos de baixo desempenho. O Hyperband também pode realocar recursos para configurações de hiperparâmetros bem utilizadas e executar trabalhos paralelos. Para trabalhos de treinamento menores usando menos tempo de execução, use a pesquisa aleatória ou a otimização bayesiana.

Use a otimização bayesiana para tomar decisões cada vez mais informadas sobre como melhorar as configurações de hiperparâmetros na próxima execução. A otimização bayesiana usa informações coletadas de execuções anteriores para melhorar as execuções subsequentes. Devido à sua natureza sequencial, a otimização bayesiana não pode ser escalada massivamente.

Use a pesquisa aleatória para executar um grande número de trabalhos paralelos. Na busca aleatória, trabalhos subsequentes não dependem dos resultados de trabalhos anteriores e podem ser executados de forma independente. Em comparação com outras estratégias, a pesquisa aleatória é capaz de executar o maior número de trabalhos paralelos.

Use a pesquisa em grade para reproduzir os resultados de um trabalho de ajuste ou se a simplicidade e a transparência do algoritmo de otimização forem importantes. Você também pode usar a pesquisa em grade para explorar todo o espaço de pesquisa de hiperparâmetros de maneira uniforme. A pesquisa em grade pesquisa metodicamente todas as combinações de hiperparâmetros para encontrar os valores ideais dos hiperparâmetros. Ao contrário da pesquisa em grade, a otimização bayesiana, a pesquisa aleatória e o Hyperband extraem hiperparâmetros aleatoriamente do espaço de pesquisa. Como a pesquisa em grade analisa todas as combinações de hiperparâmetros, os valores ótimos dos hiperparâmetros serão idênticos entre os trabalhos de sintonia que utilizam os mesmos hiperparâmetros.

Escolher o número de hiperparâmetros

Durante a otimização, a complexidade computacional de um trabalho de ajuste de hiperparâmetros depende do seguinte:

  • O número de hiperparâmetros

  • A faixa de valores que a SageMaker Amazon precisa pesquisar

Embora você possa especificar simultaneamente até 30 hiperparâmetros, limitar sua pesquisa a um número menor pode reduzir o tempo de computação. A redução do tempo de computação permite SageMaker convergir mais rapidamente para uma configuração ideal de hiperparâmetros.

Escolher intervalos de hiperparâmetros

O intervalo de valores que você escolhe pesquisar pode afetar adversamente a otimização de hiperparâmetros. Por exemplo, uma faixa que abrange todos os possíveis valores de hiperparâmetros pode resultar em tempos de processamento extensos e um modelo que não generaliza bem para dados não vistos. Se você souber que usar um subconjunto da faixa mais ampla é apropriado para o seu caso de uso, considere limitar a faixa a esse subconjunto.

Usando as escalas corretas para hiperparâmetros

Durante o ajuste de hiperparâmetros, SageMaker tenta inferir se seus hiperparâmetros estão em escala logarítmica ou linear. Inicialmente, SageMaker assume escala linear para hiperparâmetros. Se os hiperparâmetros forem em escala logarítmica, escolher a escala correta tornará sua pesquisa mais eficiente. Você também pode selecionar Auto ScalingType no CreateHyperParameterTuningJobAPIse quiser detectar SageMaker a escala para você.

Escolher o melhor número de trabalhos de treinamento simultâneos

Você pode usar os resultados de testes anteriores para melhorar o desempenho dos testes subsequentes. Escolha o maior número de trabalhos paralelos que proporcionaria um resultado incremental significativo e que esteja dentro das restrições de computação de sua região e conta. Use o campo MaxParallelTrainingJobs para limitar o número de trabalhos de treinamento que um trabalho de ajuste de hiperparâmetros pode iniciar paralelamente. Para obter mais informações, consulte Executando vários HPO trabalhos paralelamente na Amazon SageMaker.

Executar trabalhos de treinamento em várias instâncias

Quando um trabalho de treinamento é executado em vários computadores no modo distribuído, cada máquina emite uma métrica objetiva. HPOsó pode usar uma dessas métricas objetivas emitidas para avaliar o desempenho do modelo. No modo distribuído, HPO usa a métrica objetiva que foi relatada pelo último trabalho em execução em todas as instâncias.

Usando uma semente aleatória para reproduzir configurações de hiperparâmetros

Você pode especificar um número inteiro como uma semente aleatória para a sintonia de hiperparâmetros e usar essa semente durante a geração de hiperparâmetros. Posteriormente, você pode usar a mesma semente para reproduzir configurações de hiperparâmetros que sejam consistentes com seus resultados anteriores. Para pesquisas aleatórias e estratégias do Hyperband, o uso da mesma semente aleatória pode fornecer até 100% de reprodutibilidade da configuração anterior do hiperparâmetro para o mesmo trabalho de ajuste. Para a estratégia bayesiana, usar a mesma semente aleatória melhorará a reprodutibilidade para o mesmo trabalho de ajuste.