Addestramento dei modelli con il comando modeltraining - 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à.

Addestramento dei modelli con il comando modeltraining

È possibile utilizzare il comando modeltraining in Neptune ML per creare un processo di addestramento dei modelli, controllarne lo stato, arrestarlo o elencare tutti i processi di addestramento dei modelli attivi.

Creazione di un processo di addestramento dei modelli con il comando modeltraining in Neptune ML

Un comando modeltraining in Neptune ML per la creazione di un processo completamente nuovo ha il seguente aspetto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" }'

Un comando modeltraining in Neptune ML per la creazione di un processo di aggiornamento per l'addestramento dei modelli incrementale ha il seguente aspetto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "previousModelTrainingJobId" : "(the job ID of a completed model-training job to update)", }'

Un comando modeltraining in Neptune ML per la creazione di un nuovo processo con l'implementazione di un modello personalizzato fornita dall'utente ha il seguente aspetto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "modelName": "custom", "customModelTrainingParameters" : { "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)", "trainingEntryPointScript": "(your training script entry-point name in the Python module)", "transformEntryPointScript": "(your transform script entry-point name in the Python module)" } }'
Parametri per il comando modeltraining per la creazione del processo
  • id (facoltativo): identificatore univoco per il nuovo processo.

    Tipo: stringa. Impostazione predefinita: un UUID generato automaticamente.

  • dataProcessingJobId (obbligatorio): ID del processo di elaborazione dei dati completato che ha creato i dati per l'addestramento.

    Tipo: stringa.

  • trainModelS3Location (obbligatorio): posizione in Amazon S3 in cui devono essere archiviati gli artefatti del modello.

    Tipo: stringa.

  • previousModelTrainingJobId (facoltativo): ID del processo di addestramento del modello completato che si desidera aggiornare in modo incrementale in base ai dati aggiornati.

    Tipo: stringa. Impostazione predefinita: none.

  • sagemakerIamRoleArn (facoltativo): nome ARN di un ruolo IAM per l'esecuzione di SageMaker.

    Tipo: stringa. Nota: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.

  • neptuneIamRoleArn (facoltativo): nome ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse SageMaker e Amazon S3.

    Tipo: stringa. Nota: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.

  • modelName (facoltativo): tipo di modello per l'addestramento. Per impostazione predefinita, il modello di machine learning è basato automaticamente sul modelType utilizzato nell'elaborazione dei dati, ma qui è possibile specificare un tipo di modello diverso.

    Tipo: stringa. Impostazione predefinita: rgcn per i grafi eterogenei e kge per i grafi della conoscenza. Valori validi: per i grafi eterogenei: rgcn. Per i grafi kge: transe, distmult o rotate. Per l'implementazione di un modello personalizzato: custom.

  • baseProcessingInstanceType (facoltativo): tipo di istanza ML utilizzata nella preparazione e nella gestione dell'addestramento dei modelli ML.

    Tipo: stringa. Nota: si tratta di un'istanza CPU scelta in base ai requisiti di memoria per l'elaborazione dei dati e del modello di addestramento. Per informazioni, consultare Selezione di un'istanza per l'addestramento e la trasformazione del modello.

  • trainingInstanceType (facoltativo): tipo di istanza ML utilizzato per l'addestramento del modello. Tutti i modelli Neptune ML supportano l'addestramento su CPU, GPU e multiGPU.

    Tipo: stringa. Default: ml.p3.2xlarge

    Nota: la scelta del tipo di istanza corretto per l'addestramento dipende dal tipo di attività, dalle dimensioni del grafo e dal budget. Per informazioni, consultare Selezione di un'istanza per l'addestramento e la trasformazione del modello.

  • trainingInstanceVolumeSizeInGB (facoltativo): dimensioni del volume del disco dell'istanza di addestramento. Sia i dati di input che il modello di output vengono archiviati su disco, quindi le dimensioni del volume devono essere sufficientemente grandi da contenere entrambi i set di dati.

    Tipo: numero intero. Default: 0

    Nota: se non è specificato o è pari a 0, Neptune ML seleziona le dimensioni del volume del disco in base alla raccomandazione generata nella fase di elaborazione dati. Per informazioni, consultare Selezione di un'istanza per l'addestramento e la trasformazione del modello.

  • trainingTimeOutInSeconds (facoltativo): timeout in secondi per il processo di addestramento.

    Tipo: numero intero. Impostazione predefinita: 86,400 (7 giorni)

  • maxHPONumberOfTrainingJobs: numero totale massimo di processi di addestramento da avviare per il processo di ottimizzazione degli iperparametri.

    Tipo: numero intero. Default: 2

    Nota: Neptune ML ottimizza automaticamente gli iperparametri del modello di machine learning. Per ottenere un modello che funzioni correttamente, utilizza almeno 10 processi (in altre parole, imposta maxHPONumberOfTrainingJobs su 10). In generale, maggiore è il numero di esecuzioni di ottimizzazione, migliori sono i risultati.

  • maxHPOParallelTrainingJobs: Numero massimo di processi di addestramento paralleli da avviare per il processo di ottimizzazione degli iperparametri.

    Tipo: numero intero. Default: 2

    Nota: il numero di processi paralleli che è possibile eseguire è limitato dalle risorse disponibili sull'istanza di addestramento.

  • subnets (facoltativo): ID delle sottoreti nel VPC Neptune.

    Tipo: elenco di stringhe. Impostazione predefinita: none.

  • securityGroupIds (facoltativo): ID del gruppo di sicurezza del VPC.

    Tipo: elenco di stringhe. Impostazione predefinita: none.

  • volumeEncryptionKMSKey (facoltativo): chiave AWS Key Management Service (AWS KMS) usata da SageMaker per crittografare i dati nel volume di archiviazione collegato alle istanze di calcolo ML che eseguono il processo di addestramento.

    Tipo: stringa. Impostazione predefinita: none.

  • s3OutputEncryptionKMSKey (facoltativo): chiave AWS Key Management Service (AWS KMS) utilizzata da SageMaker per crittografare l'output del processo di elaborazione.

    Tipo: stringa. Impostazione predefinita: none.

  • enableInterContainerTrafficEncryption (facoltativo): abilita o disabilita la crittografia del traffico tra container nei processi di addestramento o di ottimizzazione degli iperparametri.

    Tipo: booleano. Impostazione predefinita: True.

    Nota

    Il parametro enableInterContainerTrafficEncryption è disponibile solo nel rilascio del motore 1.2.0.2.R3.

  • enableManagedSpotTraining (facoltativo): ottimizza il costo per l'addestramento dei modelli di machine learning utilizzando le istanze spot di Amazon Elastic Compute Cloud. Per ulteriori informazioni, consulta Managed Spot Training in Amazon SageMaker.

    Tipo: Boolean Impostazione predefinita: False.

  • customModelTrainingParameters (facoltativo): configurazione per l'addestramento di modelli personalizzati. Si tratta di un oggetto JSON con i campi seguenti:

    • sourceS3DirectoryPath (obbligatorio): percorso della posizione Amazon S3 in cui si trova il modulo Python che implementa il modello. Deve indicare una posizione Amazon S3 esistente valida che contenga almeno uno script di addestramento, uno script di trasformazione e un file model-hpo-configuration.json.

    • trainingEntryPointScript (facoltativo): nome del punto di ingresso nel modulo di uno script che esegue l'addestramento del modello e accetta gli iperparametri come argomenti della riga di comando, inclusi gli iperparametri fissi.

      Default: training.py

    • transformEntryPointScript (facoltativo): nome del punto di ingresso nel modulo di uno script che deve essere eseguito dopo aver identificato il modello migliore ottenuto dalla ricerca degli iperparametri, in modo da calcolare gli artefatti del modello necessari per l'implementazione del modello. Deve poter essere eseguito senza argomenti della riga di comando.

      Default: transform.py

  • maxWaitTime (facoltativo): tempo massimo di attesa, in secondi, quando si esegue l'addestramento dei modelli utilizzando istanze spot. Deve essere maggiore di trainingTimeOutInSeconds.

    Tipo: numero intero.

