Vertex AI fornisce un servizio di addestramento gestito che ti consente di operazionalizzare l'addestramento di modelli su larga scala. Puoi attivare il monitoraggio degli esperimenti utilizzando l'SDK Vertex AI per Python per acquisire parametri e metriche di rendimento quando invii il job di addestramento personalizzato.
Questa funzionalità non è disponibile quando:
- invia un job di addestramento tramite la console Google Cloud o Google Cloud CLI,
- utilizzare la TPU nel job di addestramento,
- utilizza l'addestramento distribuito nel job di addestramento.
Sono supportati sia i container di addestramento predefiniti sia i container personalizzati. Obbligatorio: è installata una versione dell'SDK Vertex AI per Python superiore alla 1.24.1 per google-cloud-aiplatform. Se esegui l'addestramento con TensorFlow, assicurati che sia installata la versione di protobuf precedente alla 4.0 per evitare conflitti.
Esistono due opzioni per registrare i dati in Vertex AI Experiments: la registrazione automatica e la registrazione manuale.
La registrazione automatica è consigliata se utilizzi uno di questi framework supportati: Fastai, Gluon, Keras, LightGBM, Pytorch Lightning, Scikit-learn, Spark, Statsmodels, XGBoost. Se il tuo framework non è supportato o se ci sono metriche personalizzate che vuoi registrare nell'esecuzione dell'esperimento, puoi adattare manualmente lo script di addestramento per registrare parametri, metriche e artefatti.
Dati di AutoLog
Per attivare la registrazione automatica, imposta enable_autolog=True
,
vedi from_local_script
.
Hai la possibilità di
creare o meno un'esecuzione dell'esperimento. Se non viene specificato un nome per l'esperimento, ne viene creato uno per te.
L'SDK Vertex AI per Python gestisce la creazione delle risorse ExperimentRun per te.
Python
project
: il tuo ID progetto Puoi trovare questi ID progetto nella pagina di benvenuto della Google Cloud console.location
: consulta l'elenco delle località disponibili.staging_bucket
: il nome che hai dato al bucket, ad esempiomy_bucket
.display_name
: il nome definito dall'utente del CustomJob.script_path
: il percorso relativo alla directory di lavoro nel file system locale e in cui si trova lo script che funge da punto di ingresso per il codice di addestramento.container_uri
: l'URI dell'immagine del container di addestramento può essere un container di addestramento predefinito di Vertex AI o un container personalizzatoservice_account
: Consulta Creare un account di servizio con le autorizzazioni richieste.experiment
: fornisci un nome per l'esperimento. L'esperimento deve avere un'istanza TensorBoard. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nel menu di navigazione della sezione.experiment_run
: (facoltativo) specifica un nome di esecuzione. Se non specificato, viene creato automaticamente un run.
Registrare manualmente i dati
Utilizza l'opzione di registrazione manuale dei dati per incorporare il tuo script di allenamento.
Ecco come modificare lo script di addestramento:
import os
import pickle
import pandas as pd
from sklearn.linear_model import LinearRegression
# To use manual logging APIs, import aiplatform
from google.cloud import aiplatform
# Create Dataset
data = {'A': [1.1,2.2,4.1,5.2],
'B': [200, 212.12, 22, 123],
'Y': [1,0,1,0]}
df = pd.DataFrame(data)
X = df[['A', 'B']]
Y = df['Y']
# Train model
model = LinearRegression().fit(X, Y)
# Save the model to gcs
model_dir = os.getenv('AIP_MODEL_DIR')
model_gcs = model_dir.replace('gs://', '/gcs/')
model_name = 'model.joblib'
os.mkdir(model_gcs)
f = open(os.path.join(model_gcs, model_name), 'wb')
pickle.dump(model, f)
f = open(os.path.join(model_gcs, model_name), 'wb')
pickle.dump(model, f)
# Call aiplatform's logging APIs to save data to Vertex AI Experiments.
params = model.get_params()
aiplatform.log_params(params)
metrics = {"training_accuracy": model.score(X,Y)}
aiplatform.log_metrics(metrics)
Puoi scegliere di creare o meno un'esecuzione dell'esperimento. Se non viene specificato un nome per l'esperimento, ne viene creato uno per te.
Scopri di più in Registrare manualmente i dati in un'esecuzione di esperimento.
Python
project
: il tuo ID progetto Puoi trovare questi ID progetto nella pagina di benvenuto della Google Cloud console.location
: vedi Elenco delle località disponibilistaging_bucket
: il nome che hai dato al bucket, ad esempiomy_bucket
.display_name
: il nome definito dall'utente del CustomJob.script_path
: il percorso relativo alla directory di lavoro nel file system locale e in cui si trova lo script che funge da punto di ingresso per il codice di addestramento.container_uri
: l'URI dell'immagine del container di addestramento può essere un container di addestramento predefinito di Vertex AI o un container personalizzato. Se utilizzi un container personalizzato, assicurati chegoogle-cloud-aiplatform>=1.24.0
sia installato.service_account
: Consulta Creare un account di servizio con le autorizzazioni richieste.experiment
: fornisci un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nel menu di navigazione della sezione.experiment_run
: specifica un nome di esecuzione. Se non specificata, viene creato automaticamente un run.
Visualizzare parametri e metriche registrati automaticamente
Utilizza l'SDK Vertex AI per Python per confrontare le esecuzioni e ottenere i dati delle esecuzioni. La consoleGoogle Cloud offre un modo semplice per confrontare queste esecuzioni.