Successfully reported this slideshow.
Your SlideShare is downloading. ×

¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos

Ad

¡Oh, un modelo de ML, vamos
a desplegarlo!
-
Machine learning para
adultos
(Apto para todos los públicos)
PyCon Es 2021

Ad

¿Qué os vamos a contar?
Taller super práctico, aquí venimos a cacharrear.
● Machine Learning - NLP
● Webs
● Productivizaci...

Ad

¿Quienes somos?
● Lino, Ricardo y Kike
● Nos conocimos en Savana
● Somos miembros de cobetes.tech
○ Una pequeña asociación...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Check these out next

1 of 47 Ad
1 of 47 Ad

¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos

Download to read offline

¿Alguna vez te has encontrado con un modelo de Machine Learning y no has sabido qué hacer con él?
¿Alguna vez has querido poner en producción un modelo de Machine Learning?
¿Alguna vez has querido hacer una aplicación web con python sin tener que tocar una sola línea de HTML o CSS?
¿Alguna vez has querido trabajar con Integración Continua y Despliegue Continuo (CI/CD) ?
¿Alguna vez has querido trabajar con Cloud Computing?

Si has contestado afirmativamente a alguna pregunta... o a todas, este es tu taller. Vamos a cacharrear con Heroku, Streamlit, Git y Scikit-Learn. Aprenderás nociones generales de estas tecnologías y te llevarás un proyecto completo de inicio a fin que te servirá para ir jugando y adaptándolo para tus propios ejemplos o necesidades. Conseguirás que tus usuarios puedan interactuar con tus modelos de una forma amigable mediante una interfaz web.

Conocimientos mínimos: este es un taller introductorio, pero necesitamos que sepas manejarte un poco con Python, con la terminal y nociones muy básicas de git. Si no las tienes, pero sabes programar, no te preocupes, porque en un fin de semana, si te pones con ganas, puedes coger los conceptos básicos para poder aprovechar este taller.

Requisitos: ordenador con conexión a internet, acceso a una consola de git, cuenta en github (gratuita) y cuenta en heroku (gratuita).

¿Alguna vez te has encontrado con un modelo de Machine Learning y no has sabido qué hacer con él?
¿Alguna vez has querido poner en producción un modelo de Machine Learning?
¿Alguna vez has querido hacer una aplicación web con python sin tener que tocar una sola línea de HTML o CSS?
¿Alguna vez has querido trabajar con Integración Continua y Despliegue Continuo (CI/CD) ?
¿Alguna vez has querido trabajar con Cloud Computing?

Si has contestado afirmativamente a alguna pregunta... o a todas, este es tu taller. Vamos a cacharrear con Heroku, Streamlit, Git y Scikit-Learn. Aprenderás nociones generales de estas tecnologías y te llevarás un proyecto completo de inicio a fin que te servirá para ir jugando y adaptándolo para tus propios ejemplos o necesidades. Conseguirás que tus usuarios puedan interactuar con tus modelos de una forma amigable mediante una interfaz web.

Conocimientos mínimos: este es un taller introductorio, pero necesitamos que sepas manejarte un poco con Python, con la terminal y nociones muy básicas de git. Si no las tienes, pero sabes programar, no te preocupes, porque en un fin de semana, si te pones con ganas, puedes coger los conceptos básicos para poder aprovechar este taller.

Requisitos: ordenador con conexión a internet, acceso a una consola de git, cuenta en github (gratuita) y cuenta en heroku (gratuita).

Advertisement
Advertisement

More Related Content

Advertisement

¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos

  1. 1. ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine learning para adultos (Apto para todos los públicos) PyCon Es 2021
  2. 2. ¿Qué os vamos a contar? Taller super práctico, aquí venimos a cacharrear. ● Machine Learning - NLP ● Webs ● Productivización del código ● CI/CD ● Cloud y PaaS No esperamos que conozcáis todas estas siglas. ¡Las vamos a explicar durante el taller!
  3. 3. ¿Quienes somos? ● Lino, Ricardo y Kike ● Nos conocimos en Savana ● Somos miembros de cobetes.tech ○ Una pequeña asociación (en construcción) ○ Queremos que sea una guild de backend y tecnología donde no importe en qué empresa trabajes. Lo que nos mueve es la tecnología y el conocimiento. cobetes.tech
  4. 4. ¿Quienes somos? - Lino ● Soy Lino ● Soy desarrollador y arquitecto cloud. ● En mis ratos libres aporreo una batería o hago gruñir una guitarra para liberar tensiones y, sobre todo, para molestar a mis vecinos. ● Me abrí un canal de Youtube porque no me quisieron en OnlyFans (son una panda de envidiosos).
  5. 5. ¿Quienes somos? - Ricardo ● Soy Ricardo Guerrero ● Soy Head of Data Science & Data Engineering ● En mi tiempo libre me gusta hacer artes marciales, tomarle el pelo a mis cobayas o ponerme camisas chillonas (pero solo en la playa)
  6. 6. ¿Quienes somos? - Enrique ● Soy Enrique Josue Alvarez Robles ● Data Scientist con grado universitario en Estadística Aplicada de la Universidad Complutense de Madrid y Máster de Machine learning y Estadística de la Universidad de Linköping en Suecia.
  7. 7. Forma de trabajo y gestión de expectativas Preguntas Guión y tiempos
  8. 8. Demo ¿Qué nos habéis traído? Demo
  9. 9. Lo que váis a montar vosotros Vais a montar vuestra propia aplicación, y no, no es la misma que os he enseñado, pero si parecida :-) Y la vais a desplegar y vais a poder enseñarsela a vuestros fans de Instagram
  10. 10. Pero antes de nada… comprobemos algo Tenemos que asegurarnos que tenemos preparado lo mínimo imprescindible para arrancar: 1. ¿Cuenta de Github? 2. ¿Cuenta de Heroku? 3. ¿Qué sistema operativo tenéis? 4. ¿Python? ¿Pip? ¿Virtualenv? 5. ¿Git? 6. ¿Heroku cli?
  11. 11. Github https://github.com/
  12. 12. Heroku https://www.heroku.com/
  13. 13. ¿Sistema Operativo? - Linux y Mac: usaremos la terminal - Windows: Powershell
  14. 14. Python - Versión 3.6 o superior. - La instalación depende del sistema operativo que uséis.
  15. 15. Git (instalación) - MacOs y Linux: suelen tenerlo disponible - La instalación depende del sistema operativo que uséis.
  16. 16. Git (configuración) - Configurar el usuario y el email global: terminal de Linux/Mac o Powershell
  17. 17. Heroku cli https://devcenter.heroku.com/articles/getting-started-with-python#set-up
  18. 18. Pip y virtualenv - Seguir instrucciones del manual de instalación. - Quienes hayan instalado python mediante conda por el momento no hacer nada.
  19. 19. ¡Forkeamos! https://github.com/cobetes-tech/PyConEs2021-Parte2
  20. 20. ¡Clonamos! En cada proyecto personal
  21. 21. Entorno Virtual Python ¿Qué es? Es un entorno de python aislado que contiene una copia del intérprete de python y las librerías básicas. Se puede activar y desactivar a petición y cualquier cambio realizado sobre ese entorno, como instalar o desinstalar librerías) no afecta ni al Python del sistema ni a cualquier otro entorno. ¿Por qué? - Porque nos permite trabajar en un entorno aislado y seguro. - Porque podemos generar un fichero de dependencias. - Porque somos personas ordenadas y limpias.
  22. 22. Entorno Virtual - ¿Cómo? - Entrar en el directorio del proyecto (recién clonado de github).
  23. 23. Entorno Virtual - ¿Cómo? (Conda) - Entrar en el directorio del proyecto (recién clonado de github).
  24. 24. Entorno Virtual - Activar
  25. 25. Instalar dependencias
  26. 26. Empezamos todos con un hello world main.py En la terminal
  27. 27. Ya tengo una web… ¿y si apago mi ordenador?
  28. 28. PaaS - ¿Y eso qué es?
  29. 29. Push hacia github - Añadir los archivos modificados. - Hacer “commit” para que los cambios se incorporen a nuestro repositorio local. - Hacer push hacia github.
  30. 30. Publicar en Heroku - Login en Heroku (por si acaso). - Crear proyecto (solo se hace una vez). - Publicar proyecto (y esperar).
  31. 31. Profit! Desde el panel de control de Heroku podemos abrir la aplicación.
  32. 32. De mayor quiero hacer CI/CD “Me hice informático porque puedo automatizar mi trabajo y rascarme la barriga en el sofá.” Lino Figueroa (2021)
  33. 33. CI/CD - ¿Qué son?
  34. 34. Heroku deploy (I)
  35. 35. Heroku deploy (II)
  36. 36. Heroku deploy (y III) Modificad el fichero “main.py” y cambiad el mensaje de “hola mundo” por algún otro. Y después ejecutad y esperad un rato hasta que termine de redesplegar.
  37. 37. De notebook a producción ¡Déjate de palabras, quiero ver código! Este es nuestro notebook de partida Y este es el código que hemos preparado para productivizarlo. Con su página web y sus configuraciones de despliegue.
  38. 38. Mini introducción al NLP NLP es una combinación entre 2 cosas: - Entender el lenguaje natural usando ciencia computacional - Y además, en muchas ocasiones, también aplicando técnicas de inteligencia artificial.
  39. 39. Embeddings https://projector.tensorflow.org/ https://huggingface.co/ Sentence embeddings son la forma de representar frases en distintos contextos del lenguaje natural en una matriz de números que la máquina pueda entender. Ejemplo: perro -> [0.02, 4.5, 7.3, 3.51]
  40. 40. Vuestro turno: 2º aplicación Productivizar este notebook ● Web ● Despliegue en cloud
  41. 41. ¿Cómo lo vamos a hacer? Forma de trabajar Bloque de trabajo personal (con nuestra ayuda) ● Tendréis XX minutos (estimaremos cuando lleguemos a este punto) ● Estaremos por aquí respondiendo a todas las dudas que surjan ● Os iremos preguntando en privado a cada uno de vez en cuando ● No dudéis en “levantar la mano” y llamarnos ● Aquellos que quieran (100% voluntario), podrán enseñar lo que han construido Consejo: configura cuanto antes la parte del despliegue, el esqueleto, y sobre eso ve añadiendo contenido. Así podrás aprovechar los últimos 5 minutos para subir la última versión
  42. 42. Adelante
  43. 43. Resumen, conclusiones y puntos importantes 1. Los cajones están muy bien, pero por favor, no guardes tus modelos en ellos. Sácalos, que les dé un poco la luz. Que aporten valor. 2. No hacen falta conocimientos de programación o diseño web para poder montar una web sencillota. Streamlit apenas tiene curva de entrada. 3. CI/CD parecen cosas muy complicadas… pero resulta tremendamente útil y no es tan difícil de configurar. Un poco de Github, un poco de Heroku y… ¡magia! 4. Las aplicaciones de terminal no suelen ser muy populares para la gente de negocio… ¡aprovecha lo aprendido! Ya tienes lo más difícil, ponlo presentable.
  44. 44. Preguntas
  45. 45. ¿Una ayudita? Queremos mejorar bit.ly/taller-despliegue-ml
  46. 46. Despedida Si os surge cualquier duda… Lino Figueroa: ● impalah@gmail.com ● twitter.com/impalah ● linkedin.com/in/linofigueroa ● https://pressanykey.tech/youtube Ricardo Guerrero: ● ricgu8086@gmail.com ● twitter.com/ricgu8086 ● linkedin.com/in/ricgu8086 Enrique Josue Álvarez: ● ejarkm@gmail.com

×