Recupero dello stato di un processo di addestramento dei modelli con il comando modeltraining in Neptune ML

Un comando modeltraining di esempio in Neptune ML per lo stato di un processo ha il seguente aspetto:

curl -s \ "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)" \ | python -m json.tool
Parametri per il comando modeltraining per lo stato del processo
  • id (obbligatorio): identificatore univoco del processo di addestramento dei modelli.

    Tipo: stringa.

  • neptuneIamRoleArn (facoltativo): nome ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse SageMaker e Amazon S3.

    Tipo: stringa. Nota: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.

Arresto di un processo di addestramento dei modelli con il comando modeltraining in Neptune ML

Un comando modeltraining di esempio in Neptune ML per l'arresto di un processo ha il seguente aspetto:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)"

Oppure questo:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)?clean=true"
Parametri per il comando modeltraining per l'arresto del processo
  • id (obbligatorio): identificatore univoco del processo di addestramento dei modelli.

    Tipo: stringa.

  • neptuneIamRoleArn (facoltativo): nome ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse SageMaker e Amazon S3.

    Tipo: stringa. Nota: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.

  • clean (facoltativo): questo flag specifica che tutti gli artefatti Amazon S3 devono essere eliminati quando il processo viene arrestato.

    Tipo: Boolean Default: FALSE

Elenco dei processi di addestramento dei modelli attivi con il comando modeltraining in Neptune ML

Un comando modeltraining di esempio in Neptune ML per l'elenco dei processi attivi ha il seguente aspetto:

curl -s "https://(your Neptune endpoint)/ml/modeltraining" | python -m json.tool

Oppure questo:

curl -s "https://(your Neptune endpoint)/ml/modeltraining?maxItems=3" | python -m json.tool
Parametri per il comando modeltraining per l'elenco dei processi
  • maxItems (facoltativo): numero massimo di elementi da restituire.

    Tipo: numero intero. Default: 10 Valore massimo consentito: 1024.

  • neptuneIamRoleArn (facoltativo): nome ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse SageMaker e Amazon S3.

    Tipo: stringa. Nota: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.