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á.
Artefatos produzidos pelo treinamento de modelos no Neptune ML
Após o treinamento de modelos, o Neptune ML usa os parâmetros de modelo mais bem treinados para gerar artefatos de modelo que são necessários para iniciar o endpoint de inferência e fornecer previsões do modelo. Esses artefatos são agrupados pelo trabalho de treinamento e armazenados no local de saída do Amazon S3 do melhor trabalho de treinamento do SageMaker.
As seções a seguir descrevem o que está incluído nos artefatos do modelo para as várias tarefas e como o comando de transformação de modelos usa um modelo treinado preexistente para gerar artefatos mesmo em novos dados de grafos.
Artefatos gerados para diferentes tarefas
O conteúdo dos artefatos do modelo gerados pelo processo de treinamento depende da tarefa de machine learning de destino:
-
Classificação e regressão de nós: para previsão de propriedades de nós, os artefatos incluem parâmetros do modelo, incorporações de nós do codificador de GNN, previsões de modelo para nós no grafo de treinamento e alguns arquivos de configuração para o endpoint de inferência. Nas tarefas de classificação e regressão de nós, as previsões do modelo são pré-calculadas para os nós presentes durante o treinamento com o objetivo de reduzir a latência da consulta.
-
Classificação e regressão de bordas: para a previsão de propriedades da borda, os artefatos também incluem parâmetros do modelo e incorporações de nós. Os parâmetros do decodificador de modelos são especialmente importantes para inferência porque calculamos as previsões de classificação ou regressão de bordas aplicando o decodificador de modelos às incorporações do vértice de origem e de destino de uma borda.
-
Previsão de links: para previsão de links, além dos artefatos gerados para a previsão de propriedades de borda, o grafo de DGL também é incluído como um artefato porque a previsão de links requer o grafo de treinamento para realizar previsões. O objetivo da previsão de links é prever os vértices de destino que provavelmente se combinarão com um vértice de origem para formar uma borda de um tipo específico no grafo. Para fazer isso, a incorporação de nós do vértice de origem e uma representação aprendida para o tipo de borda são combinadas com as incorporações de nós de todos os vértices de destino possíveis a fim de produzir uma pontuação de probabilidade de borda para cada um dos vértices de destino. As pontuações são então classificadas para avaliar os possíveis vértices de destino e gerar os principais candidatos.
Para cada um dos tipos de tarefa, os pesos do modelo de rede neural para grafos da DGL são salvos no artefato do modelo. Isso permite que o Neptune ML calcule novas saídas do modelo à medida que o grafo muda (inferência indutiva), além de usar previsões e incorporações pré-calculadas (inferência transdutiva) para reduzir a latência.
Gerar novos artefatos do modelo
Os artefatos do modelo gerados após o treinamento de modelos no Neptune ML estão diretamente vinculados ao processo de treinamento. Isso significa que as incorporações e as previsões pré-calculadas existem apenas para entidades que estavam no grafo de treinamento original. Embora o modo de inferência indutiva para endpoints do Neptune ML possa calcular previsões para novas entidades em tempo real, convém gerar previsões em lote em novas entidades sem consultar um endpoint.
Para obter previsões do modelo em lote para novas entidades adicionadas ao grafo, novos artefatos do modelo precisam ser recalculados para os novos dados de grafos. Isso é feito com o comando modeltransform
. Use o comando modeltransform
quando deseja apenas previsões em lote sem configurar um endpoint ou quando deseja que todas as previsões sejam geradas para que você possa gravá-las de volta no grafo.
Como o treinamento de modelos executa implicitamente uma transformação de modelos no final do processo de treinamento, os artefatos do modelo são sempre recalculados nos dados de grafos de treinamento por um trabalho de treinamento. No entanto, o comando modeltransform
também pode calcular artefatos de modelo em dados de grafos que não foram usados para treinar um modelo. Para isso, os novos dados de grafos devem ser processados usando as mesmas codificações de atributos dos dados de grafos originais e devem seguir o mesmo esquema de grafo.
É possível fazer isso criando primeiro uma tarefa de processamento de dados que seja clone da tarefa de processamento de dados executada nos dados do grafo de treinamento original e executando-a nos novos dados de grafos (consulte Processar dados de grafos atualizados para o Neptune ML). Depois, chame o comando modeltransform
com o novo dataProcessingJobId
e o antigo modelTrainingJobId
para recalcular os artefatos do modelo nos dados de grafos atualizados.
Para a previsão da propriedade do nó, as incorporações e as previsões do nó são recalculadas nos novos dados de grafos, mesmo para os nós que estavam presentes no grafo de treinamento original.
Para previsão de propriedades de borda e de links, as incorporações de nós também são recalculadas e, da mesma forma, substituem todas as incorporações de nós existentes. Para recalcular as incorporações de nós, o Neptune ML aplica o codificador de GNN aprendido do modelo treinado anterior aos nós dos novos dados de grafos com seus novos atributos.
Para nós sem atributos, as representações iniciais aprendidas do treinamento do modelo original são reutilizadas. Para novos nós sem atributos e que não estavam presentes no grafo de treinamento original, o Neptune ML inicializa a representação como a média das representações iniciais aprendidas desse tipo de nó presentes no grafo de treinamento original. Isso poderá causar uma certa degradação do desempenho nas previsões do modelo se você tiver muitos nós novos sem atributos, pois todos eles serão inicializados com a incorporação inicial média desse tipo de nó.
Se o modelo for treinado com concat-node-embed
definido como verdadeiro, as representações iniciais do nó serão criadas concatenando os atributos do nó com a representação inicial que pode ser aprendida. Assim, para o grafo atualizado, a representação inicial dos novos nós também usa a média das incorporações iniciais dos nós, concatenadas com os novos atributos dos nós.
Além disso, no momento, exclusões de nós não são compatíveis. Se os nós tiverem sido removidos no grafo atualizado, você precisará treinar novamente o modelo nos dados do grafo atualizado.
O novo cálculo dos artefatos do modelo reutiliza os parâmetros aprendidos do modelo em um novo grafo e só deve ser feito quando o novo grafo é muito semelhante ao grafo antigo. Se o novo grafo não for suficientemente semelhante, você precisará treinar novamente o modelo para obter um desempenho semelhante nos novos dados de grafos. O que constitui algo suficientemente semelhante depende da estrutura dos dados de grafos, mas, como regra, será necessário treinar novamente o modelo se os novos dados forem mais de 10 a 20% diferentes dos dados do grafo de treinamento original.
Para grafos em que todos os nós têm atributos, a extremidade superior do limite (20% diferente) se aplica, mas para grafos em que muitos nós não têm atributos e os novos nós adicionados ao grafo não têm propriedades, a extremidade inferior (10% diferente) pode até ser alta demais.
Consulte O comando modeltransform para obter mais informações sobre trabalhos de treinamento de modelos.