Predicati Neptune ML utilizzati nelle query di inferenza Gremlin - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Predicati Neptune ML utilizzati nelle query di inferenza Gremlin

Neptune#ml.deterministic

Questo predicato è un'opzione per le query di inferenza induttiva, ovvero per le query che includono il predicato Neptune#ml.inductiveInference.

Quando si utilizza l'inferenza induttiva, il motore Neptune crea il sottografo appropriato per valutare il modello GNN addestrato e i requisiti di questo sottografo dipendono dai parametri del modello finale. In particolare, il parametro num-layer determina il numero di hop di attraversamento dai nodi o dagli archi di destinazione e il parametro fanouts specifica il numero di vicini da campionare in ogni hop (consulta Parametri di ottimizzazione degli iperparametri).

Per impostazione predefinita, le query di inferenza induttiva vengono eseguite in modalità non deterministica, in cui Neptune crea il neighborhood in modo casuale. Quando si effettuano previsioni, questo normale campionamento casuale dei vicini genera talvolta previsioni diverse.

Quando si include Neptune#ml.deterministic in una query di inferenza induttiva, il motore Neptune tenta di campionare i vicini in modo deterministico in modo che più invocazioni della stessa query restituiscano sempre gli stessi risultati. Tuttavia, non si può garantire che i risultati siano completamente deterministici, poiché le modifiche al grafo e agli artefatti sottostanti dei sistemi distribuiti possono comunque introdurre fluttuazioni.

Includi il predicato Neptune#ml.deterministic in una query in questo modo:

.with("Neptune#ml.deterministic")

Se il predicato Neptune#ml.deterministic è incluso in una query che non include anche Neptune#ml.inductiveInference, viene semplicemente ignorato.

Neptune#ml.disableInductiveInferenceMetadataCache

Questo predicato è un'opzione per le query di inferenza induttiva, ovvero per le query che includono il predicato Neptune#ml.inductiveInference.

Per le query di inferenza induttiva, Neptune utilizza un file di metadati archiviato in Amazon S3 per decidere il numero di hop e il fanout durante la creazione del neighborhood Neptune normalmente memorizza nella cache i metadati di questo modello per evitare di recuperare ripetutamente il file da Amazon S3. La memorizzazione nella cache può essere disabilitata includendo il predicato Neptune#ml.disableInductiveInferenceMetadataCache nella query. Sebbene possa essere più lento per Neptune recuperare i metadati direttamente da Amazon S3, è utile SageMaker quando l'endpoint AI è stato aggiornato dopo la riqualificazione o la trasformazione e la cache è obsoleta.

Includi il predicato Neptune#ml.disableInductiveInferenceMetadataCache in una query in questo modo:

.with("Neptune#ml.disableInductiveInferenceMetadataCache")

Ecco l'aspetto di una query di esempio in un notebook 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

Il predicato Neptune#ml.endpoint viene utilizzato in un passaggio with() per specificare l'endpoint di inferenza, se necessario:

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

È possibile identificare l'endpoint in base all'id o al relativo URL. Per esempio:

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

O:

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

Se imposti il parametro neptune_ml_endpoint nel gruppo di parametri del cluster database Neptune DB sull'id o sull'URL dell'endpoint, non è necessario includere il predicato Neptune#ml.endpoint in ogni query.

Neptune#ml.iamRoleArn

Neptune#ml.iamRoleArnviene utilizzato in un with() passaggio per specificare l'ARN del ruolo IAM di esecuzione SageMaker AI, se necessario:

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

Per informazioni su come creare il ruolo IAM per l'esecuzione dell' SageMaker IA, consultaCrea un ruolo personalizzato NeptuneSageMaker IAMRole .

Nota

Se imposti il neptune_ml_iam_role parametro nel gruppo di parametri del cluster Neptune DB sull'ARN del SageMaker tuo ruolo IAM di esecuzione AI, non è necessario includere Neptune#ml.iamRoleArn il predicato in ogni query.

Neptune#ml.inductiveInference

In Gremlin l'inferenza trasduttiva è abilitata per impostazione predefinita. Per creare una query di inferenza induttiva in tempo reale, includi il predicato Neptune#ml.inductiveInference in questo modo:

.with("Neptune#ml.inductiveInference")

Se il grafo è dinamico, l'inferenza induttiva è spesso la scelta migliore, ma se il grafo è statico, l'inferenza trasduttiva è più veloce ed efficiente.

Neptune#ml.limit

Il predicato Neptune#ml.limit limita facoltativamente il numero di risultati restituiti per ogni entità:

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

Per impostazione predefinita, il limite è 1 e il numero massimo che è possibile impostare è 100.

Neptune#ml.threshold

Il predicato Neptune#ml.threshold stabilisce facoltativamente una soglia limite per i punteggi dei risultati:

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

Ciò consente di scartare tutti i risultati con punteggi inferiori alla soglia specificata.

Neptune#ml.classification

Il Neptune#ml.classification predicato è allegato alla properties() fase per stabilire che le proprietà devono essere recuperate dall'endpoint SageMaker AI del modello di classificazione dei nodi:

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

Neptune#ml.regression

Il Neptune#ml.regression predicato è allegato alla properties() fase per stabilire che le proprietà devono essere recuperate dall'endpoint SageMaker AI del modello di regressione dei nodi:

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

Neptune#ml.prediction

Il predicato Neptune#ml.prediction è collegato ai passaggi in() e out() per stabilire che si tratta di una query di previsione dei collegamenti:

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

Neptune#ml.score

Il predicato Neptune#ml.score viene usato nelle query di classificazione dei nodi o degli archi Gremlin per ottenere un punteggio di attendibilità di machine learning. Il predicato Neptune#ml.score deve essere passato insieme al predicato di query nel passaggio properties() per ottenere un punteggio di attendibilità di ML per le query di classificazione dei nodi o degli archi.

È possibile trovare un esempio di classificazione dei nodi con altri esempi di classificazione dei nodi e un esempio di classificazione degli archi nella sezione relativa alla classificazione degli archi.