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 treinamento de modelos
Há procedimentos que você pode realizar para melhorar o desempenho dos modelos do Neptune ML.
Escolher a propriedade correta do nó
Pode ser que nem todas as propriedades no grafo sejam significativas ou relevantes para as tarefas de machine learning. Todas as propriedades irrelevantes devem ser excluídas durante a exportação de dados.
Veja algumas práticas recomendadas:
Use especialistas no domínio para ajudar a avaliar a importância dos atributos e a viabilidade de usá-los para previsões.
Remova os atributos considerados redundantes ou irrelevantes para reduzir o ruído nos dados e as correlações sem importância.
Faça iterações à medida que constrói o modelo. Ajuste os atributos, as combinações de atributos e os objetivos de ajuste à medida que avança.
O processamento de atributos no Guia do desenvolvedor do Amazon Machine Learning apresenta diretrizes adicionais para o processamento de atributos relevantes para o Neptune ML.
Lidar com pontos de dados atípicos
Valor atípico é um ponto de dados significativamente diferente dos dados restantes. Valores atípicos podem prejudicar ou induzir erros no processo de treinamento, ocasionando maior tempo de treinamento ou modelos menos precisos. A menos que sejam realmente importantes, você deve eliminar os valores atípicos antes de exportar os dados.
Remover bordas e nós duplicados
Os grafos armazenados no Neptune podem ter bordas ou nós duplicados. Esses elementos redundantes introduzirão ruído no treinamento de modelos de ML. Elimine bordas ou nós duplicados antes de exportar os dados.
Ajustar a estrutura do grafo
Quando o grafo é exportado, você pode alterar a forma como os atributos são processados e como o grafo é construído, para melhorar o desempenho do modelo.
Veja algumas práticas recomendadas:
Quando uma propriedade de borda tem o significado de categorias de bordas, em alguns casos vale a pena transformá-la em tipos de borda.
A política de normalização padrão usada para uma propriedade numérica é
min-max
, mas em alguns casos outras políticas de normalização funcionam melhor. É possível pré-processar a propriedade e alterar a política de normalização conforme explicado em Elementos de um arquivo model-HPO-configuration.json.O processo de exportação gera automaticamente tipos de atributo com base nos tipos de propriedade. Por exemplo, ele trata as propriedades
String
como atributos categóricos e as propriedadesFloat
eInt
como atributos numéricos. Se necessário, você poderá modificar o tipo de atributo após a exportação (consulte Elementos de um arquivo model-HPO-configuration.json).
Ajustar os intervalos e padrões dos hiperparâmetros
A operação de processamento de dados infere intervalos de configuração de hiperparâmetros a partir do grafo. Se os intervalos e os padrões de hiperparâmetros do modelo gerado não funcionarem bem para os dados dos grafos, você poderá editar o arquivo de configuração do HPO para criar sua própria estratégia de ajuste de hiperparâmetros.
Veja algumas práticas recomendadas:
Quando o grafo fica grande, o tamanho padrão da dimensão oculta pode não ser grande o suficiente para conter todas as informações. É possível alterar o hiperparâmetro
num-hidden
para controlar o tamanho da dimensão oculta.-
Para modelos de incorporação de grafos de conhecimento (KGE), convém alterar o modelo específico que está sendo usado de acordo com a estrutura do grafo e o orçamento.
Os modelos
TrainsE
têm dificuldade de lidar com relações um-para-muitos (1-N), muitos-para-um (N-1) e muitos-para-muitos (N-N). Os modelosDistMult
têm dificuldade de lidar com relações simétricas.RotatE
é bom em modelar todos os tipos de relações, mas é mais caro do queTrainsE
eDistMult
durante o treinamento. Em alguns casos, quando tanto a identificação do nó quanto as informações do atributo do nó são importantes, você deve usar
`concat-node-embed`
para instruir o modelo Neptune ML a obter a representação inicial de um nó concatenando os atributos com suas incorporações iniciais.Ao obter um desempenho razoavelmente bom em alguns hiperparâmetros, é possível ajustar o espaço de pesquisa de hiperparâmetros de acordo com esses resultados.
Interrupção antecipada do processo de treinamento de modelos no Neptune ML
A interrupção antecipada pode reduzir significativamente o tempo de execução do treinamento de modelos e os custos associados sem degradar o desempenho do modelo. Também evita que o modelo se ajuste demais aos dados de treinamento.
A interrupção antecipada depende de medições regulares do desempenho do conjunto de validação. Inicialmente, o desempenho melhora à medida que o treinamento prossegue, mas quando o modelo começa a se ajustar demais, ele começa a declinar novamente. O atributo de interrupção antecipada identifica o ponto em que o modelo começa a se ajustar demais e interrompe o treinamento do modelo nesse ponto.
O Neptune ML monitora as chamadas da métrica de validação e compara a métrica de validação mais recente com a média das métricas de validação nas últimas n
avaliações, em que n
é um número definido usando o parâmetro window-for-early-stop
. Assim que a métrica de validação for pior do que a média, o Neptune ML interromperá o treinamento do modelo e salvará o melhor modelo até o momento.
É possível controlar a interrupção antecipada usando os seguintes parâmetros:
-
window-for-early-stop
: o valor desse parâmetro é um número inteiro que especifica a média do número de pontuações de validação recentes ao decidir sobre uma interrupção antecipada. O valor padrão é3
. -
enable-early-stop
: use esse parâmetro booliano para desativar o atributo de interrupção antecipada. Por padrão, o valor étrue
.
Interrupção antecipada do processo HPO no Neptune ML
O atributo de interrupção antecipada no Neptune ML também interrompe os trabalhos de treinamento que não estão funcionando bem em comparação com outros trabalhos de treinamento, usando o atributo de início a quente do HPO do SageMaker. Isso também pode reduzir custos e melhorar a qualidade do HPO.
Consulte Run a warm start hyperparameter tuning job para obter uma descrição de como isso funciona.
O início a quente oferece a capacidade de transmitir informações aprendidas em trabalhos de treinamento anteriores para trabalhos de treinamento subsequentes e oferece dois benefícios distintos:
Primeiro, os resultados dos trabalhos de treinamento anteriores são usados para selecionar boas combinações de hiperparâmetros a serem pesquisados no novo trabalho de ajuste.
Segundo, permite a interrupção antecipada para acessar mais execuções do modelo, o que reduz o tempo de ajuste.
Esse atributo é habilitado automaticamente no Neptune ML e permite que você encontre um equilíbrio entre o tempo de treinamento e o desempenho do modelo. Se você estiver satisfeito com o desempenho do modelo atual, poderá usar esse modelo. Caso contrário, execute mais HPOs que são iniciados a quente com os resultados das execuções anteriores para descobrir um modelo melhor.
Obter serviços de suporte profissional
A AWS oferece serviços de suporte profissional para ajudar você com problemas em machine learning em projetos do Neptune. Se tiver problemas, entre em contato com o AWS Support