O Vertex AI oferece um serviço de preparação gerido que lhe permite operacionalizar a preparação de modelos em grande escala. Pode ativar o acompanhamento de experiências usando o SDK Vertex AI para Python para capturar parâmetros e métricas de desempenho quando enviar a tarefa de preparação personalizada.
Esta funcionalidade não está disponível quando:
- enviar uma tarefa de preparação através da Google Cloud consola ou da CLI do Google Cloud,
- usar a TPU na tarefa de treino,
- Usar a preparação distribuída na tarefa de preparação.
São suportados contentores de preparação pré-criados e contentores personalizados. Obrigatório: ter instalada uma versão do SDK Vertex AI para Python superior a 1.24.1 para google-cloud-aiplatform. Se estiver a fazer o treino com o TensorFlow, certifique-se de que tem instalada a versão do protobuf inferior a 4.0 para evitar conflitos.
Existem duas opções para registar dados no Vertex AI Experiments: o registo automático e o registo manual.
A registo automático é recomendado se estiver a usar uma destas frameworks suportadas: Fastai, Gluon, Keras, LightGBM, Pytorch Lightning, Scikit-learn, Spark, Statsmodels, XGBoost. Se a sua framework não for suportada ou existirem métricas personalizadas que quer registar na execução da experiência, pode adaptar manualmente o script de preparação para registar parâmetros, métricas e artefactos.
Dados do AutoLog
Para ativar o registo automático, basta definir enable_autolog=True
,
consulte from_local_script
.
Tem a opção de criar uma execução de experiência ou não. Se não for especificado um nome para a experiência, é criado um para si.
O SDK Vertex AI para Python processa a criação de recursos ExperimentRun por si.
Python
project
: . Pode encontrar estes IDs dos projetos na página de Google Cloud consola de boas-vindas.location
: consulte a lista de localizações disponíveis.staging_bucket
: o nome que deu ao seu contentor, por exemplo,my_bucket
.display_name
: o nome definido pelo utilizador do CustomJob.script_path
: o caminho, relativo ao diretório de trabalho no seu sistema de ficheiros local, para o script que é o ponto de entrada para o seu código de preparação.container_uri
: O URI da imagem do contentor de preparação pode ser um contentor de preparação pré-criado do Vertex AI ou um contentor personalizadoservice_account
: Consulte o artigo Crie uma conta de serviço com as autorizações necessárias.experiment
: indique um nome para a sua experiência. A experiência tem de ter uma instância do TensorBoard. Pode encontrar a sua lista de experiências na Google Cloud consola selecionando Experiências na navegação da secção.experiment_run
: (opcional) especifique um nome de execução. Se não for especificado, é criado automaticamente um teste de execução.
Registe dados manualmente
Use a opção de registo manual de dados para incorporar o seu script de treino.
Veja como alterar o script de preparação:
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)
Tem a opção de criar uma execução de experiência ou não. Se não for especificado um nome para a experiência, é criado um para si.
Para saber mais, consulte o artigo Registe manualmente dados numa execução de experiência.
Python
project
: . Pode encontrar estes IDs dos projetos na página de Google Cloud consola de boas-vindas.location
: consulte a lista de localizações disponíveisstaging_bucket
: o nome que deu ao seu contentor, por exemplo,my_bucket
.display_name
: o nome definido pelo utilizador do CustomJob.script_path
: o caminho, relativo ao diretório de trabalho no seu sistema de ficheiros local, para o script que é o ponto de entrada para o seu código de preparação.container_uri
: O URI da imagem do contentor de preparação pode ser um contentor de preparação pré-criado do Vertex AI, ou um contentor personalizado. Se estiver a usar um contentor personalizado, certifique-se de quegoogle-cloud-aiplatform>=1.24.0
está instalado.service_account
: Consulte o artigo Crie uma conta de serviço com as autorizações necessárias.experiment
: indique um nome para a sua experiência. Pode encontrar a sua lista de experiências na Google Cloud consola selecionando Experiências na navegação da secção.experiment_run
: especifique um nome de execução. Se não for especificado, é criado automaticamente um teste.
Veja parâmetros e métricas registados automaticamente
Use o SDK do Vertex AI para Python para comparar execuções e obter dados de execuções. A Google Cloud consola oferece uma forma fácil de comparar estas execuções.