En esta página, se muestra cómo entrenar un modelo de análisis de opiniones de AutoML a partir de un conjunto de datos de texto con la consola de Google Cloud o la API de Vertex AI.
Antes de comenzar
Antes de entrenar un modelo de análisis de opiniones de texto, debes completar lo siguiente:
Entrena un modelo de AutoML
Consola de Google Cloud
En la sección Vertex AI de la consola de Google Cloud, ve a la página Conjuntos de datos.
Haz clic en el nombre del conjunto de datos que deseas usar para entrenar tu modelo a fin de abrir su página de detalles.
Haga clic en Entrenar un modelo nuevo.
Para el método de entrenamiento, selecciona
AutoML.Haz clic en Continuar.
Ingresa un nombre para el modelo.
Si deseas configurar el forma en que se dividen los datos de entrenamiento, expande Opciones avanzadas y selecciona una opción de división de datos. Obtén más información.
Haga clic en Comenzar entrenamiento.
El entrenamiento de modelos puede tardar muchas horas, según el tamaño y la complejidad de tus datos y tu presupuesto de entrenamiento, si especificaste uno. Puedes cerrar esta pestaña y regresar a ella más tarde. Recibirás un correo electrónico cuando tu modelo haya finalizado el entrenamiento.
API
Selecciona una pestaña para tu idioma o entorno:
REST
Crea un objeto TrainingPipeline
para entrenar un modelo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La región en la que se creará el modelo, como
us-central1
- PROJECT: el ID del proyecto
- MODEL_DISPLAY_NAME: El nombre del modelo tal como aparece en la interfaz de usuario
- SENTIMENT_MAX: La puntuación máxima de las opiniones en tu conjunto de datos de entrenamiento
- DATASET_ID: El ID del conjunto de datos
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
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_sentiment_1.0.0.yaml", "trainingTaskInputs": { "sentimentMax": SENTIMENT_MAX }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME" }, "inputDataConfig": { "datasetId": "DATASET_ID" } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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_sentiment_1.0.0.yaml", "trainingTaskInputs": { "sentimentMax": SENTIMENT_MAX }, "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 instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Controla la división de datos mediante REST
Puedes controlar cómo se dividen los 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 datos. El objeto Split
se puede incluir en el objeto InputConfig
como uno de varios tipos de objeto, cada uno de los cuales proporciona una forma diferente de dividir los datos de entrenamiento. Puedes seleccionar solo un método.
-
FractionSplit
:- TRAINING_FRACTION: La fracción de los datos de entrenamiento que se usarán para el conjunto de entrenamiento.
- VALIDATION_FRACTION: La fracción de los datos de entrenamiento que se usarán para el conjunto de validación. No se usa para datos de video.
- TEST_FRACTION: La fracción de los datos de entrenamiento que se usarán para el conjunto de prueba.
Si se especifican cualquiera de las fracciones, se deben especificar todas. Las fracciones deben sumar hasta 1.0. Los valores predeterminados para las fracciones difieren según tu tipo de datos. Obtén más información.
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: los elementos de datos que coinciden con este filtro se usan para el conjunto de entrenamiento.
- VALIDATION_FILTER: los elementos de datos que coinciden con este filtro se usan para el conjunto de validación. Debe ser “-” para los datos de video.
- TEST_FILTER: los elementos de datos que coinciden con este filtro se usan para el conjunto de prueba.
Estos filtros se pueden usar con la etiqueta ml_use
o con cualquier etiqueta que apliques a tus datos. Obtén más información sobre cómo usar la etiqueta de ml-use y otras etiquetas a fin de filtrar tus datos.
En el siguiente ejemplo, se muestra cómo usar el objeto filterSplit
con la etiqueta ml_use
, con 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" }