En esta página se explica cómo entrenar un modelo de clasificación de AutoML a partir de un conjunto de datos de texto con la Google Cloud consola o la API de Vertex AI.
Entrenar un modelo de AutoML
Google Cloud consola
En la Google Cloud consola, en la sección Vertex AI, vaya a la página Conjuntos de datos.
Haga clic en el nombre del conjunto de datos que quiera usar para entrenar su modelo y abra su página de detalles.
Haz clic en Entrenar un modelo nuevo.
En el método de entrenamiento, selecciona
AutoML.Haz clic en Continuar.
Introduzca un nombre para el modelo.
Si quieres definir manualmente cómo se dividen los datos de entrenamiento, despliega Opciones avanzadas y selecciona una opción de división de datos. Más información
Haz clic en Start Training (Iniciar entrenamiento).
El entrenamiento del modelo puede llevar muchas horas, en función del tamaño y la complejidad de los datos, así como del presupuesto de entrenamiento, si has especificado uno. Puedes cerrar esta pestaña y volver a ella más adelante. Recibirás un correo cuando tu modelo haya terminado de entrenarse.
API
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Crea un objeto TrainingPipeline
para entrenar un modelo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que se creará el modelo, como
us-central1
- PROJECT: tu ID de proyecto
- MODEL_DISPLAY_NAME: nombre del modelo tal como aparece en la interfaz de usuario
- MULTI-LABEL: valor booleano que indica si Vertex AI entrena un modelo multietiqueta. El valor predeterminado es
false
(modelo de una sola etiqueta). - DATASET_ID: ID del conjunto de datos.
- PROJECT_NUMBER: el número de proyecto generado automáticamente de tu proyecto
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Cuerpo JSON de la solicitud:
{ "displayName": "MODEL_DISPLAY_NAME", "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": MULTI-LABEL }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME" }, "inputDataConfig": { "datasetId": "DATASET_ID" } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/us-central1/trainingPipelines/PIPELINE_ID", "displayName": "MODEL_DISPLAY_NAME", "inputDataConfig": { "datasetId": "DATASET_ID" }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": MULTI-LABEL }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME" }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-04-18T01:22:57.479336Z", "updateTime": "2020-04-18T01:22:57.479336Z" }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Controlar la división de datos mediante REST
Puedes controlar cómo se divide tu conjunto de datos de entrenamiento entre los conjuntos de entrenamiento, validación y prueba. Cuando uses la API de Vertex AI, usa el objeto Split
para determinar la división de tus datos. El objeto Split
se puede incluir en el objeto InputConfig
como uno de los varios tipos de objetos, cada uno de los cuales proporciona una forma diferente de dividir los datos de entrenamiento. Solo puedes seleccionar un método.
-
FractionSplit
:- TRAINING_FRACTION: la fracción de los datos de entrenamiento que se va a usar en el conjunto de entrenamiento.
- VALIDATION_FRACTION: la fracción de los datos de entrenamiento que se va a usar en el conjunto de validación. No se usa para los datos de vídeo.
- TEST_FRACTION: la fracción de los datos de entrenamiento que se va a usar en el conjunto de pruebas.
Si se especifica alguna de las fracciones, deben especificarse todas. La suma de las fracciones debe ser 1,0. Los valores predeterminados de las fracciones varían en función del tipo de datos. Más información
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: los elementos de datos que coincidan con este filtro se usarán en el conjunto de entrenamiento.
- VALIDATION_FILTER: los elementos de datos que coinciden con este filtro se usan en el conjunto de validación. Debe ser "-" para los datos de vídeo.
- TEST_FILTER: los elementos de datos que coinciden con este filtro se usan en el conjunto de prueba.
Estos filtros se pueden usar con la etiqueta ml_use
o con cualquier etiqueta que aplique a sus datos. Consulte más información sobre cómo usar la etiqueta ml-use y otras etiquetas para filtrar sus datos.
En el siguiente ejemplo se muestra cómo usar el objeto filterSplit
con la etiqueta ml_use
y el conjunto de validación incluido:
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }