Hola, veo que el coste son unos 100USD al mes, se paga por el uso? O sea por el tiempo que se ejecuta, o se reservan los recursos y te cobran por tenerlo ahi todo el tiempo?
Hola Raquel, es una excelente pregunta.
En este caso es el costo del servidor; si tu recibes o no request de inferencia siempre pagaras el mismo valor.
Otra opción podría ser activar una cloud function o un cloud run que habilite un servidor, ejecute el código y apague el servidor, de esa forma únicamente pagarias el tiempo que se demora en hacer inferencia.
Depende mucho de que tipo de aplicaciones quieras crear.
Me cuentas,
saludos
Para implementar un flujo de MLOps en Google Cloud Platform (GCP), se pueden utilizar servicios como **Vertex AI**, **Cloud Storage**, **Cloud Build**, **Cloud Functions**, y **Artifact Registry**. A continuación, te guiaré en la configuración de un entorno básico de MLOps en GCP que incluye preparación de datos, entrenamiento de modelos, y despliegue en producción.
### 1. **Configurar el Proyecto en Google Cloud Platform**
Primero, necesitas un proyecto en GCP para alojar todos los recursos de la plataforma. Puedes hacerlo desde la consola de GCP o con el siguiente comando si tienes instalado el SDK de Google Cloud.
\# Configurar el proyecto de GCP
gcloud config set project \[PROJECT\_ID]
### 2. **Crear un Bucket en Google Cloud Storage**
Google Cloud Storage es ideal para almacenar datasets y modelos entrenados.
\# Crear un bucket de almacenamiento en GCP para los datos y modelos
gsutil mb -l us-central1 gs://\[NOMBRE\_BUCKET]
**Nota**: Reemplaza \[NOMBRE\_BUCKET] con un nombre único y \[PROJECT\_ID] con el ID de tu proyecto.
### 3. **Configurar Vertex AI para Entrenamiento de Modelos**
Vertex AI permite entrenar modelos a escala en GCP, ideal para entrenamientos de larga duración o grandes volúmenes de datos.
#### a. **Crear el Entorno de Entrenamiento en Vertex AI**
1. En la consola de Google Cloud, navega a **Vertex AI > Entrenamiento**.
2. Selecciona **Entrenamiento personalizado**.
3. Elige un tipo de máquina, por ejemplo, n1-standard-4, y configura el contenedor con una imagen de entrenamiento personalizada o una imagen preconfigurada de TensorFlow, PyTorch, o Scikit-learn.
#### b. **Subir el Script de Entrenamiento al Bucket de GCS**
Guarda tus scripts de entrenamiento (train.py, por ejemplo) en el bucket de GCS.
\# Subir el script de entrenamiento
gsutil cp src/train.py gs://\[NOMBRE\_BUCKET]/scripts/train.py
### 4. **Crear una Imagen de Entrenamiento Personalizada (Opcional)**
Si tu modelo requiere dependencias específicas, puedes crear una imagen Docker personalizada y alojarla en **Artifact Registry** para usarla en Vertex AI.
#### a. **Configurar Artifact Registry**
\# Crear un repositorio de Artifact Registry
gcloud artifacts repositories create my-repo --repository-format=docker --location=us-central1
#### b. **Crear y Publicar la Imagen Docker**
En tu proyecto, crea un archivo Dockerfile para tu entorno de entrenamiento personalizado:
1. **Versionar Datos y Código**: DVC y Git se encargan del versionado de datos y scripts.
2. **Entrenamiento Automatizado**: Cloud Build y Vertex AI orquestan el entrenamiento del modelo en la nube.
3. **Despliegue del Modelo**: Vertex AI sirve el modelo en un endpoint.
4. **Predicción en Tiempo Real**: Cloud Functions expone el modelo como una API para predicciones en tiempo real.
Este entorno en Google Cloud Platform se puede escalar para incluir más funcionalidades avanzadas como monitorización de modelos, tuning de hiperparámetros y mantenimiento continuo del pipeline, logrando una solución de MLOps completa.