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 scoprire come eseguire una pipeline Kubeflow Pipelines (KFP), consulta il tutorial su GitHub Strutture di controllo delle pipeline con l'SDK KFP.
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: Pipeline di classificazione delle immagini AutoML con google-cloud-pipeline-components su GitHub.
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 ulteriori tutorial sui blocchi note, vedi Tutorial sui blocchi note Vertex AI.
Passaggi successivi
- Scopri di più sulla SDK Vertex AI.