Febrero  12, 2021

Episodio 4: Machine Learning

En este episodio hablamos con Juan Daniel Morales sobre los retos de la inteligencia artificial.
Comparte este episodio: 

hola qué tal gente cómo están bienvenidos a un nuevo episodio de un especter token les habla camilo victoria su host lastimosamente en este episodio no puede acompañarlo estoy un par de fallas técnicas que ya están solucionadas para estar con ustedes en el siguiente episodio espero que disfruten de este episodio tanto como lo disfrute yo tuvimos un invitado de lujo con muchos conocimientos es un capítulo de muchos aprendizajes y pues bueno no siendo más los dejo con andrés hola a todos como ya algunos me conocen los andrés villegas si nunca han escuchado ningún podcast de los que tenemos en spotify y los invitados de los que nos han invitado a que lo hallan y los escuchen para los que son nuevos acá soy ingeniero de software en microsoft específicamente en el equipo de one drive nuevecito en este equipo entonces bueno aprendiendo un montón de cosas nuevas y hoy tenemos como invitado especial a juan daniel morales técnico lead en seón específicamente el equipo y hay de developers que nos va a hablar de hoy de artificial de machine learning de todos los retos que tiene y de cómo de qué es lo que es entonces bueno juan daniel adelante contanos un poquito de voz bueno pues ya presentaste muchísimas gracias de verdad por por invitarme muy muy contento de estar por acá y que discutamos de varios temas que realmente me apasionan un montón y bueno y que creo que también generan mucho interés y bueno me alegra que podamos discutirlo acá y posiblemente traer nuevas personas interesadas a esta área y bueno compartir pues como como estos conocimientos que he desarrollado junto con los equipos en los que he trabajado y bueno compartirlos con ustedes entonces bueno como como decías ahorita trabajo en una empresa que se llama seón realmente se van a ser parte de un grupo de empresas llamados safe lift que como su nombre pues como que lo indica trabaja especialmente asegurarse en la seguridad de flotas de vehículos y aparte pues de la seguridad de flotas de vehículos hace otras cositas alrededor pues como de la de las flotas de vehículos empezaron pues como hace hace muchos años pues que enfocados en la seguridad pero lentamente se fue migrando pues como a otras a otras escuelas y donde es que a menos no est計as pues que de alguna manera muchos de ellos pues son un grupo de personas que se conocían como la base de una especie de conducta más entusiasta turística de una de esas otras empresas son los puentes a través de las que tenemos pues que la febrera pues por lo menos son las principales flotas de vehículos pero también organizaciones que se han formado en las que se han formado comoavi que se han formado en otras empresas pero como es que el tema que he mencionado en ese momento y eso también en cuanto a ese tema tenés, me parece chimba, que son proyectos como que influyen en la vida real de verdad como que marica, se puede morir un niño, puede perder un carro, no sé si no si no lo tenemos entonces, bacanísimo

00:03:41 - Juan, entonces vamos con la primera pregunta como para iniciar la discusión

00:03:47 - ¿qué es Machine Learning?

00:03:50 - ¿qué es Deep Learning? ¿qué es

00:03:52 - Inteligencia Artificial? ¿qué es Data Science?

y como ¿qué es la diferencia? ¿qué es

00:03:56 - ¿dónde es la intersección entre todo eso? y ¿cuáles son sus diferencias también?

00:04:02 - Listo, excelente pues quisiera empezar por hablar de Inteligencia Artificial pues esta pregunta obviamente creo que se la hace un montón de gente porque se escucha mucho en el medio que se utiliza la misma palabra para referirse en muchas ocasiones pues como a la misma cosa entonces se escucha en el en la comunidad como que

00:04:28 - Deep Learning y todo el mundo pareciera estar hablando de lo mismo pero no se entiende bien realmente a qué se quieren referir en particular pasa pues que simplemente hay gente que lo utiliza pues como por utilizarlo con una apropiación pues como que no es correcta entonces bueno quisiera empezar por Inteligencia Artificial que ese es digamos como el término más generalizado de los cuatro que me has nombrado diría que en competencia con con Data Science o pues

00:05:01 - Ciencia de Datos que ahorita pues hablaré un poco sobre esa pero realmente Inteligencia Artificial consiste en en alto nivel en habilitar computadores a pensar y cuando me refiero pues a pensar me refiero pues particularmente a tomar decisiones, a sacar conclusiones y realmente a desarrollar pues como un tipo de inteligencia y quisiera quedarme como hasta ahí en la descripción siendo un poco muy general porque pasaremos pues a dar mucho más detalle en otros temas y ahí creo que iremos armando la definición de como tal pero entiéndase como la parte más general habilitar computadores a pensar y hay muchísimas aplicaciones que conocemos que pues si chatbots detectar personas en videos entender a qué se quiere referir alguien cuando escribe un texto todo esto es

00:06:08 - Inteligencia Artificial y claro pues como que la pregunta es un poco larga y pues creo que sería como un monólogo aquí por un tiempito y está bien pero de ahí quisiera pasar pues a Machine Learning

00:06:23 - ¿cierto?

pero espérate y te interrumpo un poquito entonces vos decís Inteligencia Artificial es que los computadores piensen y eso no es una idea nueva ¿no? la Inteligencia Artificial digamos viene desde hace un montón de tiempo un montón de años desde que estaban los motores para jugar ajedrez o que inventaban lenguajes de programación específicos como para intentar desarrollar cierta Inteligencia Artificial entonces eso eso , ¿no? ¿en qué rama entraría?

00:06:56 - ¿todavía se estudia o no?

pues de ahí como es la duda que me genera claro, o sea pues la Inteligencia Artificial viene desde hace muchísimo tiempo pues realmente hay ciertas personas pues como que lo empiezan a hablar desde hace más o menos 60, 70 años pues donde muchos de los sistemas que me estás comentando fueron creados diría que todos siguen la misma definición

00:07:22 - ¿cierto? yo quiero lograr cierto objetivo que es hacer que una máquina se comporte similar a lo que haría pues un humano e inicialmente no se tenían pues como las digamos como las herramientas que se tienen hoy para crear sistemas muy complejos entonces partieron en esos momentos de sistemas pues como un poco más sencillos y y partieron más que todo con para que para mí son los sistemas expertos

00:07:58 - ¿cierto? empezó la Inteligencia Artificial como una rama en la que muchas personas muy experimentadas tenían muchos conocimientos y dijeron bueno ¿cómo hacemos para transferir estos conocimientos a un computador? y se juntaron con un montón de personas que sabían de computadores y dije bueno ustedes son mis expertos ustedes son las personas que hacen computación

00:08:22 - ¿cómo hago? y entonces me dijeron que bueno se hacía un Israelites algo para replicar esta tarea, poder hacer esta tarea de manera automática y pues inventaron los sistemas de expertos, ¿cierto?

00:08:33 - Que son un montón de ideas aneadas hasta el infinito.

00:08:37 - Exacto, un montón de condiciones, un montón de cosas, pero tienen un fundamento muy importante.

00:08:44 - Realmente, en parte, pensamos de una manera en algunas ocasiones similar, ¿cierto?

00:08:50 - Porque hay veces que uno va al médico y le preguntan, ¿cuáles son sus síntomas?

00:08:56 - ¿Tiene fiebre? Sí, no.

00:08:57 - Entonces ahí empezamos a ir en un árbol de decisiones gigantes, ¿cierto?

00:09:02 - Y llegamos al final a que, ah, usted tiene tal cosa.

00:09:04 - COVID.

00:09:04 - COVID.

00:09:06 - Esa es la respuesta para todo.

00:09:11 - Entonces, listo, continuamos con los otros términos.

00:09:17 - Deep learning, machine learning, data science.

00:09:21 - Listo, excelente.

00:09:22 - Bueno, entonces, continuando, pues, como con la línea, ¿cierto?

00:09:25 - No en el orden en la que empezamos, pero me gustaría continuar con machine learning, porque es un campo que está dentro de la inteligencia artificial, ¿cierto?

00:09:37 - Si entendiéramos inteligencia artificial como ese campo general que hablábamos ahorita, una de las maneras de lograrlo es a través de machine learning, técnicas de machine learning, que, pues, traducida al español, ¿cierto?

00:09:50 - Se entiende como aprendizaje automático.

00:09:52 - Y ahí viene lo más bacano y lo que creo que define muy bien esta tarea en particular, y es que la máquina no solamente está pensando, o a la máquina no se le enseñó a pensar, sino que ella en el tiempo puede mejorar su conocimiento y su capacidad de tomar decisiones.

00:10:18 - Entonces, esto, aprendizaje automático.

00:10:19 - Aprendizaje automático es, quiero enseñarle a esta máquina que automáticamente mejore lo que sabe.

00:10:26 - Y eso es, pues, como el campo en lo que hablábamos ahorita.

00:10:30 - Si somos expertos, por allá a un lado, if-else, if-else, y llegamos a una decisión, y realmente en el tiempo nada va a cambiar.

00:10:37 - Los if van a ser los mismos ifs, y las condiciones van a ser iguales, pero por este lado venimos a que en el tiempo podríamos cambiar esas condiciones basado en lo que aprendimos.

00:10:49 - O sea, aprendemos de la data.

00:10:51 - O sea, la data nos dice, esta es la manera en la que deberías continuar aprendiendo, y ya ahí es donde existe esa ramificación.

00:10:58 - Y esto es básicamente un subconjunto de la inteligencia artificial que se comporta de esa manera.

00:11:03 - Sí.

00:11:04 - Y entonces, machine learning es cualquier cosa que haga que la máquina aprenda.

00:11:11 - Sí, ok.

00:11:12 - Diría, sí, eso es un conjunto de técnicas.

00:11:16 - Y bueno, y aquí nos podríamos ir.

00:11:18 - Podríamos ir aún más hacia adentro y podríamos en otro tiempo, como para no enfocarnos mucho en cada una de estas, sino dar como una visión más holística y más general.

00:11:32 - Pero sí, básicamente consiste en aprender en el tiempo, utilizar ciertas técnicas para encontrar patrones en los datos de manera automática.

00:11:44 - ¿Cierto?

00:11:45 - Yo soy una persona que voy a ver un data set, un conjunto de datos, y no tengo que ir cada vez que llegue nueva data a decir, bueno, ¿qué cambia aquí?

00:11:54 - Voy a hacer un análisis totalmente diferente, en algunos casos sí, pero por lo general desarrollo un conjunto de técnicas que a la que llega nueva data, que yo no he visto y puedo generar pues como cierto conocimiento sin intervención.

00:12:13 - Diría pues que esa…

00:12:15 - Eso consiste.

00:12:17 - Bien.

00:12:18 - Y ya que…

00:12:20 - Pues creo que Deep Learning, ya sé como más o menos para dónde va, pues Data Science.

00:12:26 - ¿Data Science es inteligencia artificial?

00:12:28 - ¿Hace parte de eso o no?

00:12:30 - ¿O qué?

00:12:31 - No, y de hecho ahorita si quieres hablamos un poco de Deep Learning porque hay un concepto que creo que no ha sido lo suficientemente bien compartido.

00:12:44 - Así es la comunidad que genera y qué pena desviarme de tu pregunta, voy a terminar esta parte rápido porque me pareció muy importante, pero creo que a la comunidad se le ha metido pues como esa falsa idea de que pues como que Deep Learning es malo en general.

00:13:05 - Pues no sé, cuando uno va a la comunidad dicen como, hey, cuidado, usted solo sabe hacer Deep Learning.

00:13:10 - ¿Y qué hay de los modelos anteriores?

00:13:12 - Usted se va a ignorar.

00:13:13 - Se va a ignorar todo lo bueno que pasó en los 40, 50 años antes del Deep Learning.

00:13:20 - No te puedes meter allá de una sin saber lo otro.

00:13:24 - Es una fuerza muy grande y muchas veces no sabes ni lo que estás haciendo.

00:13:29 - Hay muchas de estas afirmaciones son ciertas, pero creo que hay una parte muy bacana y es que las técnicas anteriores, shallow learning, ¿cierto? Deep, lo contrario a Deep, las técnicas anteriores, seguían requiriendo mucha intervención de expertos, de personas que saben mucho, ¿cierto?

00:13:47 - Esa parte del sistema experto de la que hablábamos ahorita aún se venía hacia acá y llegamos listos.

00:13:54 - Queremos hacer un clasificador de animales.

00:13:58 - Llegaba una persona súper buena en computación fotográfica o en, no sé, neurociencia, no sé qué.

00:14:11 - Bueno, un montón de gente experta en eso.

00:14:13 - Había un montón de campos que analizaban cómo los humanos veíamos, cómo los humanos analizábamos las imágenes y se traían todas las ideas a la computación.

00:14:22 - Entonces se crearon un montón de descriptores, no sé, se crearon ciertos, como ciertas funciones de preprocesamiento de la data que convertían las imágenes en algo que pudiéramos manejar o manipular con modelos tradicionales, ¿cierto?

00:14:40 - Sí.

00:14:41 - Las personas se creaban las características porque eran muy tesos en el campo y nos las traíamos para estos modelos tradicionales de machine learning y los utilizábamos para lograr cierta tarea.

00:15:00 - Y cuando llegó el Deep Learning se inventaron que es para mí la parte más increíble del Deep Learning y es la habilidad de automáticamente crear esas características, ¿sí?

00:15:12 - Antes alguien decía las características las sacamos de estas imágenes de tal manera y era un solo proceso.

00:15:19 - Se sacaban, pues, como los shift descriptors de las imágenes, se acomodaban las palabras de cierta manera que tuviera sentido para los humanos y realmente llegó el Deep Learning a decir con mi estructura jerárquica de capas voy a aprender automáticamente las características y fue así.

00:15:40 - Por eso arrastraron con todas las técnicas tradicionales porque resulta que esas características de los humanos eran buenas pero hay patrones en la data que son más poderosas todavía y permiten el desarrollo de modelos y de inteligencia artificial mucho más poderosa.

00:16:01 - Entonces el Deep Learning es una técnica de machine learning pero aún más automática.

00:16:07 - O sea, machine learning antes del Deep Learning era como que hay que hacer un montón de preprocesos para que el computador pueda entender lo que sea que haya que entender.

00:16:16 - Por ejemplo, que poner una imagen en blanco y negro, sí o qué.

00:16:20 - O...

00:16:22 - Sí, analizar cosas.

00:16:24 - Exacto.

00:16:26 - Y ya luego podemos pasársela al computador para que tome la decisión final, por así decirlo.

00:16:32 - Exacto.

00:16:33 - Antes se miraba y decía, bueno, estos son mis bordes de las imágenes, lo saqué de tal manera.

00:16:38 - Este es el histograma de tal canal, ¿cierto?

00:16:44 - Entonces resulta que, no sé, el 50% de los pixeles tienen una intensidad de tanto.

00:16:51 - Entonces imagínate esa decisión que tenía que tomar un modelo tan difícil.

00:16:55 - Pues mirar un histograma de colores y decir, esto es un perro, es un gato.

00:16:58 - Durísimo.

00:17:00 - Mirar la distribución de colores y tomar esa decisión es muy duro.

00:17:03 - Y eso era más o menos lo que se hacía antes.

00:17:06 - Ahorita, como viene el tiempo, como bien lo decías, se hace algo mucho más automático en el cual la data como tal te enseña las características.

00:17:21 - Entonces ahí ya la data empieza a tener un rol más protagonista.

00:17:25 - Las arquitecturas obviamente también, pero la comunidad ha ido socializando muchas de estas arquitecturas y se han ido adaptando y explorando un montón.

00:17:35 - Y la data pasa a ser como la protagonista también.

00:17:39 - Siempre lo ha sido, pero ahora más.

00:17:43 - Qué bien, parce.

00:17:45 - Ya con esa explicación tan, parce, buena y creo que claro,

00:17:52 - ¿qué hace un ingeniero de inteligencia artificial o de machine learning o de deep learning en un día a día de trabajo?

00:18:00 - ¿Cómo es tu día a día de trabajo? Mejor dicho, contanos.

00:18:03 - Bueno.

00:18:05 - No, esa pregunta es bien bacana porque creo que no se conoce mucho.

00:18:10 - Pero yo como ingeniero de machine learning o como hablábamos ahorita de inteligencia artificial porque hacemos también los otros tipos de sistemas, estamos casi siempre como en dos etapas, en dos fases diferentes.

00:18:26 - En algunos momentos estamos en una fase muy exploratoria y en otra parte en una etapa productiva.

00:18:32 - En la parte, en la etapa exploratoria, nos llega siempre como un requisito de personas de negocio.

00:18:41 - Llega alguien y dice, mira, tenemos este problema, queremos solucionarlo.

00:18:46 - Y en el caso de empresas como en la que trabajo, queremos vender una solución que haga esto, porque hemos visto clientes que tienen ese problema.

00:18:57 - ¿Qué hacemos?

00:18:58 - Entonces ahí es donde venimos y comenzamos a desgastar, y comenzamos a desglosar el problema y a identificar cómo responder.

00:19:10 - Por lo general estos problemas son de automatización.

00:19:13 - Sí, tengo un proceso que alguien lo podría hacer manualmente, pero ¿cómo hago para que ese proceso sea automático?

00:19:20 - Casi siempre todos los requisitos son de textil.

00:19:23 - Entonces venimos y analizamos obviamente el problema, miramos qué necesitaría un computador para resolverlo.

00:19:30 - Se analiza como el estado del arte.

00:19:35 - ¿Qué otras personas en la comunidad, qué han hecho esas personas para solucionar ese mismo problema?

00:19:45 - Se hace un montón de exploración de ese estilo, en la cual se presentan ciertas pruebas de concepto, las cuales van a ser obviamente validadas por las personas de negocio.

00:19:58 - Y a eso se dedica.

00:19:59 - Y a eso se dedica uno una buena cantidad de tiempo en el proceso de realización de un proyecto.

00:20:10 - Hay una etapa investigativa, exploratoria, en la cual se hace un montón de cosas con los modelos que desarrollamos, como recolectar la data, buscar las arquitecturas que te decía ahorita que básicamente se acercan al problema que queremos.

00:20:27 - El estado del arte.

00:20:28 - El estado del arte.

00:20:30 - Exacto.

00:20:31 - El percito de la vuelta.

00:20:32 - Exacto.

00:20:33 - Leer un montón, ver implementaciones, incluso que en muchos casos las existen, y validar qué tan viable es llevar esa implementación al producto que uno quiere desarrollar.

00:20:46 - Y ya en la etapa productiva, que nombraba al principio, se viene la parte de la que me gustaría hablar.

00:20:56 - Y creo que...

00:20:57 - Parece muy bacán hablarle con usted, ya que vos obviamente, pues como ingeniero de software, o desarrollador de software, muy peso en estas buenas prácticas de desarrollo.

00:21:11 - Ahí es donde los ingenieros de machine learning nos vemos débiles.

00:21:16 - Nos vamos con un montón de conocimiento matemático y un montón de modelos, y venimos a convertir estas pruebas de concepto de las que le hablaba ahorita de productos, y es cuando, realmente ocurren como los mayores obstáculos de la transformación de ideas, de concepto a productos.

00:21:38 - Entonces viene la parte productiva, que es coger estos modelos y llevarlos a producción,

00:21:45 - ¿cierto?

00:21:46 - Sí.

00:21:47 - A entregarlos.

00:21:48 - Entonces hay algunas empresas en las que cogen un montón de desarrolladores de software y les dicen, bueno, vamos a hacer un montón de infraestructura alrededor de los modelos que este equipo de machine learning desarrollaron, y hacen todo desde cero.

00:22:03 - Hacen toda la comunicación.

00:22:05 - Por ejemplo, no sé, estás detectando personas en un cliente web.

00:22:12 - Entonces el machine learning engineer se encarga del modelo y no hace nada más.

00:22:19 - O sea, una caja negra.

00:22:20 - Eso.

00:22:21 - Le entrega a usted un servicio, o no sé, incluso un servicio, o simplemente que un binario.

00:22:26 - Exacto.

00:22:27 - En un dev box y ya.

00:22:29 - Exacto.

00:22:30 - Entonces hay veces que, lo he visto en las empresas en las que he trabajado, hay veces que a los machine learning engineers les ponen a hacer eso y ya.

00:22:38 - Hacen un modelo, entrenalo, que cumpla con ciertas métricas, entrégame un binario.

00:22:44 - Y yo tengo el montón de ingenieros de software que crean, que desarrollan software alrededor de estas cajas negras y producen, pues, como el producto de software.

00:22:56 - Pero no todas las empresas cuentan con ese presupuesto y con esa posibilidad.

00:23:03 - Entonces, por ejemplo, la empresa en la que estoy trabajando actualmente nos dice, bueno, ustedes desarrollen las pruebas de concepto y después implementenlas.

00:23:13 - O sea, nosotros necesitamos que finalmente este modelo que tenía que hacer esto, entregue valor de principio a fin.

00:23:24 - Sí.

00:23:25 - Y se integre con otros servicios de otros equipos y haga un montón de cosas, pues, que usualmente no estamos acostumbrados a hacer.

00:23:37 - Y aquí es donde viene, pues, que las empresas les ponen un montón de nombres a los machine learning engineers.

00:23:44 - Entonces yo sé que vos viste la experiencia que les ponían como software developer in machine learning.

00:23:50 - Que es como...

00:23:51 - Vos sos un desarrollador de software que conoce mucho de software.

00:23:54 - También sabes de machine learning.

00:23:56 - Entonces haces todo de principio a fin.

00:23:58 - Eso.

00:23:59 - Como métale la mano un poquito a todo.

00:24:00 - A todo.

00:24:01 - Exacto.

00:24:02 - Porque eso los ponían a hacer mucho de infraestructura, de lo que vos decís.

00:24:05 - Porque siempre es tal que era machine learning puro que solo voleaba Python y ya.

00:24:11 - Y modelos.

00:24:12 - Es cuando le tocaba y modelos y entrenaba y las imágenes.

00:24:16 - Y, ay, sí, tengo esto al 99% perfecto.

00:24:19 - No está haciendo overfitting.

00:24:22 - Nada.

00:24:23 - Todo está perfecto.

00:24:24 - Pero luego no funcionaba nunca en producción.

00:24:27 - ¿Por qué?

00:24:28 - Porque era lento.

00:24:29 - Porque, sí, era...

00:24:31 - Entonces llegaba el que vos decís software developer in machine learning, no sé qué.

00:24:37 - A ver qué hacía con esa cosa para hacerla rápida.

00:24:40 - Si la corría en mil instancias o mil procesos, qué sé yo.

00:24:45 - Exacto.

00:24:46 - Básicamente ahí es donde...

00:24:48 - Ahí es donde creo que a los machine learning engineers nos falta un montón de software, ¿cierto?

00:24:56 - De desarrollo de software, de buenas prácticas de programación.

00:25:02 - Pero, bueno, ¿qué hace entonces un machine learning engineer en la etapa productiva?

00:25:07 - Aparte de desarrollar todas estas integraciones, hay cierto equipo, como decías ahora, que se encarga del modelo como tal, de la caja negra.

Él sabe que no es una caja negra.

00:25:17 - Bueno, no tan negra como para los demás.

00:25:21 - Sabe cómo mejorarlo.

00:25:24 - Sabe cómo versionarlo.

00:25:26 - Muy importante.

00:25:27 - Cada vez llega data nueva de parte del dominio, del cliente.

00:25:34 - Por ejemplo, a nosotros nos llegan videos, videos directamente de los clientes donde los dicen, mira, estos son los escenarios en los que yo quiero que a este sistema le vaya bien.

00:25:43 - Entonces llegan los videos, los tenemos que procesar.

00:25:46 - Obviamente no vamos a trabajar con videos directamente.

00:25:50 - Necesitamos procesarlos, separarlos, muestrearlos, porque graban un video de 24 horas en los cuales 10 horas el vehículo está quieto.

00:26:00 - Entonces es un proceso en los cuales de manera semiautomática se debe hacer un muestreo de la data que se quiere etiquetar.

00:26:10 - Tenemos un equipo de etiquetadores de más o menos 5 o 6 personas en las cuales se les muestra la data que queremos que sea etiquetada porque sabemos que son los escenarios en los que posiblemente nuestro modelo está teniendo problemas.

00:26:24 - Reunimos más data, volvemos a entrenar, supervisamos las métricas, porque del negocio siempre llega un número.

00:26:32 - A otros dicen, mira, queremos que este modelo o esta solución, que es la parte más bacana, y es que en la mayoría de ocasiones no es un modelo a que le entre una imagen y sale lo que al cliente quiere.

00:26:45 - Sino, bueno, salió algo del modelo, pero eso no me sirve de nada.

00:26:51 - ¿De qué me sirve detectar a una persona si no sé, por ejemplo, a qué distancia está de la otra?

00:26:58 - Por ejemplo, para el distanciamiento inteligente, que por ahí se vieron muchas soluciones, ¿cierto?

00:27:04 - Entonces tengo dos personas, bueno, pero lo que yo quiero saber es si están muy cerca o no.

00:27:10 - Entonces viene otro pedacito de eso, porque tenemos que pegarle a los modelos que tiene que funcionar.

00:27:17 - Y posiblemente la métrica está más allá del modelo, ¿cierto?

00:27:23 - No me importa cuántas personas puedo detectar correctamente, sino cuáles de las interacciones, por ejemplo, de errores en distanciamiento social fueron verdaderas, ¿cierto?

00:27:40 - ¿Cuántas personas que no estaban practicando distanciamiento social realmente no lo estaban haciendo?

00:27:48 - Sí, por ejemplo, si yo voy aquí a agarrar la mano con mi esposa, pues eso no lo debería contar como no distanciamiento, pero obviamente el sistema de Achille Learning no va a decir a esta gente está muy cerquita.

00:27:59 - Exacto.

00:28:00 - Entonces como esos edge cases y esas cosas son las que también hay que mirar.

00:28:05 - Exacto.

00:28:06 - Y ya, a eso nos dedicamos.

00:28:09 - Ahorita también lo nombrabas, los tiempos de inferencia, monitoreo de modelos en producción, identificar esos casos, como estás diciendo, edge cases, en producción es muy duro.

00:28:21 - Tesla, por ejemplo, se dio cuenta, ellos tienen una conferencia muy bacana en la que hablan de eso, me gustaría compartirla acá.

00:28:29 - Ellos se dieron cuenta que uno de sus modelos de detección de objetos en producción tenía problemas para detectar cierta señal de tránsito.

00:28:39 - Y la manera en la que se dieron cuenta fue muy, muy bacana.

00:28:43 - Vieron que el modelo predecía que sí había un objeto de ese tipo en un frame del video, ¿cierto?

00:28:54 - Del stream que va llegando.

00:28:56 - Al siguiente decía que no, al siguiente decía que sí.

00:28:58 - O sea, empezaba como a parpadear, ¿cierto?

00:29:00 - Empezaba a decir sí, no, sí, no, sí, no, sí, no.

00:29:02 - Entonces él básicamente no tenía una buena idea de ese objeto que estaba intentando detectar.

00:29:08 - Entonces se equivocaba de esa manera.

00:29:10 - Y recogieron de esa manera.

00:29:12 - Ellos se dieron cuenta que tenían un problema de ese estilo.

00:29:16 - Recogieron un montón de datos de ese tipo de error.

00:29:21 - Y pues entrenaron sus modelos e hicieron que su modelo tuviera unas predicciones más consistentes de ese objeto.

00:29:33 - ¿Entonces crees que una persona que sepa de software y que sepa de Machine Learning sería un hit por un equipo de Machine Learning?

00:29:45 - Sí, realmente sí.

00:29:48 - Realmente creo que ambos sets de skills son muy, digamos, muy valiosos y se tiene que invertir bastante trabajo en lograr tener muy buenas habilidades en ambos campos.

00:30:10 - Tanto por la matemática, álgebra y estadística, que ahorita no hablamos mucho de eso.

00:30:17 - Pero todo esto son un montón de ciencias que un ingeniero de Machine Learning debe conocer muy bien.

00:30:25 - Pero hay un montón de partes en el software que también son bastante complicadas y muy importantes a la hora de implementar soluciones.

00:30:33 - O sea, es que, como te decía ahorita, de nada sirve un modelo que haga su trabajo de manera aislada si no lo puedo convertir en un producto real, en algo que pueda generar valor.

00:30:47 - Y por ahí también veía una vez una crítica de una persona por ahí en LinkedIn.

00:30:55 - Y pues para los desarrolladores de software es como lo más normal del mundo.

00:31:02 - Pruebas unitarias para Machine Learning y Internet.

00:31:04 - ¿Pruebas qué?

00:31:06 - ¿De qué es lo que me estás hablando?

00:31:08 - Sí.

00:31:09 - Y entonces vas a desplegar una solución de software sin pruebas unitarias.

00:31:13 - Ah, se dañó.

00:31:15 - Ah, madre.

00:31:16 - No, no funcionó.

00:31:17 - Mira, dañé la conexión entre estos dos módulos.

00:31:21 - Pues claro, nunca desarrollaste pruebas unitarias, nunca las corriste tampoco porque no las tenías.

00:31:27 - Entonces sí, diría que es un conjunto de skills que se complementan muy bien.

00:31:34 - Y que sí, pues personas de software y Internet, personas de software en Machine Learning, son también lo que más necesito de este campo en este momento.

00:31:44 - Sí, eso me lleva, digamos, como al otro tema, al tercer tema que quería tocar.

00:31:50 - Y es como el tema de carreras, de cómo uno llegará a ser un ingeniero de inteligencia artificial o desarrollador de inteligencia artificial o de Machine Learning.

00:32:00 - Porque yo he visto muchos casos de gente que, por ejemplo, estudió biología.

00:32:07 - Y cierto, biología normal en la universidad y termina, hace su maestría y va a hacer un doctorado.

00:32:14 - Y en el doctorado, por su tesis, lo que sea, tiene que aprender Machine Learning, Deep Learning.

00:32:20 - Y termina trabajando como desarrollador de Machine Learning.

00:32:25 - Eso lo he visto mucho.

00:32:27 - O gente que estudia estadística, matemática, que terminan en Machine Learning de alguna manera.

00:32:33 - Y entonces se generan esas valencias que vos decís.

00:32:36 - Son personas que sí saben de Machine Learning, de Deep Learning, de investigación, de estadística, de toda la primera etapa que mencionaste, de hacer la investigación, de recolectar la data, de probar el modelo.

00:32:48 - Pero se quedan cortos en la segunda.

00:32:50 - Entonces vos, desde tu perspectiva,

00:32:52 - ¿cómo crees que una persona que quiera hacer Machine Learning moderno y, digámoslo así, integral, que debería estudiar, no en la universidad específicamente, sino en general,

00:33:05 - ¿qué recursos recomiendas para eso?

00:33:09 - Listo.

00:33:11 - A ver, yo quería explicar básicamente cómo aprendí yo toda esa parte de Machine Learning.

00:33:21 - Yo al principio fui un poquito terco con lo de estudiar todas las bases matemáticas, algebra y estadística en mucha profundidad.

00:33:33 - Lo que sugieren es, mira, andate a hacer un curso de álgebra lineal superintensivo, luego otro curso superintensivo de cálculo, y luego otro de álgebra, cálculo y estadística.

00:33:51 - O sea, vas a estudiar estas tres áreas en profundidad.

00:33:56 - Y ahí después vas a buscar un curso de introducción a Machine Learning.

00:34:02 - Entonces mucha gente se queda en el camino.

00:34:04 - Llevo un año estudiando matemáticas.

00:34:06 - Estoy supercansado ya.

00:34:07 - No veo nada de lo que yo quiero ver.

00:34:12 - Yo solo veo un montón de matrices y números ahí ya que claramente son importantísimos en Machine Learning.

00:34:20 - No le quisiera restar valor con lo que voy a decir.

00:34:23 - Pero diría yo que los humanos aprendemos mucho de un proceso de mejora continua.

00:34:31 - Lo que yo hice fue repasar un montón de temas de álgebra, de cálculo y de estadística.

00:34:40 - Hice como una introducción.

00:34:43 - Luego fui a un curso de Machine Learning y vi que tenía huecos, obviamente.

00:34:47 - Y llegan y le tocan a uno de los temas que uno no los entiende bien y toca volver.

00:34:52 - Toca volver a álgebra, toca volver a estadística y decir, bueno, esto no lo entiendo muy bien.

00:34:57 - Quisiera enfatizarme otra vez en estos temas.

00:35:00 - En estos temas en particular y luego volver a Machine Learning.

00:35:04 - Si uno quiere mejorar sus skills en Machine Learning, yo recomendaría un proceso más iterativo que secuencial.

00:35:11 - Hacer esto, después esto, después esto y ya te volviste muy teso.

00:35:15 - Lo haría de esa manera en la que logré aprender y todavía sigo en el proceso iterativo.

00:35:22 - Hay veces que voy, retorno a estadística, recuerdo un concepto, lo mejoro y vuelvo.

00:35:28 - Eso por el lado de Machine Learning.

00:35:30 - Y como decíamos ahorita, importantísimo no dejar de lado la parte de software.

00:35:35 - Que nosotros, como yo soy ingeniero de sistemas y como ingeniero de sistemas nos meten mucho énfasis en buenas prácticas y eso.

00:35:47 - Pero creo que hay un montón de cosas que se aprenden en la práctica.

00:35:51 - Y en los cursos de Machine Learning te enseñan a hacer modelos y meterle una imagen a un modelo y sacar predicciones.

00:35:58 - Pero nunca te van a enseñar, bueno muchos de ellos no te van a enseñar cómo conectar esto al resto de servicios de una aplicación más grande.

00:36:11 - Y cómo correr tu software y tus pruebas con un pipeline de otro proyecto.

00:36:18 - Sí, básicamente.

00:36:21 - Sí, mira que mi experiencia con los cursos de Deep Learning y Machine Learning en general.

00:36:28 - Es que son enfocados sólo en Jupyter y en Notebooks.

00:36:33 - Entonces vos terminas parce hecho un experto en manejar Jupyter y hacer modelos con Jupyter y todo el cuento.

00:36:42 - Y ya luego que, cómo meto este súper clasificador que me dice Gaticos en una app del celular.

00:36:50 - Cierto, yo quiero que mi app, tomar una foto en un celular, cosas así.

00:36:55 - Se me venían a la mente y decía no, no lo puedo hacer.

00:36:57 - No lo puedo hacer después de terminar este curso.

00:36:59 - Cómo lo hago?

00:37:00 - Exacto.

00:37:01 - Es importante esa parte también de mirar como un poquito más allá de cómo se integran esos modelos a la vida real.

00:37:08 - Exacto.

00:37:09 - Más que todo, más que todo lo que llamamos es como la parte del backend.

00:37:14 - Muchas veces todo lo que decías, pues como como lo meto en celular y eso.

00:37:19 - Hay muchas partes.

00:37:20 - Hay muchas partes en las que obviamente no.

00:37:23 - Pues como que sería muy difícil que también.

00:37:26 - Como desarrollador de software y machine learning engineer hicieras pues todo el full stack pues completo, cierto?

00:37:35 - Eso ya debería pedir pues como la.

00:37:37 - Pero creo que.

00:37:38 - No, pero si una API pues web.

00:37:40 - Exacto.

00:37:41 - A eso iba, cierto?

00:37:43 - En el que, el que vos sabes que la entrega del modelo no va a ser de esas predicciones y no, listo.

00:37:48 - Yo sé que yo puedo desplegar mi sistema a través de una API o voy directamente.

00:37:55 - Al dispositivo, pues como como el celular y voy a, no sé, a correr localmente, cierto?

00:38:02 - En él voy a correr en una Jetson Nano, una plataforma de estas embebidas.

00:38:09 - Y entender que.

00:38:12 - Allá están las aplicaciones, allá están las aplicaciones, allá está.

00:38:16 - El trabajo futuro de los machine learning engineer, cierto?

00:38:20 - En dónde voy a correr esto?

00:38:22 - No en el Jupyter, no es lo que decías.

00:38:24 - Ahorita eso sirve para la fase exploratoria de la que hablamos ahorita, pero realmente al final.

00:38:30 - Estas habilidades de implementación son las que las que hacen diferenciar a un machine learning engineer que sólo sepa hacer la fase exploratoria.

00:38:41 - Alguien que ya haya desarrollado, implementado, desplegado sistemas en producción.

00:38:49 - Y vos crees vos?

00:38:52 - Me acuerdo que estaba haciendo una maestría.

00:38:53 - No sé cómo te habrá terminado ir con eso.

00:38:55 - Crees que que vale la pena?

00:38:57 - No es el tiempo y el dinero para una persona que pronto esté interesado en aprender machine learning y dedicar y volver a su carrera.

00:39:06 - Que pronto tenga un background en programación, ya sea backend o frontend, el que sea.

00:39:11 - Y me quiero volver un ingeniero de inteligencia artificial o de machine learning.

00:39:16 - Hacer una maestría de estas, ya sea online o presencial, no sé, en la Universidad de los Andes o.

00:39:23 - O ya sea online en una universidad de cursera o algo así.

00:39:27 - Yo creería que.

00:39:30 - En línea con estos cursos que decías de cursera y demás, se tiene una muy buena introducción a todos estos temas.

00:39:38 - Hay algunos cursos que incluso no son sólo introductorios, sino un poquito más más profundos.

00:39:45 - Pero realmente sí.

00:39:47 - Y si crees que alguien.

00:39:50 - Te exija un poco más.

00:39:52 - Para eso están pues como los los posgrados.

00:39:57 - Yo siento que hay personas, hay personas, por ejemplo, como como yo a mí.

00:40:03 - Yo no soy tan bueno para.

00:40:06 - Para decir voy a explorar este tema en profundidad y sacarle como todo el potencial a este tema.

00:40:13 - Voy hasta el final en esto.

00:40:15 - Sólo porque.

00:40:17 - Pues como por ser autodidacta, cierto?

00:40:20 - A mí me gusta.

00:40:21 - Que en alguna.

00:40:23 - A mí me gusta en algunas ocasiones aprender de una manera más guiada y siento que los posgrados son para o tienen.

00:40:30 - Tienen pues como esto de bueno, en que alguien se tomó, pues como todo el esfuerzo de diseñar un posgrado y cada una de las materias tienen un poco más de exigencia.

00:40:40 - Sí, porque.

00:40:41 - Porque siento que ese es como el nivel de exigencia que tienen las instituciones que prestan posgrados.

00:40:49 - Cursera y los demás son.

00:40:50 - Cursera y los demás son buenísimos porque.

00:40:52 - Te enseñan incluso cosas mucho más actuales que estos posgrados.

00:40:59 - Por años, pues años de diferencia.

00:41:02 - Mi universidad realmente.

00:41:04 - En algunas de estas cosas no tenía cursos, pues en alguna, en alguna, en algunos de los temas no, no los ofrecía porque es muy duro estar, estar al día.

00:41:14 - En.

00:41:16 - De manera en la educación presencial.

00:41:18 - Entonces.

00:41:19 - Entonces creo que lo positivo de Cursera y todas estas plataformas es lo rápido que puedes mantenerte al día, pero si se necesita mucho, mucho compromiso para las personas que tienen de pronto que necesitan un poco más de un empujoncito extra, recomendaría pues el posgrado.

00:41:37 - O sea, esa sería como la diferencia, pero realmente las empresas y yo espero que siga siendo así en muchas ocasiones, pues no, no, no diferencian entre una persona con posgrado.

00:41:47 - Hay una persona sin posgrado.

00:41:51 - Ese evalúa lo que conoce, lo que ha hecho su experiencia.

00:41:53 - Y.

00:41:55 - Y ya creía que esas son como las diferencias.

00:41:57 - Obviamente los posgrados, pues muestran, muestran de quizá un un nivel de.

00:42:05 - De compromiso diferente.

00:42:07 - No diría que mayor es un compromiso diferente de art en el que estás varios años detrás de una meta y no, no.

00:42:09 - Pues como no, no, no, no, no te quedas.

00:42:11 - Con un poco de experiencia.

00:42:13 - No.

no te quedaste en el camino obviamente creo que también muestra un compromiso muy muy interesante de una persona que solo que por si solo puede aprender todo lo que una persona en un posgrado lo haga entonces ahí están las diferencias

00:42:29 - Felipe nos mandó una pregunta sobre los sesgos en la inteligencia artificial como luchamos contra los sesgos en estos sistemas autónomos que es un tema que está muy muy en boga ahora evitar el como hacemos que estos sistemas no sean racistas como hacemos que estos sistemas no sean machistas, como hacemos que que estos sistemas básicamente sean justos e imparciales exacto, y realmente este tema me gusta muchísimo y que bacano que haya salido porque hace poco en la maestría vi una materia en la cual se llama AI ethics pues como donde está la ética en la inteligencia artificial y se discuten un montón de temas de sesgos y de otros temas pues como en la ética y realmente lo que las acciones que se han implementado hasta ahora son muy pocas se intenta trabajar mucho en los datasets, hay un montón de datos que muchos de ellos tienen procesos de recolección con sesgo, entonces mira que el origen de todo de todos los modelos de los que estamos hablando y de toda la inteligencia artificial y demás casi todo viene de la data si sacamos lo de los sistemas expertos y eso nos concentramos en machine learning todo lo que yo pueda sacar útil de este tipo de modelos proviene principalmente de la data y usualmente en el proceso de recolección de la data ya existe un sesgo en el que la persona te está tomando los datos del formulario y posiblemente escriba algo que en su cabeza escriba parte de los sesgos que esa persona ya tiene en la data y luego esos sesgos que esa persona ya tiene se van transferidos en los sistemas entonces pues quería mostrar eso porque este problema viene de raíz y el problema viene desde la data entonces lo que tenemos que hacer y las soluciones que he visto son bastante interesantes pero creo que no han sido suficientes muchas de las soluciones que se han planteado hasta ahora vienen con el análisis de esa data y la eliminación de las características que tengan sesgo, entonces por ejemplo en Estados Unidos hay una lista de características que son consideradas racistas o que son consideradas o que no puedes incluir en tus modelos o en tus soluciones entonces si vos no puedes incluir la edad, no puedes incluir el color, la religión entonces si vos desarrollas un sistema te ves regido ante esas leyes pero muchos pero imagínate muchos de estos modelos son cajas negras como hablábamos ahorita son cajas negras y no se sabe si realmente, o sea quien te va a controlar que tu modelo de puntaje crediticio no utilice por ejemplo la religión o la raza de la persona sacaste un modelo a donde sacaste la data la puedes inventar te la puedes eliminar, yo eliminé la columna color, eliminé la columna la columna raza y mira este era mi data, este fue el modelo que me salió y quien te va a decir que no lo hiciste así entonces es muy muy difícil de controlar eso es lo que he visto es básicamente se ataca la data se intenta eliminar estas características las personas que trabajan en las empresas de desarrollo como nosotros por ejemplo en muchas de ellas hay una persona que vela por la ética de sus soluciones, entonces esta persona entra y analiza los datasets analiza las soluciones que se están postulando y hay cierta manera relativamente sencilla de monitorear los sesgos y puedes analizar el comportamiento de tu modelo analizar pues como cuáles son las respuestas que él da de manera automática e identificar los sesgos y tratar de reducirlos a través de técnicas de regularización pues aquí nos vamos nos vamos como muy dentro de cómo hacerlo pero se utilizan a veces técnicas de regularización en la cual penalizarías si quieres incluir esta característica porque es muy importante penalizarías el hecho de que sea más importante que las demás si hay hay muchas cosas hay muchas muchas herramientas y bueno ahí pues como que una respuesta ahí por por encima pero pero vi bastantes cositas de eso y y y ahí hay una que se llama what if tool pues por si la quieren buscar que que consiste en eso varias técnicas para eliminar los sesgos es no creíble por eso uno se pone a pensar en eso y y en cada paso se pueden incluir sesgos lo que decías desde que colecta la data el que hace el labeling de la data o sea de pronto el el como que el el que hace labeling obviamente le dieron unos parámetros para que hiciera ese labeling y él interpreta esos parámetros con sus propios sesgos y entonces puede hacer un labeling sesgado claro y lo mismo pasa en el siguiente paso de pronto ya el ingeniero que está haciendo corriendo los test dice es esta respuesta tan rara no esto está malo y y cuadra algo para o elimina ese como un dato atípico o alguna mierda así y que no debió haber sido o sea es que cada paso se le se le puede imprimir sesgos a a estos sistemas eh bacano ese tema de de ética no solo en AI sino en en software en general eh está bueno y hay que hay que resolverlo tenemos que ponernos eh tenemos que ponernos pilas con ese tema eh

00:48:46 - Juan parece creo que ya hemos hablado bastante tiempo muchísimas gracias por por pues toda esta explicación tan tan bacana que nos diste de AI eh no sé si de pronto querrás dar algunos toques finales al al programa eh de pronto no sé dónde te si te interesa que te encuentren en Twitter o si tenés alguna recomendación de alguna comunidad de inteligencia artificial para que la gente se una o algo así eh si no realmente pues como que mi invitación y y creo que el objetivo de la charla era era mostrar pues como lo que se hace en en este campo traer cada vez más más personas pues al campo que realmente ha tenido pues como muy buena acogida por lo que decías se acerca mucho al conocimiento de muchas personas la invitación sería como a a desarrollar esas habilidades de las que hablábamos ahorita no no no descuidar eh eh como esas skills que son importantísimas pues como a la hora del desarrollo real de este tipo de aplicaciones y no, pues por ahí tengo en Twitter mi Twitter es jdmorales12 para que me sigan por ahí y publico algunas cosas no mucho más no me muevo así como mucho en demás redes pero ahí me pueden encontrar excelente, jdmorales 12 perfecto bueno, a los que este de pronto sea el primer capítulo que escuchen, espero que les haya gustado y los invito a que escuchen los otros también súper interesantes que tenemos y nos vemos en el siguiente capítulo muchas gracias muchas gracias a todos, que bueno estar acá chau

Podnation orange logo
Podcast con tecnología de Podnation