MLOPS: Modelos Machine Learning GCP

En este artículo hablaré como crear un pequeño flujo de datos para subir código y deploy un modelo de machine learning .

Jonathan Quiza
4 min readFeb 16, 2021

¿Que es Google Cloud Plataform?

Gooogle Cloud Platform, es una suite que contiene diversos servicios que funcionan en la misma infraestructura que utiliza Google de manera interna, por ejemplo con servicios como Youtube o Google Search. El conjunto de herramientas que proporciona la suite abarca Cloud Computing, Networking, Data Storage, Data Analytics, Machine learning, etc.

Google Cloud Platform (GCP) es una plataforma poderosa que brinda la flexibilidad y confiabilidad de la infraestructura de Google a sus proyectos. Como líder en inteligencia artificial, aprendizaje automático y redes, GCP tiene un conjunto de herramientas y servicios para que los desarrolladores lo utilicen en casi cualquier circunstancia.
se puede trabajar una canalización de CI / CD en GCP.

Git

Crear un CI/CD GCP Machine learning

Ejemplo

primer paso crear un repositorio de datos

crear un repositorio , poner un nombre y si desea alguno privilegios

ahora toca subir el código al repositorio

En este caso estamos creando un repositorio y vamos a subir nuestro codigo al git

crear secretos gcp

Secret Manager permite almacenar, administrar y acceder a secretos como blobs binarios o cadenas de texto. Con los permisos adecuados, puede ver el contenido del secreto. Un sistema de gestión de claves , como Cloud KMS, le permite gestionar claves criptográficas y utilizarlas para cifrar o descifrar datos.

Acá lo que realizamos en administrar variables de entorno de nuestra aplicación para que no estén dentro del código.

configurar Cloud build

Cloud Build ejecuta la compilación como una serie de pasos de compilación, en los que cada uno se ejecuta en un contenedor de Docker.

Acá creamos una configuración enlazamos nuestro repositorio y decimos que se ejecute cuando haya un commit de la rama “development”
esta configuración puede variar, también se puede administrar para ciertos tipo de branchs y logs como se arma el pipeline de secuencias este también se puede visualizar en un archivo dentro google storage

configuración del proyecto

acá tengo un proyecto para producción que usa modelos para ambos ahorita muestra todo la estructura:
main.py : para producción el commit solo sube los cambios
main_local.py :es para ejecutar en mi maquina para verificar que el modelo y el proceso primero funcione correctamente.

dockerignore: para ignorar archivos

gloudignore: para ignorar algunos archivos del gcp

gitignore: para ignorar archivos del proyecto

cloudbuild.yaml: mi configuración de mi despliege pipeline

contributors: si en caso somo mas integrantes en el proyecto aca se nombra

requirements: aca son las librerias que hemos usado(gcp, spark, serveles)

migrations: si tenemos versiones del codigo

utils: extracción de funciones globales

Conclusión

Es muy interesante poder tener una interface que se pueda configurar todo el proyecto de machine learning en la nube y con scalabilidad algunos recurso que vimos son:

  • Git
  • Spark
  • CI/CD
  • python

Espero le hayas gustado esta publicación sobre como integrar CI/CD

linkedin:

Gracias

--

--

Jonathan Quiza
Jonathan Quiza

Written by Jonathan Quiza

Lead ML Engineer / Data science / Machine Learning / MLops

No responses yet