Introducción
AI Platform es un conjunto de herramientas y servicios en Google Cloud Platform que permite a los desarrolladores y científicos de datos construir, entrenar y desplegar modelos de aprendizaje automático (ML) a escala. Este módulo te guiará a través de los conceptos básicos, la configuración y el uso de AI Platform para tus proyectos de ML.
Contenido
¿Qué es AI Platform?
AI Platform es una solución integral para el desarrollo de modelos de ML que incluye:
- Entrenamiento de modelos: Permite entrenar modelos en la nube utilizando recursos escalables.
- Despliegue de modelos: Facilita el despliegue de modelos entrenados para su uso en producción.
- Gestión de modelos: Proporciona herramientas para monitorear y gestionar modelos desplegados.
Configuración de AI Platform
Paso 1: Crear un proyecto en GCP
- Accede a la consola de GCP.
- Crea un nuevo proyecto o selecciona uno existente.
- Habilita la facturación para el proyecto.
Paso 2: Habilitar la API de AI Platform
- En la consola de GCP, navega a API & Services > Library.
- Busca "AI Platform" y habilita la API.
Paso 3: Configurar el entorno de desarrollo
- Instala el SDK de Google Cloud:
curl https://sdk.cloud.google.com | bash exec -l $SHELL gcloud init
- Autentica tu cuenta:
gcloud auth login
- Configura el proyecto:
gcloud config set project [PROJECT_ID]
Entrenamiento de modelos
Paso 1: Preparar los datos
- Sube tus datos a Google Cloud Storage (GCS):
gsutil cp [LOCAL_DATA_PATH] gs://[BUCKET_NAME]/[DATA_PATH]
Paso 2: Escribir el código de entrenamiento
- Crea un script de entrenamiento en Python (
train.py
):import tensorflow as tf def train_model(): # Cargar datos (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 # Definir el modelo model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ]) # Compilar el modelo model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy']) # Entrenar el modelo model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test, verbose=2) if __name__ == '__main__': train_model()
Paso 3: Enviar el trabajo de entrenamiento a AI Platform
- Sube el script de entrenamiento a GCS:
gsutil cp train.py gs://[BUCKET_NAME]/[SCRIPT_PATH]
- Enviar el trabajo de entrenamiento:
gcloud ai-platform jobs submit training [JOB_NAME]
--region us-central1
--module-name trainer.task
--package-path trainer/
--job-dir gs://[BUCKET_NAME]/[JOB_DIR]
--runtime-version 2.3
--python-version 3.7
Despliegue de modelos
Paso 1: Exportar el modelo entrenado
- Modifica el script de entrenamiento para guardar el modelo:
model.save('gs://[BUCKET_NAME]/[MODEL_PATH]')
Paso 2: Crear un modelo en AI Platform
- Crear el modelo:
gcloud ai-platform models create [MODEL_NAME]
--regions us-central1
Paso 3: Crear una versión del modelo
- Crear la versión:
gcloud ai-platform versions create [VERSION_NAME]
--model [MODEL_NAME]
--origin gs://[BUCKET_NAME]/[MODEL_PATH]
--runtime-version 2.3
--python-version 3.7
Monitoreo y gestión de modelos
- Utiliza la consola de GCP para monitorear el rendimiento del modelo.
- Configura alertas y métricas para asegurarte de que el modelo funcione correctamente.
Ejercicio práctico
Ejercicio: Entrenar y desplegar un modelo de clasificación de imágenes
- Objetivo: Entrenar un modelo de clasificación de imágenes utilizando el conjunto de datos MNIST y desplegarlo en AI Platform.
- Pasos:
- Prepara los datos y súbelos a GCS.
- Escribe un script de entrenamiento.
- Envía el trabajo de entrenamiento a AI Platform.
- Exporta y despliega el modelo.
- Solución:
- Sigue los pasos descritos en las secciones anteriores para completar el ejercicio.
Conclusión
En este módulo, has aprendido a utilizar AI Platform para entrenar, desplegar y gestionar modelos de aprendizaje automático en Google Cloud Platform. Con estas habilidades, puedes desarrollar y escalar tus proyectos de ML de manera eficiente y efectiva. En el próximo módulo, exploraremos AutoML y cómo puede simplificar aún más el proceso de desarrollo de modelos de ML.
Curso de Google Cloud Platform (GCP)
Módulo 1: Introducción a Google Cloud Platform
- ¿Qué es Google Cloud Platform?
- Configuración de tu cuenta de GCP
- Descripción general de la consola de GCP
- Comprensión de proyectos y facturación
Módulo 2: Servicios principales de GCP
Módulo 3: Redes y seguridad
Módulo 4: Datos y análisis
Módulo 5: Aprendizaje automático e IA
Módulo 6: DevOps y monitoreo
- Cloud Build
- Repositorios de código en la nube
- Cloud Functions
- Monitoreo de Stackdriver
- Cloud Deployment Manager
Módulo 7: Temas avanzados de GCP
- Híbrido y multi-nube con Anthos
- Computación sin servidor con Cloud Run
- Redes avanzadas
- Mejores prácticas de seguridad
- Gestión y optimización de costos