Corsi di formazione

L'SDK Vertex AI include diverse classi che utilizzi per addestrare il modello. La maggior parte dei corsi di formazione è usata per creare, addestrare restituire il modello. Utilizza la HyperparameterTuningJob per ottimizzare gli iperparametri del job di addestramento. Utilizza la PipelineJob Gestisci il tuo machine learning (ML) per automatizzare e monitorare i sistemi ML.

I seguenti argomenti forniscono una descrizione generale di ogni corso di formazione nell'SDK Vertex AI.

Corsi di addestramento AutoML per dati strutturati

L'SDK Vertex AI include le seguenti classi utilizzate per l'addestramento un modello AutoML strutturato.

AutoMLForecastingTrainingJob

La AutoMLForecastingTrainingJob utilizza il metodo di addestramento AutoML per addestrare ed eseguire un modello di previsione. Il metodo di addestramento AutoML è una buona scelta per la maggior parte dei casi d'uso di previsione. Se il tuo caso d'uso non trae vantaggio dall'Seq2seq o Temporal fusion transformer offerto dal SequenceToSequencePlusForecastingTrainingJob: e TemporalFusionTransformerForecastingTrainingJob rispettivamente, AutoML è il metodo di addestramento più adatto per le previsioni per le previsioni.

Per un codice campione che mostra come utilizzare AutoMLForecastingTrainingJob, consulta Creare un esempio di previsione per la pipeline di addestramento su GitHub.

AutoMLTabularTrainingJob

Il corso AutoMLTabularTrainingJob rappresenta un job che crea, addestra e restituisce un modello tabulare AutoML. Per saperne di più sull'addestramento dei modelli tabulari e di Vertex AI, consulta Dati tabulari e Dati tabulari Panoramica.

Il seguente snippet di codice campione mostra come utilizzare il parametro SDK Vertex AI per creare ed eseguire un modello tabulare AutoML:

dataset = aiplatform.TabularDataset('projects/my-project/location/us-central1/datasets/{DATASET_ID}')

job = aiplatform.AutoMLTabularTrainingJob(
  display_name="train-automl",
  optimization_prediction_type="regression",
  optimization_objective="minimize-rmse",
)

model = job.run(
    dataset=dataset,
    target_column="target_column_name",
    training_fraction_split=0.6,
    validation_fraction_split=0.2,
    test_fraction_split=0.2,
    budget_milli_node_hours=1000,
    model_display_name="my-automl-model",
    disable_early_stopping=False,
)

SequenceToSequencePlusForecastingTrainingJob

La classe SequenceToSequencePlusForecastingTrainingJob utilizza il metodo di addestramento Seq2seq+ per addestrare ed eseguire un modello di previsione. Il metodo di addestramento Seq2seq+ è una buona scelta per la sperimentazione. È è più semplice e utilizza uno spazio di ricerca più ridotto rispetto all'opzione AutoML. Seq2seq+ è una buona opzione se vuoi ottenere risultati rapidi e i tuoi set di dati sono inferiore a 1 GB.

Per un codice campione che mostra come utilizzare SequenceToSequencePlusForecastingTrainingJob, consulta l'articolo Creare una pipeline di addestramento che preveda l'esempio di Seq2seq su GitHub.

TemporalFusionTransformerForecastingTrainingJob

La TemporalFusionTransformerForecastingTrainingJob usa il metodo di addestramento Temporal Fusion Transformer (TFT) per addestrare per eseguire un modello di previsione. Il metodo di addestramento TFT implementa un modello di rete neurale profonda (DNN) basato sull'attenzione che utilizza un'attività di previsione su più orizzonti per produrre previsioni.

Per un codice campione che mostra come utilizzare TemporalFusionTransformerForecastingTrainingJob, consulta Creare una pipeline di addestramento per la previsione del trasformatore di fusione temporale esempio su GitHub.

TimeSeriesDenseEncoderForecastingTrainingJob

