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 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 classe correlata all'addestramento nell'SDK Vertex AI.
Classi di addestramento AutoML per i dati strutturati
L'SDK Vertex AI include le seguenti classi utilizzate per addestrare un modello AutoML strutturato.
AutoMLForecastingTrainingJob
La classe 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 dal metodo di addestramento Seq2seq
o Temporal fusion transformer
offerto rispettivamente dalle classi SequenceToSequencePlusForecastingTrainingJob
e TemporalFusionTransformerForecastingTrainingJob
, è probabile che AutoML
sia il metodo di addestramento migliore per le tue previsioni di previsione.
Per il codice di esempio che mostra come utilizzare
AutoMLForecastingTrainingJob
, consulta l'articolo Creare un esempio di previsione della pipeline di addestramento su GitHub.
AutoMLTabularTrainingJob
La classe 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 di esempio mostra come utilizzare l'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. Il suo algoritmo è più semplice e utilizza uno spazio di ricerca più piccolo 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 classe
TemporalFusionTransformerForecastingTrainingJob
utilizza il metodo di addestramento del trasformatore di fusione temporale (TFT) per addestrare e
eseguire un modello di previsione. Il metodo di addestramento TFT implementa un modello
modello di rete neurale profonda (DNN, Deep Neural Network, rete neurale profonda) che utilizza un'attività di previsione su più orizzonti per
per produrre previsioni.
Per il codice di esempio che mostra come utilizzare
TemporalFusionTransformerForecastingTrainingJob
,
consulta l'esempio di creazione di una pipeline di addestramento per la previsione con trasformatore di fusione temporale
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
percettrone multistrato (MLP) per fornire la
velocità di previsione dei modelli lineari con covariabili e dipendenze non lineari.
Per ulteriori informazioni su TiDE, consulta
Recenti progressi nelle previsioni a lungo termine approfondite
e questo
post del blog su TiDE.
Classi di addestramento AutoML per i dati non strutturati
L'SDK Vertex AI include le seguenti classi per addestrare 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 la classe
AutoMLImageTrainingJob
, consulta il
tutorial nel notebook Classificazione di immagini con AutoML.
AutoMLTextTrainingJob
Utilizza la classe 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 le
tutorial sul modello di estrazione delle entità del testo di addestramento AutoML per
previsione
un blocco note personalizzato.
AutoMLVideoTrainingJob
Utilizza la classe AutoMLVideoTrainingJob
per
creare, addestrare e restituire un modello video. Per ulteriori informazioni su come lavorare con i modelli di dati video in Vertex AI, consulta Dati video.
Per un esempio di come utilizzare
AutoMLVideoTrainingJob
, consulta le
tutorial sul modello di riconoscimento delle azioni video di addestramento AutoML per batch
previsione
un blocco note personalizzato.
Classi di addestramento per dati personalizzati
Puoi utilizzare l'SDK Vertex AI per automatizzare un flusso di lavoro di addestramento personalizzato. 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 una
pipeline di addestramento personalizzata. Una pipeline di addestramento accetta una pipeline di input gestita da Vertex AI
usato per addestrare un modello. Poi restituisce il modello al termine del job di addestramento. 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 il
modello addestrato. Poiché la classe accetta diversi tipi di set di dati e non
restituisce un modello addestrato, è meno automatizzata e più flessibile di una
pipeline di addestramento personalizzata.
CustomContainerTrainingJob
Utilizza la classe CustomContainerTrainingJob
per utilizzare un contenitore per lanciare una pipeline di addestramento personalizzato in Vertex AI.
Per un esempio di come utilizzare la classe
CustomContainerTrainingJob
,
consulta il tutorial nel notebook PyTorch Image Classification Multi-Node Distributed
Data Parallel Training on GPU using Vertex AI Training with Custom Container.
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. Per
Ad esempio, potresti voler utilizzare la classe CustomJob
,
from_local_script
e uno script per caricare un set di dati
scikit-learn oppure
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 l'elemento
del modello in una posizione, 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 personalizzato.
CustomTrainingJob
Utilizza la classe CustomTrainingJob
per lanciare una
pipeline 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 personalizzato.
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
su 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.
Classe di addestramento della pipeline
Una pipeline orchestra il tuo flusso di lavoro ML in Vertex AI. Puoi utilizzare una pipeline per automatizzare, monitorare e gestire i tuoi 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 scoprire come eseguire una pipeline Kubeflow Pipelines (KFP), consulta il Tutorial: strutture di controllo della pipeline utilizzando l'SDK KFP su GitHub.
Per scoprire come addestrare un modello di classificazione tabulare scikit-learn e creare un job di previsione batch con una pipeline Vertex AI, consulta il Addestramento e previsione batch con origine e destinazione BigQuery per un modello di classificazione tabulare personalizzato su GitHub.
Per scoprire come creare un modello di classificazione delle immagini AutoML e utilizzare una pipeline Vertex AI, consulta il tutorial su GitHub sulle pipeline di classificazione delle immagini AutoML che utilizzano google-cloud-pipeline-components.
Per scoprire come utilizzare una pipeline per creare un modello di classificazione del testo AutoML, consulta Tutorial: Pipeline di classificazione del testo AutoML utilizzando google-cloud-pipeline-components su GitHub.
Per altri notebook di tutorial, consulta i tutorial sui notebook di Vertex AI.
Passaggi successivi
- Scopri di più sull'SDK Vertex AI.