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

  1. Accede a la consola de GCP.
  2. Crea un nuevo proyecto o selecciona uno existente.
  3. Habilita la facturación para el proyecto.

Paso 2: Habilitar la API de AI Platform

  1. En la consola de GCP, navega a API & Services > Library.
  2. Busca "AI Platform" y habilita la API.

Paso 3: Configurar el entorno de desarrollo

  1. Instala el SDK de Google Cloud:
    curl https://sdk.cloud.google.com | bash
    exec -l $SHELL
    gcloud init
    
  2. Autentica tu cuenta:
    gcloud auth login
    
  3. Configura el proyecto:
    gcloud config set project [PROJECT_ID]
    

Entrenamiento de modelos

Paso 1: Preparar los datos

  1. 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

  1. 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

  1. Sube el script de entrenamiento a GCS:
    gsutil cp train.py gs://[BUCKET_NAME]/[SCRIPT_PATH]
    
  2. 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

  1. Modifica el script de entrenamiento para guardar el modelo:
    model.save('gs://[BUCKET_NAME]/[MODEL_PATH]')
    

Paso 2: Crear un modelo en AI Platform

  1. Crear el modelo:
    gcloud ai-platform models create [MODEL_NAME] 
    --regions us-central1

Paso 3: Crear una versión del modelo

  1. 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

  1. Utiliza la consola de GCP para monitorear el rendimiento del modelo.
  2. 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

  1. Objetivo: Entrenar un modelo de clasificación de imágenes utilizando el conjunto de datos MNIST y desplegarlo en AI Platform.
  2. 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.
  3. 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.

© Copyright 2024. Todos los derechos reservados