La TimeSeriesDenseEncoderForecastingTrainingJob utilizza il metodo di addestramento TiDE (Time-Series Dense Encoder) per addestrare ed eseguire un modello di previsione. TiDE utilizza un parametro perceptron multilivello (MLP) per fornire il la velocità di previsione di modelli lineari con covariate e dipendenze non lineari. Per ulteriori informazioni su TiDE, vedi I recenti progressi nelle previsioni profonde dell'orizzonte lungo e questo può portare Post del blog di TiDE.

Classi di addestramento AutoML per dati non strutturati

L'SDK Vertex AI include le seguenti classi per l'addestramento Modelli di immagini, testo e video non strutturati:

AutoMLImageTrainingJob

Utilizza la classe AutoMLImageTrainingJob per creare, addestrare e restituire un modello di immagini. Per ulteriori informazioni sul lavoro con i modelli di dati immagine in Vertex AI, consulta Dati delle immagini.

Per un esempio di come utilizzare AutoMLImageTrainingJob, consulta tutorial sull'immagine AutoML Classificazione un blocco note.

AutoMLTextTrainingJob

Utilizza il corso AutoMLTextTrainingJob per creare, addestrare e restituire un modello di testo. Per ulteriori informazioni sul lavoro con i modelli di dati di testo in Vertex AI, vedi Dati di testo.

Per un esempio di come utilizzare AutoMLTextTrainingJob, consulta tutorial sul modello di estrazione delle entità del testo di addestramento AutoML per previsione un blocco note.

AutoMLVideoTrainingJob

Utilizza il corso AutoMLVideoTrainingJob per creare, addestrare e restituire un modello video. Per ulteriori informazioni sul lavoro con i modelli di dati video in Vertex AI, consulta Dati relativi ai video.

Per un esempio di utilizzo della classe AutoMLVideoTrainingJob, consulta il tutorial nel notebook Addestramento di un modello di riconoscimento di azioni video AutoML per la previsione batch.

Classi di addestramento dei dati personalizzati

Puoi utilizzare l'SDK Vertex AI per automatizzare un addestramento personalizzato un flusso di lavoro di machine learning. Per informazioni sull'utilizzo di Vertex AI per eseguire l'addestramento personalizzato vedi Panoramica dell'addestramento personalizzato.

L'SDK Vertex AI include tre classi che creano un modello di addestramento personalizzato. Una pipeline di addestramento accetta una pipeline di input gestita da Vertex AI usato per addestrare un modello. Quindi, restituisce il modello dopo di addestramento personalizzato. Ognuna delle tre classi della pipeline di addestramento personalizzato crea una pipeline di addestramento in modo diverso. CustomTrainingJob utilizza uno script Python, CustomContainerTrainingJob utilizza un container personalizzato CustomPythonPackageTrainingJob utilizza un pacchetto Python e un container predefinito.

La classe CustomJob crea un job di addestramento personalizzato, ma non è una pipeline. A differenza di una pipeline di addestramento personalizzata, La classe CustomJob può utilizzare un set di dati che non è un Set di dati gestito da Vertex AI per addestrare un modello e non restituisce addestrato al modello. Poiché la classe accetta diversi tipi di set di dati e non restituire un modello addestrato, è meno automatizzato e più flessibile di addestramento personalizzato.

CustomContainerTrainingJob

Utilizza la CustomContainerTrainingJob per utilizzare un container al fine di avviare una pipeline di addestramento personalizzata in Vertex AI.

Per un esempio di come utilizzare CustomContainerTrainingJob, guarda il tutorial in PyTorch Image Classification Multi-Node Distributed Addestramento parallelo dei dati su GPU utilizzando Vertex AI Training con container personalizzato un blocco note.

CustomJob

Utilizza la classe CustomJob per utilizzare uno script per avviare un un job di addestramento personalizzato in Vertex AI.

Un job di addestramento è più flessibile di una pipeline di addestramento perché non hai bisogno di caricare i dati in un set di dati gestito da Vertex AI e un riferimento al tuo modello non viene registrato al termine del job di addestramento. Ad esempio, potresti utilizzare la classe CustomJob, il relativo metodo from_local_script e uno script per caricare un set di dati da scikit-learn o TensorFlow. Potresti anche voler analizzare o testare del modello addestrato prima che sia registrato in Vertex AI.

Per ulteriori informazioni sui job di addestramento personalizzato, inclusi i requisiti prima un job di addestramento personalizzato, cosa include un job personalizzato e un codice Python consulta l'esempio Crea job di addestramento personalizzati.

Poiché CustomJob.run non restituisce il modello addestrato, devi utilizzare uno script per scrivere il modello in una località, ad esempio un bucket Cloud Storage. Per ulteriori informazioni, consulta Esportare un modello di ML addestrato.

Il codice campione seguente mostra come creare ed eseguire un job personalizzato utilizzando una specifica del pool di worker di esempio. Il codice scrive il modello addestrato in un Bucket Cloud Storage denominato artifact-bucket.

# Create a worker pool spec that specifies a TensorFlow cassava dataset and
# includes the machine type and Docker image. The Google Cloud project ID
# is 'project-id'.
worker_pool_specs=[
     {
        "replica_count": 1,
        "machine_spec": { "machine_type": "n1-standard-8", 
                          "accelerator_type": "NVIDIA_TESLA_V100", 
                          "accelerator_count": 1
        },
        "container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
      },
      {
        "replica_count": 1,
        "machine_spec": { "machine_type": "n1-standard-8", 
                          "accelerator_type": "NVIDIA_TESLA_V100", 
                          "accelerator_count": 1
        },
        "container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
      }
]

# Use the worker pool spec to create a custom training job. The custom training 
# job artifacts are stored in the Cloud Storage bucket
# named 'artifact-bucket'.
your_custom_training_job = aiplatform.CustomJob(
                                      display_name='multiworker-cassava-sdk',
                                      worker_pool_specs=worker_pool_specs,
                                      staging_bucket='gs://{artifact-bucket}')

# Run the training job. This method doesn't return the trained model.
my_multiworker_job.run()

CustomPythonPackageTrainingJob

Utilizza la classe CustomPythonPackageTrainingJob per utilizzare un pacchetto Python per lanciare una pipeline di addestramento personalizzato in Vertex AI.

Per un esempio di come utilizzare CustomPythonPackageTrainingJob vedi il tutorial nella sezione Addestramento personalizzato con il pacchetto Python, un set di dati di testo e TensorFlow container un blocco note.

CustomTrainingJob

Utilizza il corso CustomTrainingJob per avviare un di addestramento personalizzato in Vertex AI con uno script.

Per un esempio di come utilizzare CustomTrainingJob, guarda il tutorial nella il Modello personalizzato di classificazione delle immagini di addestramento per la previsione online con spiegabilità un blocco note.

Corso di addestramento degli iperparametri

L'SDK Vertex AI include una classe per l'ottimizzazione degli iperparametri. L'ottimizzazione degli iperparametri massimizza l'accuratezza predittiva del modello mediante l'ottimizzazione (note come iperparametri) che regolano il processo di addestramento. Per per ulteriori informazioni, consulta Panoramica degli iperparametri dell'ottimizzazione.

HyperparameterTuningJob

Utilizzare il corso HyperparameterTuningJob per automatizzare l'ottimizzazione degli iperparametri in un'applicazione di addestramento.

Per scoprire come utilizzare la classe HyperparameterTuningJob per creare e ottimizzare un modello addestrato personalizzato, consulta le Tutorial sull'ottimizzazione degli iperparametri su GitHub.

Per scoprire come utilizzare la classe HyperparameterTuningJob per eseguire un job di ottimizzazione degli iperparametri di Vertex AI per un modello TensorFlow, consulta il Esegui l'ottimizzazione degli iperparametri per un modello TensorFlow su GitHub.

Corso di formazione sulla pipeline

Una pipeline orchestra il tuo flusso di lavoro ML in Vertex AI. Puoi utilizzare una pipeline per automatizzare, monitorare e gestire i sistemi di machine learning. Per saperne di più sulle pipeline in Vertex AI, consulta Introduzione a Vertex AI Pipelines.

PipelineJob

Un'istanza della classe PipelineJob rappresenta una pipeline Vertex AI.

Sono disponibili diversi blocchi note tutorial che mostrano come utilizzare la classe PipelineJob:

Per ulteriori tutorial sui blocchi note, vedi Tutorial sui blocchi note Vertex AI.

Passaggi successivi