El SDK de Vertex AI incluye varias clases que puedes usar cuando entrenas tu modelo. La mayoría de las clases de entrenamiento se usan para crear, entrenar y mostrar tu modelo. Usa HyperparameterTuningJob
para ajustar los hiperparámetros del trabajo de entrenamiento. Usa PipelineJob
para administrar el flujo de trabajo de aprendizaje automático (AA) de modo que puedas automatizar y supervisar tus sistemas de AA.
En los siguientes temas, se proporciona una descripción de alto nivel de cada clase relacionada con el entrenamiento en el SDK de Vertex AI.
Clases de entrenamiento de AutoML para datos estructurados
El SDK de Vertex AI incluye las siguientes clases que se usan para entrenar un modelo estructurado de AutoML.
AutoMLForecastingTrainingJob
La clase AutoMLForecastingTrainingJob
usa el método de entrenamiento AutoML
para entrenar y ejecutar un modelo de previsión.
El método de entrenamiento AutoML
es una buena opción para la mayoría de los casos de uso de previsión. Si tu caso de uso no se beneficia de Seq2seq
ni del método de entrenamiento Temporal fusion transformer
que ofrecen las clases SequenceToSequencePlusForecastingTrainingJob
y TemporalFusionTransformerForecastingTrainingJob
, respectivamente, entonces es probable que AutoML
sea el mejor método de entrenamiento para las predicciones de previsión.
Para ver un código de muestra en el que se muestra cómo usar AutoMLForecastingTrainingJob
, consulta la muestra Crea una previsión de una canalización de entrenamiento en GitHub.
SequenceToSequencePlusForecastingTrainingJob
La clase SequenceToSequencePlusForecastingTrainingJob
usa el método de entrenamiento Seq2seq+
para entrenar y ejecutar un modelo de previsión.
El método de entrenamiento Seq2seq+
es una buena opción para experimentar. Su algoritmo es más simple y usa un espacio de búsqueda más pequeño que la opción AutoML
.
Seq2seq+
es una buena opción si deseas obtener resultados rápidos y tus conjuntos de datos tienen menos de 1 GB.
Para ver un código de muestra que indica cómo usar SequenceToSequencePlusForecastingTrainingJob
, consulta la muestra Seq2seq Crea una previsión de canalización de entrenamiento en GitHub.
TemporalFusionTransformerForecastingTrainingJob
La clase TemporalFusionTransformerForecastingTrainingJob
usa el método de entrenamiento del Transformador temporal de fusión (TFT) para entrenar y ejecutar un modelo de previsión. El método de entrenamiento del TFT implementa un modelo de red neuronal profunda (DNN) basado en la atención que usa una tarea de previsión de varios horizontes para producir predicciones.
Para ver un código de muestra que indica cómo usar TemporalFusionTransformerForecastingTrainingJob
, consulta la muestra Crea un transformador de fusión temporal para la predicción de canalización de entrenamiento en GitHub.
AutoMLTabularTrainingJob
Usar AutoMLTabularTrainingJob
representa un trabajo que crea, entrena y muestra un modelo tabular de AutoML. Para obtener más información sobre el entrenamiento de modelos tabulares y Vertex AI, consulta Datos tabulares y Descripción general de los datos tabulares.
En el siguiente fragmento de código de muestra, se indica cómo puedes usar el SDK de Vertex AI para crear y ejecutar un modelo tabular de 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,
)
Clases de entrenamiento de AutoML para datos no estructurados
El SDK de Vertex AI incluye las siguientes clases para entrenar modelos de imagen, texto y video no estructurados:
AutoMLImageTrainingJob
Usa la clase AutoMLImageTrainingJob
para crear, entrenar y mostrar un modelo de imagen. Para obtener más información sobre cómo trabajar con modelos de datos de imagen en Vertex AI, consulta Datos de imagen.
Para ver un ejemplo de cómo usar la clase AutoMLImageTrainingJob
, consulta el instructivo del notebook Clasificación de imágenes de AutoML.
AutoMLTextTrainingJob
Usa la clase AutoMLTextTrainingJob
para crear, entrenar y mostrar un modelo de texto. Para obtener más información sobre cómo trabajar con modelos de datos de texto en Vertex AI, consulta Datos de texto.
Para ver un ejemplo del uso de la clase AutoMLTextTrainingJob
, consulta el instructivo del notebook Modelo de entrenamiento de extracción de entidades de texto de AutoML para la predicción en línea.
AutoMLVideoTrainingJob
Usa la clase AutoMLVideoTrainingJob
para crear, entrenar y mostrar un modelo de video. Para obtener más información sobre cómo trabajar con modelos de datos de video en Vertex AI, consulta Datos de video.
Para ver un ejemplo del uso de la clase AutoMLVideoTrainingJob
, consulta el instructivo del notebook Modelo de entrenamiento de reconocimiento de acciones en video de AutoML para la predicción por lotes.
Clases de entrenamiento de datos personalizadas
Puedes usar el SDK de Vertex AI para automatizar un flujo de trabajo de entrenamiento personalizado. Si deseas obtener información sobre cómo usar Vertex AI para ejecutar aplicaciones de entrenamiento personalizadas, consulta Descripción general del entrenamiento personalizado.
El SDK de Vertex AI incluye tres clases que crean una canalización de entrenamiento personalizada. Una canalización de entrenamiento acepta un conjunto de datos administrado de Vertex AI que se usa para entrenar un modelo. A continuación, muestra el modelo después de que se completa el trabajo de entrenamiento. Cada una de las tres clases de canalizaciones de entrenamiento personalizadas crea una canalización de entrenamiento de manera diferente.
CustomTrainingJob
usa una secuencia de comandos de Python,
CustomContainerTrainingJob
usa un contenedor personalizado y CustomPythonPackageTrainingJob
usa un paquete de Python y un contenedor compilado previamente.
La clase CustomJob
crea un trabajo de entrenamiento personalizado, pero no es una canalización. A diferencia de una canalización de entrenamiento personalizada, la clase CustomJob
puede usar un conjunto de datos que no sea un conjunto de datos administrado de Vertex AI para entrenar un modelo y no muestra el modelo entrenado. Debido a que la clase acepta diferentes tipos de conjuntos de datos y no muestra un modelo entrenado, es menos automatizado y más flexible que una canalización de entrenamiento personalizada.
CustomTrainingJob
Usa la clase CustomTrainingJob
para iniciar una canalización de entrenamiento personalizada en Vertex AI con una secuencia de comandos.
Si deseas ver un ejemplo de cómo usar la clase CustomTrainingJob
, consulta el instructivo en el notebook de Entrenamiento personalizado del modelo de clasificación de imágenes para la predicción en línea con explicabilidad.
CustomContainerTrainingJob
Usa la clase CustomContainerTrainingJob
para usar un contenedor a fin de iniciar una canalización de entrenamiento personalizada en Vertex AI.
Para ver un ejemplo de cómo usar la clase CustomContainerTrainingJob
, consulta el instructivo del notebook Entrenamiento paralelo de datos distribuidos de nodos múltiples de clasificación de imágenes de PyTorch en GPU mediante Vertex AI Training con contenedor personalizado.
CustomPythonPackageTrainingJob
Usa la clase CustomPythonPackageTrainingJob
para usar un paquete de Python a fin de iniciar una canalización de entrenamiento personalizada en Vertex AI.
Para ver un ejemplo de cómo usar la clase CustomPythonPackageTrainingJob
, consulta el instructivo del notebook Entrenamiento personalizado con un paquete de Python, el conjunto de datos de texto administrado y el contenedor de entrega de TensorFlow.