¿Quieres que todo el mundo pruebe ese modelo de ML tan guay que has hecho para clasificar perros y gatos? ¿O quieres poder desplegar tu modelo para crear tu propio portfolio? Tanto si quieres una cosa u otra, seguro que te interesa el webinar que celebramos hace unos días con Alejandro Díaz, Machine Learning Engineer trabajando actualmente en Australia, donde aprendimos la importancia de un portfolio en el mundo de la programación. Además desarrollamos y desplegamos una aplicación para poder empezar a crear nuestro propio portfolio.
Junto a este artículo puedes ver el webinar de creación de portfolio y también acceder a la presentación.
Un portfolio es mucho más que un currículum, de hecho es una prueba de que eres capaz de hacer lo que mencionas en tu CV. Además de que resulta en algo extremadamente diferenciador a la hora de tu próxima entrevista.
¿Realmente merece la pena?...Sin dudas! Aunque es verdad que requiere tiempo y paciencia y debe ser mantenido a lo largo del tiempo, pero el resultado merece la pena. Como hemos dicho antes, un portfolio que recoja todos tus proyectos puede servir para marcar la diferencia en una oferta de trabajo. Además te permite crear tu propia marca, tu propia seña de identidad.
No hace falta tener 200 proyectos, contribuciones a proyectos open-sources, haber trabajado para el propio Bill Gate… Nada de eso. Simplemente necesitas repasar los proyectos en los que hayas trabajado o probado (incluso el tutorial de object-recognition de TensorFlow), tiempo y ganas para poder presentarlos de una forma clara y elegante en tu nuevo portfolio. Y si crees que no tienes ningún proyecto, el mero hecho de hacerlo ya es uno! ? Aunque no te preocupes porque vamos a desarrollar una aplicación para que puedas incluirla en tu portfolio y además aprendas a desplegar tus modelos de ML. ¡Así todo el mundo los pueda probar!
En el webinar vimos como implementar una aplicación para generar texto usando el famoso modelo GPT-2. Usamos flask para crear nuestro servicio y docker para encapsularlo, finalmente desplegamos el servicio en Cloud Run (una de las opciones serverless de Google Cloud). Aquí puedes comprobar el resultado final. ?
Lo primero que hicimos fue crearnos una cuenta de Google Cloud, además de descargarnos el SDK de Google Cloud, es decir, la interfaz de comandos (cli). Simplemente seguimos las instrucciones de este tutorial para poder configurar nuestra cuenta.
Cloud Run nos permite desplegar y exponer nuestro servicio sin necesidad de otra herramienta. Podríamos haberlo desplegado en AWS, pero es un poco “complicado” desplegar imágenes Docker en funciones AWS Lambda, además hubiéramos necesitado usar API Gateway para exponer el servicio. También es una posibilidad desplegarlo en AWS Fargate, pero en ese caso hubiéramos necesitado un container orchestrator (ECS o EKS) y la facturación es por segundo. En el caso de AWS Lambda y Cloud Run, la facturación es por bloques de 100 ms, normalmente AWS Fargate suele ser usado en casos donde el tiempo de cómputo es mayor.
Para poder usar Cloud Run es necesario que habilitemos la API desde la consola de Google Cloud, para ello simplemente accedemos a Cloud Run y creamos un servicio (no hace falta crear el servicio por completo, simplemente con clicar en “Create Service” ya se activa la API).
Ahora ya podemos empezar a desarrollar nuestro código, para ello hemos creado un template que completamos en el webinar, en caso de que quieras tener el código completo puedes descargarte la rama master y seguir las instrucciones para ejecutarlo, pero te aconsejamos que revises el vídeo del webinar.?
Una vez que tenemos el código acabado y testeado en nuestro local, podemos hacer push de nuestra imágen Docker a Google Cloud. Para ello, simplemente debemos ejecutar las siguientes líneas en un terminal:
docker tag text-generator-gpt2:latest eu.gcr.io/text-generator-gpt-2/text-generator-gpt2:latest
docker push eu.gcr.io/text-generator-gpt-2/text-generator-gpt2:latest
Normalmente suele tardar unos minutos, pero cuando finalice el proceso podremos ir a Cloud Run, recuerda que es importante marcar “Allow unauthenticated invocations” para que nuestro servicio funcione.
Si todo ha ido bien, el servicio se habrá desplegado correctamente y ya tendrás el primer proyecto que podrás incluir en tu propio portfolio!! ?
IMMUNE Technology Institute, con la colaboración de Spanish Startups, ha preparado un Datathon el 19 de septiembre donde podrás aprender y asistir a charlas muy parecidas a esta con los mejores expertos en Data Science.
Además hemos organizado varias varias masterclass y desafíos de Data Science donde podrás poner a prueba tus conocimientos y lo mejor de todo es que ¡¡tendrán premio!!
¡Que no pare la cosa! Debido a la demanda de información sobre nuestro Master Data Science, hemos organizado una sesión informativa el 24 de septiembre con Mónica Villas, directora del programa, para resolver todas las dudas.
IMMUNE puede ayudarte a impulsar tu carrera a través de sus empresas partners y contactos con recruiters y profesionales del sector, no dudes en apuntarte si quieres más información sobre nuestros programas.
Este artículo ha sido escrito por: Alejandro Diaz Santos— (LinkedIn, GitHub)