Predicados do Neptune ML usados em consultas de inferência do Gremlin - Amazon Neptune

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

Predicados do Neptune ML usados em consultas de inferência do Gremlin

Neptune#ml.deterministic

Esse predicado é uma opção para consultas de inferência indutiva, ou seja, para consultas que incluem o predicado Neptune#ml.inductiveInference.

Ao usar a inferência indutiva, o mecanismo do Neptune cria o subgrafo apropriado para avaliar o modelo de GNN treinado, e os requisitos desse subgrafo dependem dos parâmetros do modelo final. Especificamente, o parâmetro num-layer determina o número de saltos transversais dos nós ou das bordas de destino, e o parâmetro fanouts especifica quantos vizinhos devem ser incluídos na amostra em cada salto (consulte os parâmetros do HPO).

Por padrão, as consultas de inferência indutiva são executadas no modo não determinístico, no qual o Neptune constrói a vizinhança aleatoriamente. Ao fazer previsões, essa amostragem normal de vizinhos aleatórios às vezes gera previsões diferentes.

Quando você inclui Neptune#ml.deterministic em uma consulta de inferência indutiva, o mecanismo do Neptune tenta realizar uma amostra de vizinhos de forma determinística para que várias invocações da mesma consulta retornem sempre os mesmos resultados. No entanto, não se pode garantir que os resultados sejam completamente determinísticos, pois as alterações no grafo e nos artefatos subjacentes dos sistemas distribuídos ainda podem introduzir flutuações.

Você inclui o predicado Neptune#ml.deterministic em uma consulta como esta:

.with("Neptune#ml.deterministic")

Se o predicado Neptune#ml.deterministic for incluído em uma consulta que também não inclua Neptune#ml.inductiveInference, ele será simplesmente ignorado.

Neptune#ml.disableInductiveInferenceMetadataCache

Esse predicado é uma opção para consultas de inferência indutiva, ou seja, para consultas que incluem o predicado Neptune#ml.inductiveInference.

Para consultas de inferência indutiva, o Neptune usa um arquivo de metadados armazenado no Amazon S3 para decidir o número de saltos e o fanout ao construir a vizinhança. O Neptune normalmente armazena em cache esses metadados do modelo para evitar a busca repetida do arquivo no Amazon S3. O armazenamento em cache pode ser desativado incluindo o predicado Neptune#ml.disableInductiveInferenceMetadataCache na consulta. Embora possa ser mais lento para o Neptune buscar os metadados diretamente do Amazon S3, isso é útil SageMaker quando o endpoint de IA é atualizado após um novo treinamento ou transformação e o cache está obsoleto.

Você inclui o predicado Neptune#ml.disableInductiveInferenceMetadataCache em uma consulta como esta:

.with("Neptune#ml.disableInductiveInferenceMetadataCache")

Veja um exemplo de consulta em um caderno Jupyter:

%%gremlin g.with("Neptune#ml.endpoint", "ep1") .with("Neptune#ml.iamRoleArn", "arn:aws:iam::123456789012:role/NeptuneMLRole") .with("Neptune#ml.disableInductiveInferenceMetadataCache") .V('101').properties("rating") .with("Neptune#ml.regression") .with("Neptune#ml.inductiveInference")

Neptune#ml.endpoint

O predicado Neptune#ml.endpoint é usado em uma etapa with() para especificar o endpoint de inferência, se necessário:

.with("Neptune#ml.endpoint", "the model's SageMaker AI inference endpoint")

Você pode identificar o endpoint pelo id ou pelo URL. Por exemplo:

.with( "Neptune#ml.endpoint", "node-classification-movie-lens-endpoint" )

Ou:

.with( "Neptune#ml.endpoint", "https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/node-classification-movie-lens-endpoint/invocations" )
nota

Se você definir o parâmetro neptune_ml_endpoint no grupo de parâmetros do cluster de banco de dados do Neptune como o URL ou o id do endpoint, não precisará incluir o predicado Neptune#ml.endpoint em cada consulta.

Neptune#ml.iamRoleArn

Neptune#ml.iamRoleArné usado em uma with() etapa para especificar o ARN da função IAM de execução da SageMaker IA, se necessário:

.with("Neptune#ml.iamRoleArn", "the ARN for the SageMaker AI execution IAM role")

Para obter informações sobre como criar a função IAM de execução de SageMaker IA, consulteCrie um NeptuneSageMaker IAMRole papel personalizado.

nota

Se você definir o neptune_ml_iam_role parâmetro no grupo de parâmetros do cluster do Neptune DB como o ARN da SageMaker sua função IAM de execução de IA, não precisará incluir Neptune#ml.iamRoleArn o predicado em cada consulta.

Neptune#ml.inductiveInference

A inferência transdutiva é habilitada por padrão no Gremlin. Para fazer uma consulta de inferência indutiva em tempo real, inclua o predicado Neptune#ml.inductiveInference desta forma:

.with("Neptune#ml.inductiveInference")

Se seu grafo for dinâmico, a inferência indutiva geralmente será a melhor escolha, mas se seu grafo for estático, a inferência transdutiva será mais rápida e eficiente.

Neptune#ml.limit

Opcionalmente, o predicado Neptune#ml.limit limita o número de resultados gerados por entidade:

.with( "Neptune#ml.limit", 2 )

Por padrão, o limite é 1 e o número máximo que pode ser definido é 100.

Neptune#ml.threshold

Opcionalmente, o predicado Neptune#ml.threshold estabelece um limite de corte para as pontuações dos resultados:

.with( "Neptune#ml.threshold", 0.5D )

Isso permite que você descarte todos os resultados com pontuações abaixo do limite especificado.

Neptune#ml.classification

O Neptune#ml.classification predicado é anexado à properties() etapa para estabelecer que as propriedades precisam ser obtidas do endpoint de SageMaker IA do modelo de classificação de nós:

.properties( "property key of the node classification model" ).with( "Neptune#ml.classification" )

Neptune#ml.regression

O Neptune#ml.regression predicado é anexado à properties() etapa para estabelecer que as propriedades precisam ser obtidas do endpoint de SageMaker IA do modelo de regressão do nó:

.properties( "property key of the node regression model" ).with( "Neptune#ml.regression" )

Neptune#ml.prediction

O predicado Neptune#ml.prediction é anexado às etapas in() e out() para estabelecer que se trata de uma consulta de previsão de links:

.in("edge label of the link prediction model").with("Neptune#ml.prediction").hasLabel("target node label")

Neptune#ml.score

O predicado Neptune#ml.score é usado em consultas de classificação de nós ou bordas do Gremlin para obter uma pontuação de confiança de machine learning. O predicado Neptune#ml.score deve ser transmitido junto com o predicado da consulta na etapa properties() para obter uma pontuação de confiança de ML para consultas de classificação de nós ou bordas.

É possível encontrar um exemplo de classificação de nós com outros exemplos de classificação de nós e um exemplo de classificação de bordas na seção de classificação de bordas.