L'SDK Vertex AI include diverse classi che utilizzi quando addestri il modello. La maggior parte delle classi di addestramento viene utilizzata per creare, addestrare e restituire il modello. Utilizza
HyperparameterTuningJob per ottimizzare gli iperparametri del job di addestramento. Utilizza il
PipelineJob per gestire il flusso di lavoro di machine learning (ML)
in modo da automatizzare e monitorare i sistemi di ML.
I seguenti argomenti forniscono una descrizione di alto livello di ogni classe correlata all'addestramento nell'SDK Vertex AI.
Classi di addestramento AutoML per 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.
Per un codice campione che mostra come utilizzare
AutoMLForecastingTrainingJob, consulta l'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 ulteriori informazioni sull'addestramento di modelli tabulari e sulla piattaforma di agenti Gemini Enterprise, consulta
Dati tabulari e Panoramica dei dati tabulari.
Il seguente codice campione 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 utilizza il metodo di addestramento Seq2seq+ per addestrare ed eseguire un modello di previsione.SequenceToSequencePlusForecastingTrainingJob
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 risultati rapidi e i tuoi set di dati sono inferiori a 1 GB.
Per un codice campione che mostra come utilizzare
SequenceToSequencePlusForecastingTrainingJob, consulta l'esempio di previsione della pipeline di addestramento Seq2seq su GitHub.
TemporalFusionTransformerForecastingTrainingJob
La classe
TemporalFusionTransformerForecastingTrainingJob
utilizza il metodo di addestramento Temporal Fusion Transformer (TFT) per addestrare ed
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 l'esempio di previsione della pipeline di addestramento Temporal Fusion Transformer
su GitHub.
TimeSeriesDenseEncoderForecastingTrainingJob
La classe
TimeSeriesDenseEncoderForecastingTrainingJob
utilizza il metodo di addestramento Time-series Dense Encoder (TiDE) per addestrare ed eseguire
un modello di previsione. TiDE utilizza un
perceptron multistrato (MLP) per fornire la
velocità dei modelli lineari di previsione con covariate e dipendenze non lineari.
Per ulteriori informazioni su TiDE, consulta
i recenti progressi nella previsione profonda a lungo termine
e questo
post del blog TiDE.
Classi di addestramento AutoML per dati non strutturati
L'SDK Vertex AI include le seguenti classi per addestrare modelli di immagini non strutturate:
AutoMLImageTrainingJob
Utilizza la AutoMLImageTrainingJob classe per
creare, addestrare e restituire un modello di immagini. Per ulteriori informazioni sull'utilizzo
dei modelli di dati immagine nella piattaforma di agenti Gemini Enterprise, consulta
Dati immagine.
Per un esempio di come utilizzare la
AutoMLImageTrainingJob classe, consulta il
tutorial nel blocco note di classificazione
delle immagini AutoML.
Classi di addestramento di dati personalizzati
Puoi utilizzare l'SDK Vertex AI per automatizzare un flusso di lavoro di addestramento personalizzato. Per informazioni sull'utilizzo della piattaforma di agenti Gemini Enterprise per eseguire applicazioni di addestramento personalizzato, consulta Panoramica dell'addestramento personalizzato.
L'SDK Vertex AI include tre classi che creano una pipeline di addestramento personalizzata. Una pipeline di addestramento accetta un set di dati gestito dalla piattaforma di agenti Gemini Enterprise che utilizza per addestrare un modello. Poi restituisce il modello al termine del job di addestramento. Ognuna delle tre classi di pipeline di addestramento personalizzate crea una pipeline di addestramento in modo diverso.
CustomTrainingJob utilizza uno script Python,
CustomContainerTrainingJob utilizza un
container personalizzato e
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
CustomJob classe può utilizzare un set di dati che non è un
set di dati gestito dalla piattaforma di agenti Gemini Enterprise 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 CustomContainerTrainingJob
classe per utilizzare un container per avviare una pipeline di addestramento personalizzata nella piattaforma di agenti Gemini Enterprise.
Per un esempio di come utilizzare la
CustomContainerTrainingJob classe,
consulta il tutorial nel blocco note Addestramento parallelo distribuito su più nodi per la classificazione delle immagini PyTorch
su GPU utilizzando l'addestramento della piattaforma di agenti Gemini Enterprise con container personalizzato.
CustomJob
Utilizza la classe CustomJob per utilizzare uno script per avviare un job di addestramento personalizzato
nella piattaforma di agenti Gemini Enterprise.
Un job di addestramento è più flessibile di una pipeline di addestramento perché non sei limitato a caricare i dati in un set di dati gestito dalla piattaforma di agenti Gemini Enterprise e un riferimento al modello non viene registrato al termine del job di addestramento. Ad
esempio, potresti voler utilizzare la CustomJob classe, il relativo
from_local_script
metodo e uno script per caricare un set di dati da
scikit-learn o
TensorFlow. In alternativa, potresti voler analizzare o testare il modello addestrato prima di registrarlo nella piattaforma di agenti Gemini Enterprise.
Per ulteriori informazioni sui job di addestramento personalizzato, inclusi i requisiti prima dell'invio di un job di addestramento personalizzato, cosa include un job personalizzato e un esempio di codice Python, consulta Creare job di addestramento personalizzato.
Poiché il
CustomJob.run
non restituisce il modello addestrato, devi utilizzare uno script per scrivere l'artefatto
del modello in una località, ad esempio un bucket Cloud Storage. Per ulteriori informazioni,
consulta Esportare un modello ML addestrato.
Il seguente codice campione 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
CustomPythonPackageTrainingJob
classe per utilizzare un pacchetto Python per avviare una pipeline di addestramento personalizzata nella
piattaforma di agenti Gemini Enterprise.
Per un esempio di come utilizzare la
CustomPythonPackageTrainingJob
classe, consulta il tutorial nel blocco note Addestramento personalizzato utilizzando il pacchetto Python, il set di dati di testo gestito e il container di pubblicazione TensorFlow.
CustomTrainingJob
Utilizza la classe CustomTrainingJob per avviare una
pipeline di addestramento personalizzata nella piattaforma di agenti Gemini Enterprise con uno script.
Per un esempio di come utilizzare la
CustomTrainingJob classe, consulta il tutorial in
the
Modello di classificazione delle immagini di addestramento personalizzato per la previsione online con
spiegabilità
notebook.
Classe 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 ottimizzando le variabili (note come iperparametri) che regolano il processo di addestramento. Per ulteriori informazioni, consulta Panoramica dell'ottimizzazione degli iperparametri tuning.
HyperparameterTuningJob
Utilizza la HyperparameterTuningJob classe
per automatizzare l'ottimizzazione degli iperparametri in un'applicazione di addestramento.
Per scoprire come utilizzare la classe HyperparameterTuningJob per creare e ottimizzare un modello con addestramento personalizzato, consulta il tutorial
sull'ottimizzazione degli iperparametri su GitHub.
Per scoprire come utilizzare la classe HyperparameterTuningJob per eseguire un job di ottimizzazione degli iperparametri della piattaforma di agenti Gemini Enterprise per un modello TensorFlow, consulta il tutorial
Eseguire l'ottimizzazione degli iperparametri per un modello TensorFlow su GitHub.
Classe di addestramento della pipeline
Una pipeline orchestra il flusso di lavoro di ML nella piattaforma di agenti Gemini Enterprise. Puoi utilizzare una pipeline per automatizzare, monitorare e gestire i tuoi sistemi di machine learning. Per saperne di più sulle pipeline nella piattaforma di agenti Gemini Enterprise, consulta Introduzione alle pipeline della piattaforma di agenti Gemini Enterprise.
PipelineJob
Un'istanza della classe PipelineJob rappresenta una pipeline della piattaforma di agenti Gemini Enterprise.
Esistono diversi blocchi note tutorial che mostrano come utilizzare la PipelineJob classe:
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 previsioni in batch con una pipeline della piattaforma di agenti Gemini Enterprise, consulta il tutorial Addestramento e previsioni in 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 della piattaforma di agenti Gemini Enterprise, consulta il tutorial Pipeline di classificazione delle immagini AutoML utilizzando google-cloud-pipeline-components su GitHub.
Per altri blocchi note tutorial, consulta Tutorial sui blocchi note della piattaforma di agenti Gemini Enterprise.
Passaggi successivi
- Scopri di più sull' SDK Vertex AI.