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.iamRoleArn
viene 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.