AWS, Azure y GCP

Publicado por

Al momento de construir un modelo de machine learning nos hacemos la pregunta ¿En qué plataforma lo construyó?, esta es una inquietud que nos surge buscando que la construcción de nuestro modelo facilite la implementación de código, integración con otros servicios y que tan amigable es la herramienta, además de las facilidades para la automatización del modelo; dados algunos de estos ítems a tener en cuenta, las plataformas mas comunes que buscamos utilizar son Amazon, Microsoft Azure y Google Cloud Platform.

Realizando una visión general de cada plataforma encontramos algunos servicios con algunas particularidades y que podemos elegir dependiendo como queremos implementar nuestro modelo, vamos a ver algunos de ellos, por ejemplo, AWS tiene para construcción de modelos SageMaker, Azure nos ofrece dos alternativas Azure Machine Learning Studio, Machine Learning Automated y GCP con AI Platform.

AWS nos presenta como una de sus alternativas SageMaker Studio, cuenta con interfaz de Notebooks de Jupyter en el cual se puede desarrollar código, al ser web su acceso es fácil y dinámico, permitiendo comprobar rápidamente como se ven afectados los cambios a través de una visualización en paralelo.

alt

Además se pueden compartir a otros usuarios obteniendo la misma interfaz almacenada en el mismo lugar. Sagemaker también cuenta con plantillas prediseñadas con modelos y algoritmos, lo que facilita y ahorra tiempo en la creación del modelo.
Otra buena opción de AWS es SageMaker Autopilot el cual permite crear modelos de aprendizaje de manera automática, lo que hace Autopilot es realizar una inspección con la data que tenemos y genera como resultado sugerencias de conjuntos de algoritmos a utilizar de acuerdo con la data suministrada, además también realiza tuneo de los modelos y los clasifica por rendimiento. Finalmente indica cual sería el mejor modelo con el mejor desempeño y muestra los resultados de cada uno de los modelos que experimentó. Lo único que tenemos que hacer es seleccionar con cual nos quedamos en términos de precisión y latencia, es una muy buena opción cuando se requiere crear un modelo rápidamente o si no se cuenta con experiencia para crear modelos con código. Los Frameworks compatibles con SageMaker son TensorFlow, PyTorch, Apache MXNet, Chainer, Keras, Gluon, Horovod, Scikit-learn y Deep Graph Library.
Amazon cuenta con Amazon Machine Learning que esta diseñado para aquellos que no estan familiarizados con tecnicas de aprendizaje automatico o con código, es una muy buena opcion para cuando se requeire crear un modelo en tiempo record.

Ahora demos un vistazo a algunas de las soluciones que nos brinda Azure en cuanto creación de modelos de Machine Learning, nos presenta la opción de Azure Machine Learning Studio que permite usar interfaz de código a través del uso de notebooks de Jupyter o la opción de crear un modelo moviendo componentes con cada paso en el proceso de creación del modelo sin necesidad de utilizar código, estas dos funcionalidades aplican para aquellos que quieran desarrollar su modelo con código o para aquellos que no son muy amigos del código, adicional también nos permite tener un mix de ambos, se pueden utilizar componentes introduciendo algunas líneas de código. Esto permite personalizar modelos rápidamente, realizar iteraciones, validaciones, entre otros criterios del modelo. Tambien facilita el deploy del modelo, ya sea realizando las predicciones en batch o también a través de un archivo .xlsx que nos permite hacer las predicciones con solo colocar nuestros nuevos datos, es una buena opción para aquellos que no están tan familiarizados con código.

alt

Azure también nos permite utilizar herramientas de desarrollo como Visual Code, permite el uso de PyTorch, TensorFlow y scikit-learn, CLI, y lenguajes como Python y R.

Otra de las posibilidades que nos enseña Azure es Machine Learning automated, es una interfaz que permite crear modelos sin necesidad de código, pero en caso de que se requiera utilizar código, también se puede hacer a través de notebooks de Jupyter, esta herramienta nos permite realizar ajustes al modelo como iteraciones, definir umbrales y demás criterios del modelo.

Esta alternativa también nos permite ver el resultado en paralelo de los modelos para el resultado que mejor se ajuste. Azure como las demás nubes también cuentan con herramientas para implementación de modelos a través de código que no abordaremos en este post.

alt

Por último, demos un vistazo a algunos de los servicios que nos brinda Google Cloud Platform para crear modelos de machine learning. Uno de los servicios que nos brinda es AI Platform a través de la selección de maquinas para un entrenamiento distribuido y acelerar el proceso de GPU y TPU.
Como las demás plataformas, Google también cuentan con la opción de Notebooks de Jupyter en Cloud Datalab, que te permite explorar, analizar, transformar y visualizar datos, así como también compilar modelos de aprendizaje automático que se ejecutan en Compute Engine, también permite analizar los datos en BigQuery, en caso de requerir permite escalabilidad, otra opción es Google Colab que es un Notebook en el que puedes ejecutar tu código en Python y se integra muy bien para quienes tienen su infraestructura GCP, además permite compartirse con otros usuarios.
Google también cuenta con un servicio para aquellos que no son muy amigos del código, son los algoritmos integrados que se encuentran en AI Platform Training, solo cargas la data, seleccionas el algoritmo y listo las predicciones se obtienen en AI Platform Training, de igual manera permite el ajuste de hiperparametros y otros criterios del modelo.

Hemos visto algunas de las herramientas que nos presentan las plataformas de AWS, Azure y GCP para la creación de modelos de machine learning, de los cuales podemos escoger, existen otras herramientas y servicios que ofrecen y que son más detallados para el tipo de solución que pretendemos abordar.

¡Gracias por leernos, hasta la próxima!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *