A menudo se piensa que para tener éxito con Machine Learning y Deep Learning, como una rampa de acceso a la Inteligencia Artificial, se necesita un profundo conocimiento en matemáticas y cálculo, así como algún tipo de doctorado. Pero no es así. Con APIs modernas como TensorFlow, gran parte de la complejidad se abstrae en bibliotecas preconstruidas, por lo que puedes centrarte en aprender. En esta sesión, Laurence Moroney, de Google, explicará cómo ha utilizado esto para crear cursos con cientos de miles de estudiantes, y a partir de ahí, cómo se creó un programa de certificación.
Enseñando ML y AI a los Programadores
Video Summary and Transcription
La charla analiza el estado actual de la IA y los desafíos que enfrentan los desarrolladores en su educación. La misión de Google es capacitar al 10 por ciento de los desarrolladores del mundo en aprendizaje automático e IA. Han desarrollado especializaciones e iniciativas de capacitación para hacer que la IA sea fácil y accesible. El impacto de la educación en IA incluye exámenes de certificación rigurosos y asociaciones con universidades. La charla también destaca las tendencias de crecimiento en la industria tecnológica y la importancia de las habilidades en IA. Se recomienda TensorFlow por sus capacidades de implementación, y se enfatiza la práctica para construir una carrera en aprendizaje automático.
1. Introducción a la IA y su estado actual
Estoy emocionado de hablar sobre mi trabajo educando al mundo sobre IA y mejorando el mundo a través de la IA. También soy el autor del libro IA y Aprendizaje Automático para Programadores, un éxito de ventas reciente. Actualmente, la IA se encuentra en la fase de expectativas infladas, y mi papel es ayudar a las personas a comprender sus verdaderas capacidades. El número de profesionales de IA es de 300,000, en comparación con 30 millones.
Gracias. Estoy realmente emocionado de estar aquí hoy para hablar sobre mi trabajo de educar al mundo sobre la IA y tratar de mejorar el mundo a través de la IA. Un poco sobre mí, también soy el autor de este libro IA y Aprendizaje Automático para Programadores. Acaba de ser lanzado, por lo que es bastante nuevo, y en realidad fue el número uno en ventas en varias categorías de IA. Primero, quiero hablar un poco sobre la IA y dónde se encuentra. Y este gráfico que me gusta usar es el ciclo de vida de Gartner. Y el ciclo de vida de cualquier tecnología generalmente comienza con la introducción de la tecnología y luego alcanza este pico de expectativas infladas. El pico de expectativas infladas es algo en lo que se ve una gran cantidad de hype alrededor de la tecnología, pero ese hype no se basa realmente en nada real sobre la tecnología. Se basa en especulaciones y en la tecnología misma. Y luego, a menudo, el ciclo de vida nos lleva a la depresión de la desilusión. A pesar del nombre negativo, en realidad es algo muy positivo porque es cuando superamos las expectativas infladas. Superamos el hype y entendemos de qué se trata realmente el producto y la tecnología. Y una vez que alcanzamos ese punto, a partir de ahí podemos alcanzar la productividad. Desafortunadamente, la IA en este momento probablemente se encuentre en algún lugar de aquí en la curva. Todavía hay muchas expectativas infladas. Y solo para aclarar, a veces las expectativas infladas pueden ser positivas, donde todos están pensando en las cosas increíbles que se pueden hacer con la tecnología. Y a veces pueden ser negativas, donde las personas están aterrorizadas y tienen miedo de la tecnología. Pero sus expectativas sobre sus capacidades o lo que están infladas debido a esta curva de ciclo de hype. Pero mi trabajo en general es tratar de llevar a las personas a esta depresión de la desilusión. A veces bromeo diciendo que soy un desilusionador profesional, pero realmente con la idea de hacer que el mundo comprenda de qué se trata realmente la IA, qué se puede hacer con la IA, cómo se puede construir con la IA y a partir de ahí, luego puedes crecer hacia la productividad. Entonces, como dije, estamos aquí en este momento. Y mi pregunta entonces es por qué crees que estamos aquí en este momento. ¿Cuáles son las razones detrás de esto? La primera que mostraré es este número. Y este número es 300,000, que es el número de profesionales de IA en el mundo según una encuesta realizada por una empresa en China. Y querían echar un vistazo a por qué hay una escasez global de habilidades en torno a la IA. Esto fue hace aproximadamente dos años y medio. ¿Por qué había una escasez global de habilidades en torno a ellos? Y querían decir, bueno, cuántas personas calificadas hay. Y eran 300,000 profesionales de IA. Ahora me gusta comparar esto con este número, que es 30 millones.
2. Desafíos y Misión en Google
Y varían enormemente. He visto algunos alrededor de 22 millones. He visto algunos alrededor de 35 millones. Por ejemplo, en la WWDC de este año, Tim Cook mencionó que solo en el ecosistema de Apple hay 28 millones de desarrolladores. Nuestra visión en Google es capacitar al 10 por ciento de los desarrolladores del mundo para que sean efectivos en el aprendizaje automático y la inteligencia artificial. Comenzamos este viaje hace aproximadamente 18 meses y hoy quiero compartir las estrategias que utilizamos y los resultados que hemos obtenido. Al trabajar con desarrolladores de software, recibí comentarios sobre las dificultades que enfrentan, incluido el uso de terminología desconocida y conceptos complejos. Esto presentó un desafío, pero se convirtió en nuestra misión en Google superar estos obstáculos.
Por ejemplo, en la WWDC de este año, Tim Cook mencionó que solo en el ecosistema de Apple hay 28 millones de desarrolladores. Entonces, si hago una regla general de que la mitad de los desarrolladores del mundo están en el ecosistema de Apple, podríamos estar más cerca de los 60 millones de desarrolladores a nivel mundial. Bueno, trabajemos con este número de 30 millones. Ahora recuerda que según la encuesta había 300,000 profesionales de IA. Según mi estimación, hay 30 millones de desarrolladores de software. Entonces, nuestra visión en Google es: ¿qué pasaría si pudiéramos capacitar al 10 por ciento de los desarrolladores del mundo para que sean efectivos en el aprendizaje automático y la inteligencia artificial? Y si lo lográramos, tendríamos tres millones de desarrolladores de IA y ML, que es 10 veces este número. Así que hicimos eso nuestro objetivo. ¿Podemos aumentar el número de profesionales a nivel mundial en un factor de 10? No en un número de 10. Así que dijimos que haríamos de esto nuestro objetivo. Comenzamos este viaje hace aproximadamente 18 meses, un poco más de 18 meses. Y hoy quiero compartir las estrategias que utilizamos y los resultados que hemos obtenido. Pero primero, al trabajar con desarrolladores de software y cuando hablo con ellos y cuando veo cómo están siendo capacitados, recibí muchos comentarios sobre por qué pensaban que era difícil y por qué era algo que les interesaba pero que iba a ser demasiado difícil para ellos dedicar mucho de su tiempo y de su tiempo de estudio para poder aprenderlo. Y empecé a ver muchas terminologías como las que he incluido en este gráfico, personas que decían que era difícil. Había mucha matemática. Había muchos términos con los que no estaban familiarizados, como aprendizaje no supervisado o aprendizaje supervisado. Realmente, al igual que yo, no habían hecho cosas como cálculo y probabilidad en 25 años. Y como resultado, la cantidad de conceptos que se les presentaban solo para comenzar hacía que fuera como un gran obstáculo que tenían que superar para poder comenzar a transformar su carrera y transformar su conjunto de habilidades para convertirse en un desarrollador de aprendizaje automático o IA. Así que vi eso como un desafío. Y una de las cosas que hacemos en Google
3. Misión: Hacer que la IA sea fácil
Mi misión en Google es hacer que la IA sea fácil. Al capacitar a millones de desarrolladores, podemos llegar a miles de millones de personas con soluciones de IA y romper la burbuja de la exageración para ver lo que es real en la IA.
4. AI Education Strategy and Specializations
La estrategia consistía en desarrollar un plan de estudios y contenido dirigido a desarrolladores, sin necesidad de un doctorado o habilidades avanzadas en matemáticas. La estrategia profesional incluye MOOCs, capacitación directa y capacitación gestionada. Nos asociamos con deeplearning.ai para producir tres especializaciones: TensorFlow en la práctica, TensorFlow datos e implementación, y TensorFlow desde lo básico hasta el dominio. Estas especializaciones cubren temas como procesamiento del lenguaje natural, visión por computadora y modelado de secuencias. También lanzamos el canal de YouTube de TensorFlow y creamos laboratorios de código prácticos para proporcionar lecciones rápidas y experiencia práctica en línea con lo que buscan los empleadores.
5. Google Training Initiatives and Success Stories
Y luego hemos estado trabajando en varias iniciativas de capacitación de Google, incluyendo fundamentos de ML. Hicimos una charla en Google llamada de cero a héroe en aprendizaje automático, que fue muy exitosa entre los desarrolladores. Tenemos resonancia con los desarrolladores con este tipo de mensaje. También tenemos esfuerzos de capacitación gestionados de alto contacto para capacitar a los desarrolladores, como la academia Bank It en Indonesia y el Boot Camp de Aprendizaje Automático de Google Developers en Corea.
Y luego, el que está en la parte inferior es el Boot Camp de Aprendizaje Automático de Google Developers que se lleva a cabo en Corea. En realidad, comenzó a fines de octubre. Y la idea detrás de este es que Google y varias empresas y muchas de ellas startups se unieron para patrocinar este boot camp, pero para hacerlo muy diferente. Y eso es el grupo de personas que ingresan a este boot camp. Si aprueban el contenido del boot camp, tienen un trabajo garantizado. Estoy particularmente emocionado por este dado la situación económica actual debido a la pandemia, para poder trabajar junto con la industria para crear un flujo de personas calificadas para hacer un trabajo pero con la motivación
6. AI Education and Impact
Hemos creado un riguroso examen de certificación para demostrar las habilidades de los desarrolladores en visión por computadora, procesamiento del lenguaje natural y modelado de secuencias. También trabajamos con universidades para ayudarles a desarrollar cursos, proporcionándoles nuestro plan de estudios y apoyo. Los MOOC que lanzamos tienen más de 600,000 estudiantes y son reconocidos como habilidades necesarias por el Foro Económico Mundial. Hemos tenido un gran éxito con universidades de todo el mundo, con docenas de ellas enseñando el plan de estudios de TensorFlow.
7. AI Education Impact and Initiatives
El Imperial College en Londres lo utilizó para crear su plan de estudios y un curso en línea en Coursera. Nuestro objetivo es ampliar el acceso a grupos subrepresentados, como mujeres y universidades históricamente afroamericanas en los Estados Unidos. El programa de certificación, lanzado en 2020, proporciona certificación orientada al empleo en NLP, visión por computadora y modelado de secuencias. Ayuda a cerrar la brecha entre los empleadores y los profesionales calificados en IA. Nuestra meta es capacitar a los desarrolladores para el éxito en la nueva economía.
El Imperial College en Londres lo utilizó para crear su plan de estudios, pero también lo utilizan para crear un curso en línea de su propia plataforma que enseñan en Coursera, lo cual me pareció muy emocionante.
Una de las cosas a las que estamos realmente comprometidos con esto es ampliar el acceso tanto como sea posible. Así que he estado hablando de que no solo necesitas un doctorado y cosas así. También queremos ampliar el acceso a personas que tradicionalmente no están representadas en IA. La Universidad Keio en Japón ha lanzado un curso para mujeres. Y sabemos que hay un problema de representación en la tecnología, un problema de diversidad en la tecnología al no tener mujeres en la tecnología. Y en Japón esto es particularmente agudo debido a algunos problemas históricos allí. Así que la Universidad Keio realmente quería ver si podían atraer a más mujeres a la IA y están lanzando este curso para mujeres que será impartido por mujeres. Y nuevamente, se convirtieron en parte de nuestro programa de financiamiento universitario que establecimos. Y este es uno de los resultados que surgió de ello. Y luego, dadas las problemáticas a nivel global y lo que hemos estado aprendiendo a nivel global sobre cuestiones raciales y el hecho de que las vidas de las personas negras realmente importan. Una de las cosas en las que hemos estado trabajando arduamente es colaborar con universidades históricamente afroamericanas en los Estados Unidos para ayudarles a aprovechar los beneficios de las capacidades que podemos tener con IA y poder aprovechar lo que el Foro Económico Mundial mostraba sobre el crecimiento de empleos en IA y poder capacitar a sus estudiantes para eso. Anteriormente mencioné el programa de certificación. Lo lanzamos a mediados de 2020 y, lo siento, a principios de 2020, en primavera de 2020. Y es un certificado orientado al empleo, un examen riguroso que abarca NLP, visión por computadora y modelado de secuencias. Y hasta ahora tenemos alrededor de 1200 titulares en todo el mundo y está aumentando de manera constante. Y la visión aquí es realmente ayudar a las personas a demostrar sus habilidades, pero también ayudar a los empleadores a saber que estas habilidades han sido demostradas. Una gran parte de la brecha de empleo que descubrimos fue que muchos empleadores no sabían cómo encontrar personas calificadas en IA y no sabían las preguntas correctas para hacerles. Así que creamos el programa de certificación con eso en mente. Y para concluir, mencioné un poco antes, pero parte del impacto en esto es que realmente queremos ayudar a impulsar la economía. Realmente queremos ayudar a capacitar a los desarrolladores para que tengan éxito en la nueva economía. Me gustaría compartir algunas estadísticas sobre el estado del empleo a nivel mundial. En primer lugar, este gráfico. Este es un gráfico general con una tendencia al alza, pero hay una gran caída en la parte inferior. Y este es el gráfico del PIB. Lo promedié en varios países, Reino Unido, Estados Unidos, etc.
8. Tendencias de Crecimiento y Perspectivas Futuras
La tendencia en los últimos 35 años muestra principalmente un crecimiento ascendente, con dos picos significativos en el gráfico. El primer pico ocurrió aproximadamente desde 1993 hasta 2007, impulsado por el crecimiento de la web y la economía tecnológica. Este período dio lugar a gigantes compañías como Microsoft, Apple y Google. El segundo pico es la economía de aplicaciones, que surgió con la introducción de los teléfonos inteligentes, especialmente con el lanzamiento del iPhone en 2007. A pesar de la caída causada por la pandemia, el ecosistema de aplicaciones aún ha experimentado un crecimiento significativo en empleos. Se espera que el próximo pico sea la cuarta revolución industrial, con un enfoque en datos, IA, ingeniería y computación en la nube. Los informes indican un alto potencial de crecimiento laboral en estas áreas, con una tasa de crecimiento anual compuesta de alrededor del 44 por ciento para el mercado global de ML y un Cagger del 43 por ciento para los ingresos del software de IA.
QnA
Importancia de las habilidades de IA y TensorFlow vs PyTorch
Estas habilidades son enormemente importantes a medida que avanzamos. Queremos capacitar a millones de desarrolladores para llegar a miles de millones de personas. Gracias por sus preguntas. Quiero implementar mis modelos en todas partes. La opción correcta es tener modelos en todas partes. Comencemos con una pregunta sobre TensorFlow o PyTorch. Tengo preferencia por TensorFlow, pero es bueno aprender todo lo posible sobre ambos.
Bueno, en primer lugar, comenzaré diciendo que estoy completamente sesgado dado que trabajo en el equipo de TensorFlow. Estoy usando una chaqueta de TensorFlow y estoy bebiendo café de una taza de TensorFlow. Así que creo que mi respuesta va a ser TensorFlow. Pero si me quito la chaqueta y dejo de usar la taza, creo que siempre es bueno que todos aprendan todo lo posible sobre ambos.
TensorFlow vs PyTorch y Construyendo una Carrera
A pesar de la competencia con PyTorch, se recomienda TensorFlow debido a su versatilidad en la implementación de modelos en diversas plataformas. Si bien PyTorch ofrece una interfaz más sencilla, la fortaleza de TensorFlow radica en sus amplias capacidades de implementación. La práctica es crucial para construir una carrera en el aprendizaje automático, y encontrar un proyecto apasionante con datos disponibles es una excelente manera de adquirir experiencia.
Sabes que damos la bienvenida a la gran competencia que estamos obteniendo con PyTorch. Creo que es brillante para la industria tener competencia entre los proveedores. Pero responderé que, a pesar de eso, sigo pensando que TensorFlow es la mejor opción debido a la cantidad de lugares diferentes donde puedes implementar modelos de TensorFlow. Exacto. Desde la infraestructura masiva a escala de la nube con TPUs multinodo hasta los microcontroladores y sistemas integrados más pequeños, tus habilidades de TensorFlow sin importar el tipo de modelo que desees producir, hay un lugar para ponerlo. Desde la perspectiva de la industria, creo que recomendaría enfáticamente, a pesar de mi chaqueta, que elijas TensorFlow.
Sí, definitivamente. Sé que PyTorch abstrae muchos mecanismos bien ocultos que TensorFlow proporciona. Y aunque es un intercambio porque por un lado TensorFlow es definitivamente más adaptable y controlable y flexible, mientras que con PyTorch algunas personas encuentran una interfaz más fácil de usar en general. Sí, no afirmaré tener experiencia en PyTorch. Es algo que necesito aprender más, siendo completamente sincero. Pero sí, mi enfoque siempre ha sido permitir que las personas tengan éxito con la tecnología. Y sabes, un nivel es poder construir modelos. Pero el otro nivel y el nivel más importante es tener un lugar donde implementarlos. Y creo que, en ese sentido, la capacidad de implementación es una fortaleza enorme de TensorFlow y es por eso que me apasiona tanto.
Sí, esa es una excelente respuesta. Y también aquí hay otra pregunta de Arjun Kumar. ¿Lo recomiendas? ¿Cómo recomiendas continuar construyendo tu carrera después de completar cursos como el tuyo o similares? Sí, buena pregunta. Creo que la práctica, la práctica y la práctica son muy importantes. Creo que, al igual que con cualquier tipo de programación, cuanto más lo hagas, mejor te volverás en ello. Comienzas a darte cuenta de las dificultades. Comienzas a darte cuenta de esos consejos y trucos, esas cosas que te hacen mejor en hacerlo. Así que el aprendizaje automático no es una excepción en ese sentido. Es realmente práctica, práctica y práctica. No tiene que ser público con competiciones en Kaggle ni nada por el estilo. Y una cosa que siempre recomiendo es que encuentres algo que te apasione y seguramente haya algunos datos disponibles sobre algo que te apasione y
Symbiotic Relationship Between Theory and Practice
Y simplemente continúa practicando y convirtiéndote en un mejor creador de modelos. La clave con cualquier cosa es practicar constantemente para mejorar. ¿Cómo equilibras las nociones completamente diferentes de abordar el aprendizaje automático y el aprendizaje profundo? Es una relación simbiótica entre la teoría y las aplicaciones prácticas. Comenzar con la codificación práctica facilita la comprensión de los modelos y cómo aprenden. Construir modelos sin conocer matemáticas es posible, pero comprender las matemáticas subyacentes es necesario para construir mejores modelos.
Me gusta el término que acabas de usar, simbiótico, porque creo que es exactamente correcto. Pero simbiótico, ¿cómo comienzas? Y deberían estar entrelazados. Pero, ¿cómo empiezas? Y quiero decir, puedo decir, al menos personalmente, que no había hecho cálculo en 30 años cuando comencé a investigar el aprendizaje automático moderno. Y cuando el material inicial que estaba viendo enseñaba cómo funciona un optimizador a través del descenso de gradiente y toneladas de cálculo, o enseñaba cómo funciona una convolución utilizando notación matemática y griega, debo admitir que estaba perdido. Me resultaba más difícil seguirlo. Pero cuando comencé a investigar esto usando código, principalmente código, me resultó mucho más fácil leer y entender el código. Así que mi relación simbiótica comenzó definitivamente en el lado práctico de la codificación. Ahora puedo entender qué es un modelo. Ahora puedo entender cómo un modelo aprende a partir de parámetros. Ahora puedo ver cómo funciona la retropropagación y cosas así. Y luego, con todo ese contexto, comencé a adentrarme en las matemáticas y a ver ah, ahora veo dónde estoy usando cálculo para el descenso de gradiente y todas esas cosas. Así que realmente construí ese contexto para poder entenderlo mejor, y por eso ahora es una relación muy simbiótica. Sabes, podría comenzar a construir modelos sin conocer matemáticas. Pero una vez que comencé a construir modelos, si quería construir mejores modelos, era necesario comprender lo que estaba sucediendo en el fondo. Sí, eso es completamente cierto, porque sé que hay muchas personas en la escuela, especialmente según nuestras encuestas, y tal vez en la escuela estén aprendiendo matemáticas muy complejas, como el cálculo, por ejemplo, que mencionaste, y te preguntas: bueno, si simplemente te lo presentan, está bien, pero ¿dónde lo uso? ¿Qué es
Cálculo y TensorFlow
No dejes que el cálculo sea el obstáculo que te impida comenzar en el aprendizaje automático. Una vez que eres productivo, se vuelve más fácil entender las matemáticas. En cuanto a TensorFlow, las primeras versiones estaban orientadas a gráficos, lo que dificultaba para los programadores. TensorFlow 2, con ejecución ansiosa, se volvió más pythonico y más fácil de usar.
Ahora que siempre tenemos tantas preguntas para ti, siguen llegando. Ya sabes, ves como TensorFlow se ha convertido en algo enorme justo frente a ti. Pero ¿tienes alguna reserva sobre TensorFlow? Tal vez en algún momento TensorFlow podría haber hecho algo mejor. Y probablemente todavía sea algo que sea un gran problema. ¿Hay algo así? No creo que haya algo que considere un gran problema ahora. Creo que una cosa que hubiera sido realmente agradable tener antes, pero que finalmente tuvimos con TensorFlow 2, fue pensar en ello de una manera más pythonica, porque las primeras versiones de TensorFlow estaban muy orientadas a gráficos. Entonces cargabas todas tus cosas en un gráfico y luego ejecutabas una sesión dentro de un gráfico. Y para mí, como programador en lugar de una persona de IA, eso era un poco extraño al principio. Era muy difícil porque no puedes hacer depuración paso a paso y cosas así. Cuando lanzamos TensorFlow 2, con ejecución ansiosa por defecto, se volvió más pythonico. Así que hizo que fuera mucho más fácil para las personas que son programadores comenzar y ponerse en marcha. Y si hubiera algo que tuviera el tiempo
Choosing a Language for Machine Learning
El mejor lenguaje para comenzar tu viaje en el aprendizaje automático es aquel que te apasiona. Si no tienes preferencia, se recomienda Python debido a la amplia disponibilidad de bibliotecas de soporte. Sin embargo, no hay nada de malo en usar JavaScript, especialmente con TensorFlow.js. Jason discutirá esto más a fondo en la conferencia.