Aprendiendo de Machine Learning | Vincent Warmerdam Calmcode, Explosion, Ciencia de Datos

Machine Learning Learning | Vincent Warmerdam Calmcode, Explosion, Data Science

La segunda entrevista de Aprendiendo de Machine Learning presenta a Vincent Warmerdam, ingeniero de ML de Explosion, creador de calmcode

Bienvenidos de nuevo a “Aprendiendo de Machine Learning”, una serie de entrevistas que profundiza en el fascinante mundo del machine learning. A medida que la IA revoluciona nuestro mundo, cada episodio ofrece información técnica junto con consejos de carrera y lecciones de vida de los principales practicantes en el campo.

En este episodio, Vincent Warmerdam, creador de calmcode y koaning.io, ingeniero de ML en Explosion y exdefensor de investigación en Rasa, comparte sus experiencias y consejos. Ha desempeñado numerosos roles en el mundo de la ciencia de datos, incluyendo consultor, defensor, entrenador, líder, educador y reclutador. Su trabajo se ha centrado en simplificar procesos, utilizar modelos de manera efectiva y educar a otros.

Su sitio calmcode proporciona contenido de ciencia de datos educativo de alta calidad y fácil de consumir y ha ganado popularidad y comentarios positivos. Actualmente atrae a miles de usuarios mensuales y se ha convertido en un recurso valioso para los científicos de datos. Vincent ayudó a organizar PyData Amsterdam y ha sido un orador constante en PyData y NormConf. Sus charlas son agradables y atractivas (échales un vistazo en YouTube).

Vincent ha creado docenas de herramientas para ayudar en el desarrollo de machine learning, procesamiento de datos, pruebas y procesamiento de lenguaje natural.

koaning – Resumen

🙂Vincent D.

github.com

La pasión de Vincent por construir herramientas prácticas, compartir su trabajo abiertamente y abordar problemas del mundo real con simplicidad y tranquilidad ha influido en la forma en que hago mi trabajo.

Resumen

Vincent ha tenido un camino de carrera poco convencional y entró en la ciencia de datos cuando aún estaba emergiendo. Atribuye su éxito a una combinación de suerte, la popularidad de su blog, la organización de reuniones y sus contribuciones de código abierto, que resultaron en ofertas de trabajo directamente de CEOs y CTOs en lugar de pasar por los procesos de contratación tradicionales. Su formación académica incluye el estudio de la investigación de operaciones y el diseño, lo que le dio una perspectiva única sobre algoritmos y restricciones. También mencionó que su trabajo como bartender en un club de comedia ayudó a mejorar sus habilidades de presentación.

Inspirado por el diagnóstico médico erróneo de un miembro de su familia, Vincent se sintió atraído por el machine learning para utilizar algoritmos y hacer mejores decisiones y predicciones. Durante su tesis de maestría, aprovechó la oportunidad de centrarse en el machine learning.

Su trabajo de código abierto ha sido impulsado por su deseo de resolver problemas específicos y, a veces, de rascar sus propias picaduras. Comenzó con su primer proyecto PyPI, evol, y desarrolló bibliotecas como scikit-lego, human-learn, whatlies y doubtlab basadas en sus necesidades y experiencias en diferentes empresas.

La biblioteca a granel surgió como resultado de su trabajo en human-learn y whatlies. Utiliza incrustaciones, reducción de dimensionalidad y clustering para facilitar la etiquetado masivo y la exploración de datos. Si bien la herramienta no proporciona etiquetas perfectas, ayuda a bajar la barrera de entrada y a construir intuición al trabajar en nuevos conjuntos de datos.

Comenzó calmcode como respuesta a la falta de contenido educativo de calidad en ciencia de datos, con el objetivo de proporcionar tutoriales concisos y opinados que se centran en transmitir la idea de manera efectiva. Sus lecciones consisten en una serie de videos cortos y fáciles de digerir. Se enfoca en enseñar herramientas y enfoques para mejorar el trabajo diario de ciencia de datos.

La experiencia de Vincent en el campo proporcionó una gran perspectiva sobre el estado actual del machine learning. Pudimos discutir las limitaciones de los modelos generativos, el papel de los sistemas basados en reglas para complementar los modelos de ML, las complejidades del etiquetado de la verdad terrenal.

El consejo de Vincent fue real y conmovedor. Advierte contra poner demasiado énfasis en las ganancias monetarias al comienzo de su carrera y priorizar el descubrimiento de su pasión y verdaderas motivaciones. Lucha con los sentimientos contrastantes de la utilidad del campo de ML y la necesidad de profesionales capacitados en él, al mismo tiempo que reconoce la abundancia de hype. Lo más importante, Vincent enfatiza la importancia de comprender claramente lo que se puede y no se puede influir y enfocar su energía en áreas donde se puede marcar la diferencia.

Consejos y conclusiones

  1. Entender correctamente el problema es lo más importante: un mejor algoritmo no siempre producirá mejores resultados si se aplica al problema equivocado.
  2. Reformular los problemas puede ser beneficioso: piensa de manera holística sobre la optimización del sistema en lugar de centrarte únicamente en mejorar los componentes individuales.
  3. “La gente a menudo olvida que el algoritmo suele ser solo una pieza en el sistema. Y estamos interesados en construir un mejor sistema, no una mejor pieza. Entonces, si estás construyendo una mejor pieza pero no encaja con el resto, no es una mejor pieza porque no obtienes un mejor sistema”.
  4. Considera comenzar un blog donde compartas lo que aprendes. Escribir pequeñas notas de “hoy aprendí” puede ser una forma fácil de construir una presencia en línea y demostrar tu aprendizaje continuo.
  5. No sientas la presión de saber todo al principio. Considera roles relacionados como analista, que pueden proporcionar habilidades y conocimientos valiosos que beneficiarán tu viaje en la ciencia de datos.
  6. “Puedes hacer paquetes de Python con más frecuencia de lo que crees, así que solo construye uno”. Más personas deberían crear sus propios paquetes de Python, incluso para herramientas internas o pequeñas funciones auxiliares. No suficiente gente aprovecha los beneficios de empaquetar y reutilizar su propio código.
  7. Salir de la burbuja del machine learning puede ser refrescante y proporcionar inspiración. Interactuar con personas que no están en el campo y comprender sus perspectivas puede ayudarte a crear mejores aplicaciones y enfocarte en el aspecto humano de tu trabajo.
  8. Ten cuidado de enfocarte demasiado en el dinero al comienzo de tu carrera. Es importante descubrir lo que disfrutas y lo que te motiva en lugar de simplemente perseguir un salario más alto.
  9. “Soy un poco de todo cuando se trata del campo del machine learning. Parte de mi opinión es que es una herramienta súper útil y necesitamos más personas capacitadas haciendo machine learning. Pero al mismo tiempo, es como un cubo de hype que realmente queremos tener menos. Y mi día a día es lidiar con ambos de estos sentimientos”.
  10. “Llamar a .fit y .predict son las partes fáciles. Todo lo que lo rodea es mucho más complicado. Especialmente si consideras temas de equidad, todas las cosas que pueden salir mal, ¿realmente podemos saberlo de antemano? No sé si siempre puedes”.
  11. “Hay algunas cosas que puedes controlar, algunas cosas que no. Solo asegúrate de entender lo que puedes y no puedes controlar y luego sigue adelante desde ahí”.

Entrevista completa

(esta entrevista fue ligeramente editada para mayor claridad)

Bienvenida

Seth : Bienvenidos a Aprendiendo de Aprendizaje Automático. En este episodio, tengo el placer de tener a Vincent Warmerdam. Actualmente es ingeniero de aprendizaje automático en Explosion, la empresa detrás de SpaCy y Prodigy. Vincent es un educador, un bloguero, y un orador constante en PyData.

Ha creado muchas valiosas herramientas de código abierto. Ha sido recomendado por su genialidad en LinkedIn más de cien veces. Verdaderamente una fuerza inspiradora en la comunidad de ciencia de datos. Bienvenido al podcast.

Vincent : Hola. Ese comentario. Me hace revisar. ¿Tengo cien recomendaciones? No sabía.

Seth : Más de cien.

Vincent : Ah, ok, genial.

Es una broma interna que tengo con un antiguo colega, quien pueda conseguir más. Ya tengo más de noventa y nueve recomendaciones por genialidad en LinkedIn ahora, ¡bien!

Antecedentes

Seth : ¿Por qué no nos das un poco de antecedentes sobre tu carrera profesional? ¿Cómo llegaste a donde estás hoy?

Vincent : Es un poco difícil dar un buen consejo profesional porque quiero reconocer que tengo un poco de privilegio y tuve mucha suerte porque cuando empecé en todo esto de la ciencia de datos, era la época en que los bosques aleatorios eran algo nuevo. Y si podías usar un bosque aleatorio, ya eras mucho mejor que todas las tradiciones económicas con volúmenes lineales. Así que si podías ejecutar fit y predict, ¡ya tenías un trabajo! Y yo estaba en esa época en el momento adecuado.

Después de eso, empecé a escribir blogs. Empecé a ayudar organizando algunos encuentros. Hay un encuentro de aprendizaje automático en Ámsterdam – ayudé a organizar PyData Ámsterdam.

Y también tenía un blog bastante popular, así que la gente empezó a reconocerme por eso. Y, en algún momento, ese reconocimiento te lleva a lugares, te invitan a hablar, y entonces la gente te ve como una figura de autoridad. No lo soy, me gusta pensar que tengo ideas sensatas, pero trato de ser modesto al respecto. Pero esa ha sido la historia de mi carrera porque la gente conocía mi blog, que usualmente incluía a un CTO de una empresa. Y entonces un CTO diría, “Oye, me gusta tu blog. ¿Podemos tomar una cerveza?”

Y usualmente, eso llevaba a la oferta de trabajo. Todavía no he hablado con un reclutador. Honestamente. Nunca me han contratado a través del proceso de reclutamiento hasta ahora en mi carrera.

Siempre ha sido a través del CEO o CTO porque conocían mi trabajo de antemano. Y esto es muy extraño, esta es una historia muy mala porque es muy difícil de replicar para otros porque simplemente tuve mucha suerte en esto. Creo que tener un blog y poder ser reconocido es muy útil, pero muy difícil de replicar. Pero también me gusta pensar que algunos de los proyectos secundarios que hice para el código abierto definitivamente ayudaron. Calmcode es algo que la gente me conoce hoy en día. Hay un dicho, planta mil flores y una de ellas será un loto.

…planta mil flores y una de ellas será un loto

Imagen generada usando https://huggingface.co/CompVis/stable-diffusion-v1-4 con la sugerencia “Planta mil flores y una de ellas será un loto”

Me suscribo a esa idea, pero mucho de eso se reduce a la suerte y un poco de privilegio también. Sólo quiero ser honesto al respecto. Ser capaz de ser reconocido ha demostrado ser útil para mí.

Seth : Sí. Definitivamente. Quiero decir, el viaje de cada uno es único. ¿Cuáles son los roles que has desempeñado en diferentes empresas?

Sé que has sido consultor en algún momento, defensor. Has tenido algunos títulos interesantes. ¿Verdad?

Vincent: Hubo una fase en una empresa anterior en la que realmente te permitían elegir cualquier nombre que quisieras y yo y un par de colegas pensamos que sería divertido ver realmente hasta dónde podíamos llegar. Así que me llamé a mí mismo maestro Pokémon porque pensé que era algo divertido. Mi título favorito fue persona mayor porque en algún momento, solo soy uno de los viejos en la empresa. Así que me llamé así.

En cuanto a los roles, he estado haciendo mucho entrenamiento, así que en algún momento te llamas entrenador. Debido a que estás haciendo consultoría, tienes diferentes roles en diferentes equipos. Así que en algún momento también fui líder.

También estaba ayudando a una empresa de reclutamiento a reclutar personas en empresas para equipos de datos específicos. A veces mi papel era súper temporal. A veces era por dos años. Pero por lo general, era una persona en un equipo de datos tratando de hacer que el equipo fuera productivo, haciendo lo que sea. Por lo general, las cosas en las que creo que soy bastante bueno son mantener las cosas muy simples.

Puedo obtener mucho rendimiento de los modelos lineales, que tienden a funcionar bastante bien. Y antes de eso, también tuve muchos trabajos diferentes en la universidad, y me gusta pensar que eso también ayudó. Mi formación es en investigación de operaciones, pero antes de eso, estudié diseño. Y mi trabajo nocturno fue como barman en un teatro de comedia en los Países Bajos, lo que me hace pensar que puede haber ayudado en mis habilidades de presentación de alguna manera. Haber estudiado diseño durante un tiempo también me hace pensar de manera diferente sobre los algoritmos.

Y cómo la investigación de operaciones me hace pensar mucho en las restricciones cuando estoy haciendo cosas de ciencia de datos. Me gusta pensar que tengo una formación algo diversa, y es esa formación algo diversa la que me facilita hacer lo que estoy haciendo ahora. Eso es un resumen.

Formación académica

Seth: Eso tiene sentido. Entonces, profundizando en tu formación académica, ¿cuál fue? ¿Fue investigación de operaciones y diseño? Eso suena bastante único.

Vincent: Sí, estudié ingeniería de diseño industrial durante un año, y luego descubrí que no era para mí. Así que tuve que cambiar de carrera. Y luego la licenciatura fue en econometría e investigación de operaciones, y la maestría fue en investigación de operaciones. Y pensé que era lo más interesante de los dos. Pero también porque eso tenía una pequeña entrada a la informática.

Así que si quería tomar los cursos de informática, esa sería una forma fácil para mí de tomar los cursos que quería tomar. Pero también estaba remando cuando estaba en la universidad y festejando un poco, así que no me permitieron comenzar mi maestría todavía. Así que tuve este año en el que tomé cualquier curso que me interesara. Hice un par de cursos en neurociencia, que fue bastante interesante, algo de psicología y biología y qué sé yo.

Nuevamente, me gusta pensar que la diversificación del conocimiento ha resultado ser bastante útil, pero el título oficial de mi formación académica es Investigación de Operaciones. Así que esa es la matemática detrás de la optimización de sistemas. Esa es la cosa que te enseñan allí.

Seth: Muy interesante. ¿Cuál es el problema canónico en investigación de operaciones que la gente trata de resolver?

Vincent: Entonces, un ejemplo muy clásico en el aprendizaje automático es que generalmente intentas optimizar hacia algo. Quieres que la pérdida sea lo más baja posible o que la precisión sea lo más alta posible. Y tienes algoritmos para eso. Por lo general, tomas tus datos y la etiqueta que quieres predecir y creas algún tipo de función de pérdida, tratas de reducirlos lo más posible. Y en la investigación de operaciones, haces algo muy similar.

Es solo que en la investigación de operaciones, por lo general no estás lidiando con un algoritmo de aprendizaje automático, pero estás lidiando con, digamos, “Oye, tenemos acciones en las que nos gustaría invertir y, oh, por cierto, eso también introduce restricciones. Porque sí, queremos obtener el mayor rendimiento, pero por supuesto, no queremos superar el presupuesto, y también tenemos una preferencia de riesgo “. Y esos se definen como restricciones matemáticas difíciles. Luego, si quieres optimizar, es una pelota diferente porque si tu algoritmo alguna vez supera los límites de la restricción, entonces estás en un territorio un poco malo. Por lo tanto, yo diría que esa es la cosa principal.

Si estás haciendo investigación de operaciones, entonces te enseñan que las restricciones realmente importan y quieres lidiar con ellas de manera matemáticamente adecuada. Y eso es un juego diferente. Pero esa es la cosa principal con la que están lidiando, esta optimización restringida. Eso es lo que hacen.

Seth : Muy interesante. Sí. Parece que necesitas un sólido conocimiento matemático. ¿También hay álgebra lineal?

Vincent : Mucho cálculo y álgebra lineal. Aunque, diré que depende un poco de lo que hagas. Cuando haces la maestría, por supuesto, haces cursos teóricos y tienes que hacer las pruebas. Pero en el momento en que comienzas a hacer tu tesis [las cosas cambian]. Tuve un profesor que básicamente dijo: “No sé nada sobre aprendizaje automático, Vincent, pero pareces muy ansioso. Haz aprendizaje automático y enséñame cómo funciona porque no tengo idea”.

Y eso fue genial. Los profesores me dejaron hacer lo que quería hacer, y también pude enseñarme a mí mismo de esa manera. Pero si realmente quieres hacer una investigación de operaciones adecuada y especialmente si quieres hacer un doctorado, es muy matemático. Eso es cierto.

Un poco demasiado pesado para mi comodidad, para ser honesto. Soy un poco más del lado aplicado de las cosas, pero todavía conozco a personas que terminan haciendo un doctorado, y definitivamente son personas que hacen pruebas matemáticas. Son el tipo de persona que tiene un libro de recetas de álgebra lineal. Eso definitivamente está en el campo.

Atracción por el aprendizaje automático

Seth : ¿Qué te atrajo del aprendizaje automático? ¿Qué te interesó al principio?

Vincent : Siempre hay algo genial en hacer predicciones. ¿Verdad? Así que hay algo en eso que pensé que era bastante interesante. Creo que la historia más larga, sin embargo, recuerdo que un familiar cercano mío recibió un diagnóstico médico equivocado.

El diagnóstico equivocado fue que le dijeron a la persona que tenía una enfermedad muy grave y la persona no lo tenía. Y descubrimos justo a tiempo, gracias a Dios. Pero podrían haber tomado algunas decisiones de vida realmente extrañas como vender la casa de inmediato debido a esa decisión. Así que eso me hizo pensar, bueno, hay una consecuencia definitiva al tomar decisiones equivocadas. Cualquier cosa que podamos hacer para tomar mejores decisiones es interesante.

Y tal vez haya algo en este aprendizaje automático. Toda la idea de que intentas aprender más de los datos usando una máquina, hay algo plausible en eso. Parece muy interesante. Así que fue alrededor de ese momento que pensé, bueno, sí, veamos si estos algoritmos pueden hacer algo.

Y resultó que las perspectivas laborales eran increíbles. Así que esa es otra motivación para entrar en ese ámbito. Pero la chispa inicial fue que se tomó una decisión equivocada. Así es como empecé a pensar que quizás haya sistemas que podamos mejorar aquí.

Calmcode

Seth : Muy interesante, y vamos a adentrarnos en el aprendizaje automático en un momento. Pero tener al creador y mantenedor de calmcode, que es un recurso tan increíble.

[Vincent se ríe]

Seth: No, no hay nada de qué reírse. Calmcode es increíble.

Está en las dos o tres cosas principales que recomiendo a cada nuevo científico de datos. La forma en que descompone cosas realmente complejas en una manera calmada, lógica y racional es extremadamente valiosa.

Vincent: Me alegra saberlo.

Seth: ¿Puedes hablar un poco sobre calmcode y por qué lo comenzaste? ¿Y bueno, qué es? Da una descripción general a todos.

Vincent : Así que en primer lugar, feliz de saberlo, que te gusta calmcode. Me alegra saber que ayuda. Entonces, básicamente, la historia detrás de calmcode fue que, en algún momento, estaba buscando contenido educativo sobre ciencia de datos. Y, como educador, comencé a notar que hay tanta basura.

Para dar un ejemplo, el tutorial número uno, quizás hace cuatro o cinco años, sobre cómo funciona scikit-learn, lo que sucedió con este conjunto de datos llamado Load Boston, que se trata de los precios de las casas de Boston. Hay tantos tutoriales que utilizan ese conjunto de datos, desde todos los libros de O’Reily hasta muchos paquetes de código abierto. Pero luego miras los datos y resulta que una de las variables que están utilizando para predecir el precio de la casa es el color de la piel.

Olvidé el nombre exacto, pero era algo así como el porcentaje de negros en la ciudad. No quieres poner eso en el modelo predictivo. Es una idea realmente, realmente mala. Además, ¿por qué este conjunto de datos está en scikit-learn? ¿Por qué tanta gente lo está usando?

Esto me llevó a mucha frustración. También me di cuenta de que hay cursos empresariales que utilizan Load Boston que cobran mil dólares por día. Y lo ves, piensas, esto es un desastre. Y pensé que si yo estoy tan frustrado, tal vez pueda sacar energía poniendo esto ahí fuera de forma gratuita.

Sabía que tenía suficiente conocimiento para poder enseñar este tipo de temas porque ya los he enseñado antes. Pero también he notado que gran parte del contenido educativo parece centrarse más en el creador y menos en simplemente transmitir la idea. Así que pensé que sería como un pequeño experimento divertido. Si hiciera una plataforma de aprendizaje, ¿cómo lo haría? Y así fue como se creó CalmCode.

La idea es que solo tienes un máximo de cinco videos de un minuto para explicar un solo tema y la secuencia de esos puede ser un pequeño curso sobre pandas o cualquier otra cosa.

…para cada tema puedo decir, ¿es esta una herramienta tranquila? ¿Es algo que hace que tu día a día sea más agradable? Y si la respuesta es tal vez no, entonces simplemente no lo enseño.

Lo que me gusta de hacer la cosa de CalmCode es que para cada tema puedo decir, ¿es esta una herramienta tranquila? ¿Es algo que hace que tu día a día sea más agradable? Y si la respuesta es tal vez no, entonces simplemente no lo enseño, que también es una de las razones por las que no enseño Spark, para ser honesto. Porque instalarlo es un dolor de cabeza. Y a veces hay formas más fáciles de analizar los datos que recurrir a una herramienta de big data muy grande.

Así que es solo un entorno de aprendizaje muy opinado que a la gente parece gustarle mucho. He recibido muchas respuestas muy agradables. Desde que llegó el bebé, he estado haciendo mucho menos.

Pero ha sido muy genial ver cómo este pequeño proyecto de hobby mío sin distracciones que es muy tranquilo. Parece estar llegando a entre diez y veinte mil personas al mes. Y recibo muchas personas que me compran cervezas en conferencias de forma improvisada. Ese tipo de cosas son bastante geniales.

Seth: Sí. Es un gran recurso. Definitivamente estás retribuyendo, creando un lugar para que los científicos de datos puedan aprender cualquier cosa. ¿Alguna vez te has encontrado volviendo a un viejo calmcode para refrescarte en algunas de estas habilidades?

Vincent: Sí. Esa es otra razón. Entonces, una cosa que calmcode me ha resultado muy bien es que es como una biblioteca de fragmentos. Porque conocía el curso que hice y sabía que definitivamente mencioné esto en ese curso y necesito un archivo de configuración, ¿dónde está?

Hoy mismo, estaba mirando mi curso de typer porque necesitaba “oh, ¿cómo funcionan las opciones otra vez? Copiar y pegar.” Así que también es casi una herramienta de fragmentos para mí en este punto. No era la intención original, pero es algo que parece estar sucediendo.

Y también estoy construyendo la búsqueda para CalmCode ahora también. Es algo así como un proyecto de hobby. Estoy contemplando, quizás lo principal que la función de búsqueda debería hacer es simplemente encontrar los fragmentos correctos, que es como un problema de búsqueda interesante por sí mismo.

Pero sí, totalmente, necesito un recordatorio también. Hay muchos cursos. No los tengo todos en mi cabeza todo el tiempo. Todavía veo mis propias cosas en ese sentido. Sí.

Seth: Sí. Es un buen recurso para ti que puedes consumir y que también se convirtió en algo que muchas otras personas pueden usar. Estoy tratando de pensar en mi primer uso de él. Creo que fue, como, args kwargs, que es uno de los primeros en la lista. Sí. Lo reviso de vez en cuando.

Vincent: Genial. Sí. Genial.

Seth: Gracias.

Vincent: Bueno, entonces me encantaría hacer más.

Pero el simple hecho del asunto es que mi vida es un poco diferente ahora por el bebé. Así que hay tantas ideas que tengo que podría hacer con CalmCode. Una de las cosas que también me gusta del proyecto es que no puedo dedicar ningún esfuerzo a él y el sitio seguirá funcionando. ¿Verdad? Así que esa es también la tranquilidad del diseño.

Realmente me gusta tener un proyecto de hobby que sea imposible de romper. Y si algo se rompe, es muy fácil de arreglar porque es solo un sitio web estático. Así que eso lo hace súper fácil.

Seth : Si no hubiera limitaciones de tiempo ni de recursos, ¿qué harías para mejorar calmcode?

Vincent : Hay un par de cursos en particular que me encantaría hacer. Uno de ellos es sobre embeddings, creo que hay un poco de hype alrededor de ellos, pero también se pueden hacer diferentes cosas con embeddings y hay razones por las que funcionan. Pero no resuelven todos los problemas y podría hacer un curso divertido donde se empieza con embeddings de letras y se continúa con otros embeddings de imágenes, y también se muestra cómo pueden fallar. Creo que eso podría ser genial.

También sería bueno tener algo sobre Bayesian MCMC [Markov Chain Monte Carlo] porque se pueden hacer modelos muy articulados, lo cual es un truco que no muchas personas aprecian lo suficiente.

Y me encantaría tener una nueva sección en el sitio, que sea todo sobre demos y benchmarks. Y eso es porque creo que es muy difícil hacer mal un benchmark. Todos los benchmarks están mal, pero algunos pueden ser muy esclarecedores. Y creo que celebrar eso un poco más también sería divertido. Tengo un par de ejemplos en mente, pero no tengo tiempo para producirlos.

Cosas como, ¿qué se puede hacer para que los algoritmos numéricos converjan un poco más rápido? ¿Realmente ayuda la estandarización o no? Y, simplemente explorar eso un poco podría ser muy divertido.

Eso es lo que tengo en mente. Siempre hay cosas por hacer. Y, como, otra cosa en la que estoy trabajando es, ¿sería divertido colaborar en ese proyecto? Tal vez. No lo sé. Pero, por supuesto, no hay prisa. Así que también está bien si no dedico tiempo a eso ahora mismo. Eso también está bien.

Open Source

Seth : Sí. Genial. Cambiando un poco de tema hacia tu trabajo de código abierto. Creo que la primera librería tuya a la que me expuse fue bulk. Quizás algo más antes de eso, pero esa fue la primera que realmente usé. Y luego también tienes embetter, human-learn, whatlies, doubtlab, cluestar. Esas son las que más conozco. Sé que hay otras dos o tres docenas.

Vincent : Sí. Pequeñas docenas en este momento.

Seth : ¿Cuándo decides que este proyecto merece una biblioteca de código abierto? ¿Cuando piensas que es una herramienta?

Vincent : Ayuda un poco explicar cómo comenzó lo del código abierto. Así que mi primer proyecto de código abierto que puse en PyPI se llamaba evol, que es básicamente un DSL para programación evolutiva. Lo hice con un colega mío. Era una idea muy linda. Y quería tener mi propia pequeña librería.

Así que estaba buscando un problema. Y luego me di cuenta de que, si tengo un objeto de población y un objeto de evolución, y esos dos pueden interactuar de formas agradables y es súper fácil hacer algoritmos genéticos. Bien. Genial librería, di un montón de charlas sobre eso.

Pero luego en algún momento, aprendí a hacer paquetes de Python. Y luego fui consultor, y empecé a notar que en diferentes clientes estaría escribiendo los mismos componentes de scikit-learn. Así que pensé, tengo que tener una librería con estos componentes que sigo reutilizando. Y así fue como se creó scikit-lego, y cómo me familiaricé con el ecosistema de scikit-learn.

Y luego, empecé a trabajar en Rasa. Y allí hacemos muchos benchmarks sobre la clasificación de oraciones porque Rasa construye chatbots. Y cuando estás construyendo chatbots, llega una oración y necesitamos averiguar la intención. Vale. Así que escribí un montón de herramientas de benchmarking porque eso era lo que necesitaba y algunas de ellas se pueden hacer de código abierto.

Whatlies fue un ejemplo de eso porque quería tener una librería donde muy rápidamente pudiera tener muchos embeddings no ingleses y ver si eran mejores. Y luego resultó que hay toda una comunidad no inglesa alrededor de Rasa que estaba súper interesada en eso.

Así que pude construir algunos plugins de Rasa para soportar todas estas herramientas no inglesas. Y, luego, en algún momento, empecé a mantener mis propias librerías, y luego noté que necesitaba algunas pruebas unitarias para mis docs porque no quiero que mis docs se rompan. Así que hice un par de herramientas para ayudarme a hacer eso. Mktestdocs – Esa es una de estas herramientas.

Noté que las pruebas en Rasa se estaban ejecutando muy lentamente, así que hice insights de duración de pytest para poder averiguar cuáles pruebas eran las más lentas. Y puede ver cómo todas estas cosas se acumulan, pero siempre es porque estoy rascando otra picazón. Y mi forma preferida de operar es hacerlo en público.

Y, por supuesto, hay herramientas que no puedo hacer en público. Trabajo en una empresa. Algunas herramientas son privadas. Eso está bien. Pero la mayor parte del tiempo, me encuentro con un problema y simplemente quiero poder resolverlo de nuevo más tarde con muy poco esfuerzo. Y porque he hecho paquetes antes, es súper fácil de repetir.

Y así es como sucedió doubtlab, y así es como sucedió embetter, y honestamente, también cómo sucedió bulk. Es solo que en algún momento, pensé que necesitaba esto para mi trabajo. Es bueno tenerlo por aquí, así que simplemente empacémoslo y vayamos a construir en público, y eso funciona muy bien para mí. Esa es la historia principal aquí.

Seth : Sí. Muy interesante. Y esa es una gran historia. Parece que al construir una herramienta, desarrollas ciertas habilidades, y luego una cosa lleva a otra, y luego no es tan difícil.

Una vez que tienes alrededor de tres docenas de herramientas increíbles, supongo que agregar la trigésima séptima no es gran cosa.

Vincent : Sí, pero quiero hacer un comentario porque creo que, en general, si miro las empresas que visité, con mi experiencia como consultor, creo que no hay suficientes personas que hagan sus propios paquetes de Python.

Por ejemplo, imagina que tienes una consulta de pandas que tiene que lidiar con series de tiempo o algo que está funcionando en esta base de datos muy específica. Bien. Entonces, la función que lee los datos de la base de datos probablemente puede ser una función que debe reutilizarse. Y tal vez tenga que agregar sesiones o tal vez tenga un modelo de aprendizaje automático muy específico que desee reutilizar.

Y para todas estas utilidades, no desea que vivan en un cuaderno. Desea que vivan en un paquete de Python. Y he visto que no hay suficientes personas que creen sus propias herramientas internas, lo que creo que es una lástima. Estaba rodeado de algunos colegas maduros en ese momento y escribiríamos nuestras propias herramientas de Python internamente.

…puedes hacer paquetes de Python con más frecuencia de lo que crees. Así que construye uno aunque sea para tus propias funciones auxiliares en pandas que te gustaría usar.

Y como teníamos ese hábito, también fue bastante fácil para mí hacer uno que fuera público. Entonces, este es un consejo que podría tener para una audiencia más general, puedes hacer paquetes de Python con más frecuencia de lo que crees. Así que construye uno aunque sea para tus propias funciones auxiliares en pandas que te gustaría usar. Ese es un caso de uso totalmente legítimo.

Bulk

Seth : Sí. Para profundizar en el que más he usado, bulk. ¿Puedes hablar sobre bulk? ¿Cuál es el pipeline y los requisitos para ello? ¿Cuáles son los mecanismos en juego?

Vincent : Sí. Puede ser divertido también explicar cómo sucedió esa biblioteca accidentalmente. Así que tenía una biblioteca llamada human-learn. Hay algunas características realmente geniales, pero todo lo relacionado con human-learn es que como humano, ahora puedes hacer modelos scikit-learn sin saber nada sobre aprendizaje automático. Una cosa que puedes hacer es convertir una función de Python en un componente compatible con scikit-learn, lo cual es útil. Entonces puedes buscar en cuadrícula sobre los kwargs y todo eso.

Sin embargo, una cosa que pensé que también era genial es que, por lo general, ves un gráfico, algunos puntos azules allí, algunos puntos amarillos allí, algunos rojos allí. Y la gente dice, para esto necesitamos aprendizaje automático y luego un algoritmo los disecciona. Pero luego pensé, ya sabes, puedes dibujar un círculo alrededor de los puntos verdes y un círculo alrededor de los azules y simplemente traducir ese círculo en un modelo scikit-learn. Así que eso es una característica de human-learn. En human-learn, tenemos componentes de bokeh que pueden hacer eso desde un cuaderno.

Y mientras trabajaba en eso, también estaba trabajando en whatlies en Rasa para todos estos embeddings de palabras. Luego, en algún momento, comenzó a amanecerme que cuando tomas estos embeddings de palabras y los pasas por UMAP, obtienes estos grupos. Y luego pensé: oh, solo quiero seleccionarlos. Oh, espera. Tengo esta herramienta llamada human-learn que hace eso.

En menos de una hora, lo tenía funcionando en un notebook. Luego, se lo mostré a un grupo de colegas y todos dijeron “Esto es súper útil, Vinny. Bien hecho”. Así que ese notebook se compartió mucho.

Ahora, ya no trabajo en Rasa, y comencé a trabajar en una empresa llamada Explosion. Tenemos una herramienta de anotación. Y sentí la necesidad de volver a hacer lo mismo, pero no quería usarlo en un notebook. Así que lo convertí en una pequeña aplicación web que se puede ejecutar localmente y es uno de los pasos de preprocesamiento que me gusta usar como lo que se hace antes de comenzar a anotar en Prodigy. Simplemente tomas tus datos, los incrustas en un gráfico 2D usando UMAP y típicamente ves clusters y tratas de explorar ese espacio, hacer una selección, y eso es todo.

Es una forma muy buena de etiquetar a granel porque los clusters tienden a aparecer a partir de estas incrustaciones. Y ese es básicamente todo el truco. Estas técnicas de etiquetado a granel, funcionan en cierta medida, pero no son perfectas. Parecen lo suficientemente pragmáticas para que pueda comenzar en una hora. Y esa es la fuerza de la herramienta. Cosas que solían llevarme seis horas, ahora solo me llevan una hora.

Es un truco que solo funciona para empezar, pero empiezo mucho con muchos nuevos conjuntos de datos. Así que para mí, resuelve totalmente un problema. Bulk es también uno de estos proyectos en los que me encantaría tener más tiempo para solucionar algunos de los problemas, pero es un pequeño truco que funciona perfectamente y me encanta usarlo. Y parece haber una pequeña multitud de personas que también están muy agradecidas por esa herramienta, especialmente porque funciona tanto con texto como con imágenes. Fuera de la caja, solo hace eso.

Seth: Muy bien. Sí, usé Bulk cuando estaba en un notebook. Sé que me contacté contigo. Fuiste muy generoso con tu tiempo tratando de ayudarme a ejecutarlo en diferentes entornos.

Vincent: Sí, el primer notebook tenía algunos errores. Eso es cierto. Sí, definitivamente lo recuerdo.

Seth: Aún así, hizo el truco.

Vincent: Sí. Bueno, también en Rasa, tenía la costumbre de hacer estos videos. Bulk tenía un video de YouTube adjunto también, que es cómo muchas personas se enteraron de él. Y creo que hay un repositorio que todavía tiene ese notebook, que todavía recibe estrellas en estos días.

Pero recomiendo que la gente use la herramienta de línea de comandos ahora porque hay menos distracciones y es un poco más estable.

Seth: Sí. Y luego, interesantemente para mí, mientras trasladaba gran parte de mi trabajo fuera de los notebooks y en scripts. Me volví a encontrar con Bulk y ahora estoy usando más la aplicación web. Me encantan ambas herramientas y haces un buen punto.

A veces, reducir la barrera para comenzar un problema es muy importante porque entonces comienzas a moverte, comienzas a tener algunas ideas y puedes hacer algún progreso significativo. Lo que me gusta es que comienzas a construir una intuición, explorando los datos y comienzas a pensar “Oh, vale. Estos podrían ser algunas categorías potenciales”.

Vincent: Definitivamente hay un aspecto de aprendizaje humano en el proceso que también creo que es realmente útil. Especialmente cuando te arrojan un nuevo conjunto de datos. Sí, puedes empezar a arrojarlo a un algoritmo y eso está [bien]. Pero en general, entender lo que hay en el conjunto de datos suele ser lo que más tiempo lleva. Y es bueno que, como efecto secundario de Bulk, al menos te expongas a estos clusters. Y eso por sí solo parece bastante útil.

En este momento, puedes etiquetar a granel oraciones e imágenes. Una de las cosas en las que estoy trabajando es hacer lo mismo para frases, para subcadenas de texto. Así que ahora puedo incrustar toda la oración, pero lo que quiero es ser capaz de tomar cada frase nominal en esa oración y hacer un pequeño punto para eso. Porque de esa manera, si estás interesado en hacer reconocimiento de entidades nombradas o algo así, también podemos hacer etiquetado a granel para ti.

Y, especialmente con cosas como los videojuegos que pueden ser abreviaturas – Star Wars son dos tokens. Sería bueno si pudiéramos convertirlo en una sola frase. Y en nuestra empresa Explosion, tenemos muchos trucos que resuelven todo esto por completo. Solo necesito tener una tarde para hacer que funcione dentro de Bulk.

Pero son cosas que están en el plan de ruta en las que definitivamente estoy interesado en resolver algunos de esos problemas también.

Comprendiendo el problema

Seth : Sí. Así que he notado al revisar algunos de tus trabajos. Que gran parte de ellos se enfoca en crear conjuntos de datos de alta calidad. Pero algo antes de eso es en realidad comprender el problema. Y vi una de tus charlas de PyData sobre reformular el problema.

Y diste un ejemplo increíble sobre un problema en el que alguien busca frijoles, carne y pan.

Vincent : Oh, sí.

Seth : ¿Puedes hablar de ese?

Vincent : Entonces, esta no es mi historia. En realidad, conocí a la persona que trabaja en el Programa Mundial de Alimentos haciendo Investigación de Operaciones. Y uno de los problemas que tenían era [tratar con] el hambre en el mundo. Y, a veces, una aldea con hambre dice que necesitamos más frijoles o necesitamos más pollo o hay demanda de ciertos productos. Y luego, parte de lo que intenta hacer la Organización Mundial de la Alimentación es obtener esos alimentos de manera económica.

Y luego, parte del costo aquí es la logística. Entonces, ¿podemos conseguir la comida en el camión? ¿Y qué tan costoso es conseguir el camión? Y toda la logística. Y como esta persona decía, definieron el problema de manera incorrecta originalmente porque cuando una persona dice, necesito frijoles, sí, pueden decir eso, pero no es frijoles lo que necesitan, son nutrientes. Y los frijoles, son ricos en fibra y proteínas.

De acuerdo. Hay otros alimentos como las lentejas que también son ricos en fibra y proteínas. Y si estamos luchando contra el hambre, entonces no vamos a ser muy exigentes sobre si obtenemos frijoles o lentejas. Y tal vez si hacemos eso, podemos obtener el alimento sin necesidad de un astillero. Podemos simplemente enviar el camión.

Y solo al reformular ese problema, creo que obtuvieron una reducción de costos del cinco por ciento, lo cual es un número muy alto y loco para una operación, para un problema en el que las personas ya han pasado años tratando de optimizar. Obtener una reducción de costos del cinco por ciento es casi inédito, pero fue básicamente porque estaban resolviendo el problema equivocado. Y mi teoría es al menos que, como, esta es una anécdota de algo que le sucedió a esta persona en el Programa Mundial de Alimentos. Por lo general, este acto de reformular es un ejercicio muy útil y tal vez no lo hacemos lo suficiente.

Un ejemplo en el procesamiento del lenguaje natural, uno de los problemas que a veces vemos en nuestro foro de soporte es, digamos, que tienen un currículum que quieren analizar. Y luego dicen, bueno, quiero tener la fecha de inicio y la fecha de finalización por trabajo. Entonces, quiero tener un algoritmo que pueda detectar la fecha de inicio. Y, ya sabes, puedes construir un algoritmo que pueda detectar la fecha de inicio, eso está bien. Pero si reformulas el problema en, primero encontremos todas las fechas, y luego averigüemos cuál es la fecha de inicio y la fecha de finalización, entonces el segundo problema se convierte en, bueno, la fecha de inicio probablemente es la primera y la fecha de finalización probablemente es después de eso. Oh, todo el problema se vuelve mucho más simple si simplemente reformulas el problema en un enfoque de dos pasos en lugar de considerarlo de extremo a extremo.

Y hay muchas de estas oportunidades que las personas olvidan. Y yo, de nuevo, para volver a calmcode, temo que en parte algunos de los libros de aprendizaje automático sean los culpables porque muy pocos libros de aprendizaje automático te dicen que puedes elegir ignorar la mitad de los datos si tiene más sentido. Puedes elegir simplemente resolver un problema diferente si es más fácil de resolver. Pero ese no es el modo de pensar que parezco ver, especialmente con los nuevos graduados. Lo cual es un poco triste.

Pero con esa historia del Programa Mundial de Alimentos, tengo que confiar en la persona en el escenario que me lo contó, pero definitivamente sucede. Como el Programa Mundial de Alimentos encontró una manera de reducir el costo del transporte en un cinco por ciento simplemente reformulando un problema matemático. Y definitivamente algo que sucede en la vida real.

“No fue el algoritmo lo que salvó el día, sino la comprensión del mundo. Un algoritmo mejor produciría un resultado peor si se usa en el problema equivocado.”

Seth : Claro, sí. Y hacer algo a esa escala, cualquier tipo de reducción, una reducción del cinco por ciento es enorme. Mi cita favorita de esa presentación que dijiste fue: “No fue el algoritmo lo que salvó el día, sino la comprensión del mundo. Un algoritmo mejor produciría un resultado peor si se usa en el problema equivocado.” Me gustó mucho esa.

Vincent : Oh, me alegra escucharlo. Así que, hay más anécdotas en esa historia. Pero si a la gente le interesa, hay un investigador de operaciones, [Russell] Akhoff.

Y él escribió un artículo sobre esto, el título era El futuro de la investigación de operaciones es pasado, que escribió en los años ochenta. Básicamente, describe por qué pueden fallar los algoritmos de investigación de operaciones. Y son razones relacionadas con esta anécdota. La razón por la que quiero mencionar esto es porque algunos de esos argumentos también aplican a la ciencia de datos. Es un artículo de los años ochenta, pero todos deberían leerlo: El futuro de la investigación de operaciones es pasado.

Y yo escribí un artículo similar llamado El futuro de la ciencia de datos es pasado al repetir algunos de esos argumentos. Pero a menudo la gente olvida que el algoritmo -generalmente- es solo una pieza del sistema, y estamos interesados ​​en construir un sistema mejor, no una pieza mejor. Así que si estás construyendo una pieza mejor pero no encaja con el resto, no es una pieza mejor porque no obtienes un sistema mejor.

Pero a menudo la gente olvida que el algoritmo -generalmente- es solo una pieza del sistema, y estamos interesados ​​en construir un sistema mejor, no una pieza mejor. Así que si estás construyendo una pieza mejor pero no encaja con el resto, no es una pieza mejor porque no obtienes un sistema mejor.

Otra cosa que Akhoff hace muy bien en sus libros es que explica muchas de estas teorías de sistemas. Y una cita que recomiendo a la gente pensar más sobre ella es tal vez en lugar de hacer, digamos, una pieza mejor. En lugar de pensar: “Oye, tal vez haya una parte del sistema que podamos optimizar”. Tal vez intenta ver si puedes mejorar la comunicación entre dos partes. Porque si lo piensas desde una perspectiva de sistemas, al hacerlo, estás optimizando dos cosas.

Y también estás ganando claridad, lo cual siempre es bueno. Y definitivamente este tipo de “pensemos en un problema reduciéndolo a un número único y no consideremos nada más”, es un agujero de conejo donde también se pierden las personas en la ciencia de datos, creo.

Seth : Sí, es súper interesante porque creo que a menudo cuando las personas abordan los problemas, a veces se enfocan en los diferentes módulos y tienen esta forma modular de pensar sobre las cosas y piensan: “Oh, si hago que esto sea lo mejor que pueda ser, entonces todo el sistema será mejor”. Y en algunos casos, hará una gran mejora. Pero otras veces, es muy importante entender el sistema de soporte y cómo se integra. Me recuerda que tienes que tener buenos tests de integración y debes asegurarte de que todo encaje correctamente en el sistema.

Vincent : Para dar una anécdota aquí, el ex CEO de bol.com escribió sobre esto en su autobiografía. Entonces, bol.com es como el Amazon holandés. Amazon no es tan grande aquí. Bol.com es básicamente Amazon, pero azul y holandés, es algo que tenemos aquí.

Pero contrataron a su primer científico de datos en algún momento. Y este libro tiene un capítulo sobre eso: ¿Qué sucedió cuando conseguimos nuestro primer científico de datos? Y en el libro, el primer científico de datos es retratado como alguien un poco arrogante. Que siempre se queja de que todos estos humanos no son tan buenos como mi algoritmo.

Y luego, una de las cosas que hace es descubrir que hay un momento óptimo para tuitear sobre nuevos videojuegos que salen en sus canales sociales, etc. Eso es lo que hizo. En Holanda, tenemos esto llamado Día de la Conmemoración. Y creo que son las siete en punto, podrían ser las ocho, pero durante el Día de la Conmemoración, recordamos la Segunda Guerra Mundial. Y básicamente, todo el país guarda dos minutos de silencio.

Tal vez hayas visto algunas fotos donde las personas en bicicleta que entregan pizzas se detienen, se quedan quietas durante dos minutos. Es algo que las personas toman bastante en serio. Entonces, las siete en punto del Día de la Conmemoración serían un momento muy malo para tuitear sobre el nuevo juego de disparos de Call of Duty donde puedes disparar a un montón de personas. Y sería especialmente malo si tuitearas que estás emocionado por la posibilidad de disparar a personas durante el Día de la Conmemoración. Pero eso es exactamente lo que sucedió porque su algoritmo determinó que las siete en punto eran el momento óptimo para comenzar a tuitear sobre este tipo de cosas.

Y hay muchas historias como esta. ¿Verdad? Y, en sí mismas, en papel, no puedo culpar al científico de datos por hacer su trabajo. Pero esto es un problema de sistemas. El primer grupo tiene la preocupación de que algo pueda salir mal, el segundo grupo no.

Si logras que se comuniquen entre sí, usualmente el mundo es un lugar mejor. Esa es la temática, diría yo.

Seth: Cuando obtienes la respuesta a tu problema y tienes que preguntarte, ¿tiene esto sentido? A veces es un pequeño paso que muchas personas pasan por alto, pero es extremadamente importante.

Vincent: Quiero reconocer que también es difícil, ¿verdad? Creo que llamar a .fit y .predict son las partes fáciles.

Es todo lo que hay alrededor de eso. Es mucho más complicado. Especialmente cuando consideras temas de equidad, todas las cosas que pueden salir mal, ¿realmente podemos saber eso de antemano? No sé si siempre puedes.

Pero para mencionar algo positivo, hay un proyecto. Se llama Deon, la lista de verificación de Deon. Hay un curso calmcode.

Deon es una lista de verificación de ciencia de datos. Es solo un montón de cosas que han salido mal en diferentes compañías donde hay artículos de periódicos explicando cuán mala se volvió la situación. Tienen una lista de verificación de cosas como “oye, verifica esto antes de publicar porque las cosas podrían salir mal”. Y para cada elemento de esa lista de verificación, también tienen dos artículos de periódicos de cosas que sucedieron en el pasado. Así que tú, como científico de datos, puedes acercarte a tu jefe y decir, “quiero minimizar el riesgo porque esto salió realmente mal”.

Y es realmente un proyecto genial porque realmente recopilaron las anécdotas adecuadas, lo cual es un acto poderoso en este día y edad.

Preguntas sin respuesta en el aprendizaje automático

Seth: Sí, totalmente. Tener una historia conectada a cualquier cosa en la ciencia de datos siempre es valioso.

Para ampliar y hablar sobre el aprendizaje automático en general, ¿cuál es una pregunta importante que crees que sigue sin respuesta en el aprendizaje automático?

Vincent: Bueno, estaba tomando en una fiesta posterior a PyData. Y algunas personas se me acercaron, y estas eran personas que consideraría relativamente experimentadas. Sabían lo que hacían y me pidieron que predijera el futuro del aprendizaje automático.

Y pensé en hacer una broma porque, ya sabes, estás en un bar. Realmente no tenía ganas de profundizar mucho en eso. Como broma, pensé en decir, “¿sabes lo que pienso del futuro de la ciencia de datos? Que la gente realmente se dará cuenta de la cantidad de tonterías que hay en nuestro campo. Y quizás deberíamos detenernos por completo”.

Pero decidí pensarlo más y diría que hay algo de verdad en eso en realidad. Me preocupa un poco que tal vez muchas de las cosas que estamos haciendo sean más una cuestión de moda que de estar seguros de que comprendemos el problema.

Entonces, ¿qué falta en el aprendizaje automático? Bueno, tal vez estemos haciendo demasiado de eso. Esa es más o menos la sensación que tengo.

Y, por supuesto, hay un lugar para el aprendizaje automático en el futuro. Definitivamente va a suceder, pero no tiene que ser todo. Eso es más o menos lo que me preocupa.

Hay un autor que escribe un libro sobre rarezas artificiales. Como toda la basura extraña que la inteligencia artificial puede producir.

Y el libro se llama, You Look Like a Thing and I Love You de Janelle Shane. Échale un vistazo. El libro comienza diciendo que tiene todos estos textos de Tinder, y quiere que un algoritmo descubra el mejor texto de Tinder para enviar. Y el algoritmo vino con “pareces una cosa y te amo”. Lo cual es algo hilarantemente brillante, pero no es lo que deberías enviar, creo, en Tinder.

Pero el libro está lleno de ejemplos como estos donde tienes que tener cuidado de que la estupidez artificial no esté sucediendo al mismo tiempo también. ¿Verdad? Hay muchos ejemplos donde eso sucede. Como lo de Call of Duty es solo un ejemplo.

Me considero un poco el viejo gruñón que grita a las nubes. Un poco de “claro, el aprendizaje automático tiene un lugar, pero ¿podemos hacer sin él primero?” Primero intenta lo simple porque eso es algo que la gente parece olvidar hacer. Y esa es una preocupación más urgente, personalmente.

Seth: En una línea similar con todo lo que está sucediendo en el procesamiento del lenguaje natural en este momento con modelos generativos y ChatGPT. ¿Cómo ves la brecha entre la moda y la realidad? Estoy emocionado de obtener la perspectiva del viejo gruñón sobre esto.

Vincent: Actualmente estoy experimentando profesionalmente con esto. Si echas un vistazo, el repositorio Explosion ahora es openai/prodigy recipes. Ese es el nombre del repositorio. Estamos experimentando un poco con, como, ¿puede ChatGPT simplemente decir, aquí hay una oración, detecta todas las fechas?

Así podemos resaltar eso previamente en nuestra interfaz de prodigy. Es algo que estamos explorando en este momento. Y resulta que es realmente bueno en algunos de estos ejemplos. Y es realmente malo en otros. Todavía no entendemos completamente por qué.

Pero reconoceré que puede ser muy útil. Si eso es algo que puedes usar para obtener mejores datos de entrenamiento más rápido porque la anotación es mucho más fácil diciendo sí o no. Es más rápido que resaltar cada elemento en la interfaz de usuario. Eso parece totalmente bien.

Lo que creo que es un poco más preocupante, sin embargo, es que la gente diga: “oh, es magia. Así es como funciona. Es magia”. No es magia. Esto es hasta cierto punto como lo del Markov Chain donde solo predice la siguiente palabra. Y puedes imaginar que si le das suficiente texto y suficiente potencia de cómputo, puedes tenerlo generar texto muy plausible que podrías encontrar en Internet. Luego puedes hacer preguntas como ¿está generalizando? ¿O solo está recordando?

Magia flotando en el aire generada por Stable Diffusion v1–4

Y todas esas son preguntas justas. Pero aún no es inteligencia. No es un razonamiento real. Y tengo muchos ejemplos tontos que demuestran que no hay inteligencia real sucediendo bajo el capó.

Dicho esto, nuevamente, siempre y cuando haya un humano en el proceso y demuestre ser útil y productivo, entonces creo que está bien. Pero nuevamente, eso es cuando estoy usando el enfoque de, hey, hay intereses profesionales. Hay, por supuesto, factores dañinos que creo que también deben tenerse en cuenta. Definitivamente puedes enviar más correos electrónicos masivos y quizás tener más robots de Twitter y todas esas cosas que no me gustan particularmente.

Entonces, de todos modos, ese es un aspecto. Otra cosa que también quiero destacar es que también intenté la cosa de Midjourney. He intentado generar cartas de Magic: The Gathering.

Seth: De acuerdo. Los he visto y son bastante divertidos.

Vincent: Pensé que en algún momento sería bastante divertido decir, hey, hagamos cartas de Magic: The Gathering de orcos en la oficina. Tendrías un orco señor de la guerra product manager y un orco capitalista de riesgo y un orco orador principal de TED. E inmediatamente, esta idea es bastante divertida porque si piensas en la oficina, piensas en un traje gris aburrido. Y si piensas en un orco, piensas en World of Warcraft y un belicoso, etc. Así que eso fue bastante divertido.

Pero luego la siguiente pregunta es, ¿podemos generar realmente las imágenes realmente divertidas? Y resultó ser algo difícil. Así que tengo esta imagen de un paladín orco, totalmente cubierto de hierro básicamente, detrás de la computadora. Y piensas, bueno, ingeniero de datos, está bien. Eso ya es bastante divertido.

Pero quería que este orco fuera un ingeniero de análisis de datos porque están hablando de lagos de datos. Y luego pensé que lo divertido sería un orco pesado y acorazado pero con un pequeño esnórquel amarillo que sale del casco. Eso sería lo más divertido. Y por más que lo intenté, no pude hacer que generara un esnórquel amarillo.

Y comienzas a pensar en por qué podría ser eso. Y luego también piensas, como, bueno, Vincent, ya estás estirándolo un poco al tener estos estilos de World of Warcraft Dungeon y Dragon en una oficina. El hecho de que esos dos estilos sean compatibles ya es un poco difícil de creer. Mucho menos que también generes algún tipo de esnórquel extraño de él. ¿Verdad?

Entonces, si las personas consideran estas herramientas como magia, el mejor consejo que tengo es tratar de idear una tarea extraña y extraña que intente tocar dónde están los bordes de donde estos algoritmos se sienten cómodos, y eso generalmente te dará ejemplos que pueden ayudarte a considerar que no es realmente magia lo que está sucediendo. Solo está tratando de recordar. Está tratando de generar cosas que ha visto antes. Y hay muchos ejemplos de casos límite donde este tipo de cosas es solo “pareces una cosa y te amo”. Lee ese libro. Tiene ejemplos realmente convincentes y el estilo del libro también es encantador. Lo recomiendo mucho.

Aprendizaje Automático Generativo y Predictivo

Seth : Gracias. Sí, lo revisaré. Creo que los modelos generativos son súper interesantes porque a diferencia de los modelos predictivos donde, por ejemplo, estás haciendo categorización de texto, ¿dónde puedes saber si es correcto o no? Por lo general, hay una verdad fundamental. Con modelos generativos, donde estás haciendo algo como crear un orco que lleva un esnórquel, ¿cómo sabes que es correcto?

No es tan claro.

Vincent : ¿Cuántas etiquetas de fotos no relacionadas necesitas para generar eso? ¿Verdad? Oh, pero también aquí es por qué parte de la solución aquí es, obviamente, la interfaz de usuario también. Hay cosas increíbles que puedes hacer teniendo texto como entrada. Pero en este caso, también estás bien. Casi estamos allí. Solo quiero seleccionar la región alrededor del casco donde debe aparecer un esnórquel amarillo.

Algo así va a suceder en algún momento, y eso va a hacer que estos sistemas sean mejores. Y luego puedo pasar a los duendes empresariales y descubrir algún otro caso especial. ¿Verdad? Y eso será algo continuo.

Pero, sí, en general, porque mencionaste la verdad fundamental — la verdad fundamental también es complicada. Y aquí es donde también proviene una gran cantidad de estupidez artificial. Y mi queja personal con eso — considera, clasificación de imágenes, lo famoso de gato-perro: ¿Es esta una imagen de un perro o es esta una imagen de un gato?

Fuente: Catdog Logo Wikipedia

La clasificación estándar diría, bien, esta es una tarea binaria. Pero luego te das cuenta, bueno, podemos tener fotos sin gatos o perros. ¿Entonces necesitamos tres clases? Vale. ¿Qué haces con las fotos que tienen tanto un gato como un perro? Oh, sí. Vale. Eso también puede pasar, ¿verdad?

Vale. La realidad es más compleja. ¿Y qué hacemos entonces?

Bueno, tal vez tengamos que decir, ¿hay un perro en la foto? Sí o no. ¿Y hay un gato en la foto? Sí o no. Tal vez esos deberían ser solo dos clasificadores binarios. Tal vez eso sería más sensato. Bien. ¿Qué haces cuando hay cuatro perros en la foto?

Nuevamente, cuanto más piensas en ello, también te das cuenta de que incluso la clasificación de texto bien definida no siempre se mezcla bien con la realidad tampoco. E incluso si tienes etiquetas de verdad fundamental, también debes preguntarte, bueno, las etiquetas de verdad fundamental tal vez tampoco se mezclan con la realidad si se define como una tarea de clasificación porque una oración puede ser sobre más de un tema y la foto también puede ser sobre más de una cosa.

Entonces, retrocediendo un paso y preguntando realmente, bueno, algunas de estas cosas pueden ser detalles siempre y cuando realmente entendamos el problema, pero tal vez deberíamos enfocarnos en eso entonces. Tal vez deberíamos omitir la ajuste de hiperparámetros y solo preocuparnos por — ¿Realmente entendemos el problema?

Seth : Sí, eso es un punto muy bueno. Creo que cuando te acercas a un problema, la gente tiende a saltar a una solución. Si estás haciendo algo como la clasificación de texto — oh, vale. Voy a crear un clasificador de texto multinivel. Bueno, resulta que nunca es realmente tan simple. ¿Verdad?

Es realmente multi-etiqueta. ¿Debería usar una jerarquía? ¿Debería hacer esto? ¿Debería hacer eso? Y, ya sabes, entender mejor el problema siempre te ayuda a descubrir más. Es mucho más valioso que hacer ajuste de hiperparámetros en ese clasificador de texto multinivel original.

“El modelo puede hacer un paso, pero tu sistema puede hacer dos o tres si es necesario. Así que definitivamente siéntete libre de considerar el sistema de dos pasos donde tenemos un par de clasificadores que detectan un par de propiedades, y luego tenemos un sistema basado en reglas después de eso que va a decir, ‘Vale, esta combinación de cosas parece interesante. Vamos por eso’. La gente se olvida del sistema basado en reglas que se puede construir encima. Y eso es, ya sabes, un poco de una falla. Pero también es, como el 80% del tiempo, eso también es la solución”.

Vincent: Bueno, lo principal es que tengo un pequeño consejo en general. Estoy en el foro de Prodigy y ayudo a algunos usuarios de SpaCy con sus problemas. El consejo más general que doy a las personas en este dominio es considerar que tal vez el modelo pueda hacer un paso, pero su sistema puede hacer dos o tres si es necesario. Así que definitivamente siéntete libre de considerar el sistema de dos pasos donde tienes un par de clasificadores que detectan un par de propiedades, y luego tenemos un sistema basado en reglas después de eso que va a decir: “oh, está bien. Esta combinación de cosas parece interesante. Vamos a por eso”.

Las personas olvidan el sistema basado en reglas que se puede construir encima. Y eso es un poco de una pérdida. Pero también, como el ochenta por ciento del tiempo, eso también es la solución. Así que haz lo que quieras con esta información, querido público, pero creo que hay un enfoque de dos pasos que definitivamente funciona en general.

Seth: Creo que ese es realmente un buen consejo, especialmente ahora con todo el bombo con el aprendizaje profundo. Creo que todavía estamos en un mundo donde encontrar la combinación adecuada entre modelos de aprendizaje automático y heurísticas, a veces bastante básicas, a menudo produce los mejores resultados.

Influencias

Seth: Para pasar a la parte de aprendizaje del aprendizaje automático de nuestra charla, comenzaremos con esto. ¿Quiénes son algunas personas en los campos de aprendizaje automático que te influyen?

Vincent: He tenido algunos colegas directos realmente encantadores con los que todavía salgo. Entonces, obviamente, ellos. Cuando empecé, estaba aprendiendo R, así que Hadley Wickham era una persona a la que definitivamente admiraba mucho. Y también lo conocí en un par de ocasiones, lo cual es súper genial. Hizo un curso avanzado, como, hace cinco años, y yo era un TA. Gran experiencia, pude conocer al tipo.

Katharine Jarmul es una persona que también me viene a la mente. Ella fue una de las patrocinadoras detrás de PyLadies, pero también ha sido una gran defensora de la privacidad y la equidad en el aprendizaje automático. Y ella ha revisado mis diapositivas en el pasado para un par de charlas y es genial. Viene a la mente.

Vicki Boykis, creo que es una de las personas más divertidas, merece mucho más crédito por compartir cosas, es genial. La cosa de NormConf también fue una cosa increíble que ayudó a iniciar allí, fue genial.

Y luego, Bret Victor, creo que tiene la mejor charla que he visto, que veré alguna vez. El futuro de la programación de Brett Victor. Eso es algo que veo todos los años, básicamente. Eso es lo más sorprendente, lo más inspirador que he visto. No te diré de qué trata. Solo míralo.

Seth: Estoy deseando verlo.

Vincent: Y luego, supongo, [Russel] Ackoff, pero lo principal con Ackoff fue que hice toda una maestría en investigación de operaciones y luego un profesor iba a retirarse y yo era uno de los oradores en su fiesta. Y luego, en algún momento, dijo que la razón por la que quería que estuvieras aquí es porque realmente me recuerdas a Ackoff. Yo estaba como “¿quién es él?”

“Es este tipo increíble. Solo compra su libro”. Y luego lees este material. Es como yo en los años 80. Así que eso fue definitivamente también una buena fuente de inspiración.

…el Joe promedio es bastante inspirador, pero el Joe promedio no piensa que él o ella debería estar en el escenario.

Una cosa que quiero mencionar sobre esto es que cuando estaba organizando un PyData. Piensas: “ok, ¿quiénes son buenos oradores principales y quiénes son buenos oradores invitados, etc.?” Y mi impresión es que el Joe promedio es bastante inspirador, pero el Joe promedio no piensa que él o ella debería estar en el escenario.

Y el mejor ejemplo de esto es que en PyData London, hubo una charla normal de un tipo que estaba construyendo drones para encontrar especies de orangutanes en peligro de extinción en la selva tropical de Borneo.

Seth: ¡Guau!

Vincent: Y tenía la sala pequeña, pero su charla fue increíble. Así que pensé, a la mierda. Eres el orador principal en Amsterdam. Esto es lo más increíble que he escuchado. Esta es tu afición.

Así que fue el orador principal al año siguiente. Y estaba agradecido y muy divertido. Pero no se dio cuenta de que eso era material de orador principal. Y de manera similar, una vez leí este blog donde un tipo intentaba descubrir cuáles son las palabras más metal.

Y la forma en que lo hizo fue entrenando una gran Cadena de Markov en letras de metal y letras no metal. Y la conclusión del blog fue que la palabra menos metal es cooperación porque solo aparece una vez en el corpus. Y lees esto, es increíble. Porque estás aplicando la teoría correctamente en un problema divertido y humorístico, tal vez.

Pero hay pasión aquí. Y el tipo, cuando me acerqué a él, [le dije] que realmente necesitaba postularse para PyData. No tengo que revisar tu cosa, creo que vas a estar adentro.

Y simplemente no había pensado que esto era algo que podía hacer. Y me gusta pensar que hay muchas más personas que sufren esto, que podrían tener un momento grandioso, increíble e inspirador, pero no consideran que pueden compartirlo. Y, por supuesto, algunas personas son introvertidas, lo cual también está bien. Pero una lección que he aprendido en PyData es que la inspiración puede venir de ángulos sorprendentes que no esperas. Así que no te enfoques demasiado en los grandes nombres.

Eso también es cierto.

Seth: Sí. Uno de los mejores tipos de personas son muy humildes y hacen un buen trabajo con su trabajo y puedes ver cuánto les importa lo que hacen y cuánto, no sé si el orgullo es la palabra correcta, pero se toman su trabajo muy en serio. Les importa…

Vincent: Les importa, sí. Puedes ser la persona más inteligente, pero si no te importa tu tema, no va a ser una gran charla.

Y digamos que tal vez has cortado algunas esquinas, pero calculaste el Pokémon óptimo. No sé, algo así. Todavía puede ser una gran charla.

Y nuevamente, más personas deberían hacerlo. Si las personas están interesadas en hacer más blogs y charlas, consideren las Charlas Relámpago y las publicaciones de blog muy cortas llamadas “Hoy aprendí”. El mundo definitivamente necesita más de eso. Y estoy feliz de ver PyAmsterdam, el meetup, una vez al año, hacen el meetup de charlas relámpago, donde diez personas dan presentaciones de cinco minutos.

Esas reuniones suelen ser increíbles. Cualquier organizador de PyData que escuche, siéntase libre de robar esta idea. Esas reuniones siempre son divertidas.

Consejos de carrera

Seth: Muy bien. Has dado muchos consejos hasta ahora, pero quiero preguntarte, ¿cuál es un consejo o algo que te ha quedado grabado que te ha ayudado en tu aprendizaje automático o en tu carrera?

Vincent: Recibí esto al principio de mi carrera. Mi ex CTO con quien todavía salgo me dio un buen consejo profesional cuando tenía veintitrés años. Y dijo: “Ten cuidado de obtener un aumento. Porque si tu trabajo comienza a ganar mucho dinero, pero se está volviendo aburrido, entonces el dinero puede ser una razón por la que vas a quedarte.”

Y eso es peligroso al comienzo de tu carrera porque tal vez tienes que descubrir lo que te gusta en la vida. Y tal vez tengas que descubrir qué te hace funcionar. Y si te vas a enfocar intensamente en el dinero, es como enfocarte intensamente en la métrica. Vas a sobreoptimizar algo que podría no importar tanto. Así que ese fue un consejo bastante bueno, algo meta. Pero creo que en general, he podido aplicarlo bastante bien.

Nuevamente, hablando desde mi privilegio. ¿Verdad? Pero he podido aplicarlo. Eso ha sido genial.

Una especie de anécdota extraña, pero también es sorprendentemente inspiradora. Así que tengo muchos amigos que no hacen nada en ciencia de datos. Y me encanta eso. Soy el nerd Vincent, y cuando bebo cerveza con ellos, dicen: deja de ser nerd Vincent, estás entre personas normales, ahora puedes hablar sobre la vida.

Y vivo en un vecindario donde conoces a todos tus vecinos, básicamente. Y todavía es un vecindario de clase media, está cambiando debido a la gentrificación, pero, todos nos conocemos. Así que hay un tipo en mi calle. Y él es un pintor. Y cuando hace buen tiempo, pone una caja de cerveza en su banco fuera de su casa.

Y toda la calle va básicamente a tomar una pinta. Es lo más lindo. El vecindario más lindo de todos. Pero lo que pasa con él es que recientemente se convirtió en contratista independiente como pintor, lo que también significó que compró su primera laptop. Y tiene cuarenta y dos años.

Y necesita ayuda, no solo con su sitio web, sino también para difundir su trabajo. Toda su vida, el principal dispositivo que tenía era su teléfono, y le ha ido bien, pero encuentra que una computadora es terriblemente compleja. Y para ser honesto, encuentro que es algo muy refrescante. Y también me recuerda que la forma en que yo experimento las computadoras no necesariamente tiene que ser normal. Ese es un recordatorio muy útil. Así que, en cierto sentido, es la mejor inspiración.

Tal vez no estar todo el tiempo en aprendizaje automático. Es mi consejo. Especialmente si estás haciendo aprendizaje automático para aplicaciones que usa la persona promedio. Realmente ayuda recordar que realmente no les importa tu algoritmo. Simplemente no les importa. Realmente, realmente no les importa.

A veces me he encontrado atrapado en una burbuja de aprendizaje automático. Y simplemente encuentro muy refrescante [salir de ella].

Solía hacer esto también en trabajos de consultoría. Estaba haciendo una aplicación que los camioneros tendrían que usar para la logística y cosas así. Y en algún momento, simplemente me quedaba en la esquina de los fumadores donde los camioneros se reunían para entender un poco qué tipo de personas eran. Y también para entender qué les resultaba frustrante de la aplicación y hacer más de eso realmente. Ser más humano en el proceso.

Centrarse en la parte humana es lo que estoy tratando de hacer más y lo que encuentro muy inspirador.

Consejos para nuevos científicos de datos

Seth: Sí, realmente me gusta eso. Para alguien que está comenzando en el campo, digamos, que acaba de ser contratado como científico de datos junior, o que está pensando en comenzar en ciencia de datos, ¿cuál sería tu consejo para ellos?

Vincent: Bueno, en primer lugar, di una charla sobre este tema en NormConf. Así que hay una charla titulada Declaraciones Group-by que salvan el día. Esta charla está diseñada precisamente para ti.

Dicho esto, soy una persona realmente mala para dar consejos profesionales porque, mirando hacia atrás, pensé que gran parte de lo que soy hoy se debe a la suerte y eso es algo que es difícil de optimizar.

Lo que creo que es útil, en general, es tal vez tener tu propio blog donde solo compartas cosas que aprendiste hoy. Entonces, como calmcode todavía es un poco mi biblioteca de fragmentos, tu blog puede ser lo mismo para ti. Y en general, he encontrado que para estos fragmentos de “hoy aprendí”: si puedes escribir dos al mes, y te lleva tal vez media hora por publicación en lugar de una publicación de blog grande que tarda horas, esto no debería llevar más de unos pocos minutos, digamos. Pero lo hiciste durante un año y tienes un blog con 24 publicaciones.

Si estás aprendiendo y puedes compartir conocimientos, entonces la gente va a reconocer que tienes un poco de un currículum que demuestra que estás aprendiendo cosas. Así que eso parece una cosa bastante fácil de hacer si quieres tener una presencia en línea con poco esfuerzo. Eso es algo que recomiendo.

Creo que si eres un super junior que recién está comenzando, quiero reconocer que es un poco difícil. Es un poco una lástima ahora el mercado laboral y todo eso. Pero una cosa que puedes hacer para hacerlo tal vez un poco más fácil para ti es considerar que no tienes que saber todo para conseguir el trabajo.

También podrías conseguir un trabajo relacionado. Algunos consejos que he dado a amigos míos que querían entrar en este campo de la ciencia de datos es que tal vez sea un poco más fácil aprender R que aprender Python, y es tal vez un poco más fácil ser analista durante uno o dos años.

Y todas las habilidades que aprendas mientras eres analista van a ser muy útiles si quieres convertirte en una persona de ciencia de datos más adelante. Así que si es más fácil y te pagan por aprender, no optimices por un título. Solo optimiza por las cosas que aprendes mientras estás en el trabajo. Eso parece más fácil. Y no hay nada de malo en ser un buen analista.

Tal vez necesitamos más buenos analistas que buenos científicos de datos también. ¿Verdad? Tal vez necesitamos más declaraciones de agrupación que salven el día. Pista, mira la charla.

Pero creo que hay un poco de esnobismo cuando se trata de títulos de trabajo. “Como, oh, soy el súper senior personal, mega ingeniero. Claro”. Pero si eres solo un analista decente, necesitamos más analistas muy decentes. Eso también está bien. Ve por eso.

Aprendiendo de Machine Learning

Seth : Sí. Ese es definitivamente un buen consejo. Y ahora la pregunta que todos hemos estado esperando, ¿qué te ha enseñado una carrera en machine learning sobre la vida?

Vincent : Algunos problemas se resuelven solos cuando los ignoras. En serio, he estado en tantas de estas situaciones donde el problema se resolvió simplemente ignorando la parte de machine learning, que empiezas a preguntarte, bueno, tal vez algunos problemas se resuelven solos si los ignoras.

Y he notado en algunas instancias, que este es el caso. Especialmente cuando tienes un hijo, también aprendes que hay cosas en las que puedes sobreoptimizar. Y, como, oh, el bebé no está durmiendo bien. Bueno, ese problema se resolverá en algún momento. No es como si mi influencia tuviera un impacto muy significativo allí.

Y supongo que lo mismo con el machine learning. Hay algunas cosas que puedes controlar, algunas cosas que no puedes. Asegúrate de entender lo que puedes y no puedes controlar y luego sigue adelante desde allí.

Y de nuevo, soy un poco ambivalente con respecto a todo lo de machine learning. Parte de mi opinión es que es una herramienta súper útil y necesitamos más personas buenas haciendo machine learning. Pero al mismo tiempo, es como un cubo abominable de hype que realmente queremos tener menos. Y mi día a día es lidiar con ambos sentimientos.

Espero que esto haya respondido la pregunta de alguna manera, pero ahí es donde estoy. Intenta hacerlo con calma, ese es mi juego de palabras final. Eso también es algo que podría recomendar.

Seth : Ahí lo tienes. Sí. Creo que algunos problemas con el tiempo se resuelven por sí solos. Y también me gusta la primera regla del machine learning, ¿realmente necesitas usar machine learning?

Vincent : Sí. Estoy de acuerdo. Y una cosa que realmente me gusta quizás para presumir un poco sobre el empleador.

Una cosa que realmente me gusta de SpaCy es que no tienes que usar las partes de machine learning. También puedes usar las partes no basadas en machine learning en SpaCy. Y también son rendimiento, rápidas y súper útiles. También hay paquetes de machine learning que te permiten hacer algunas cosas basadas en reglas. Y si estás haciendo procesamiento del lenguaje natural, esta es realmente la razón por la que me encanta usar SpaCy.

No tienes que usar cosas estadísticas todo el tiempo. Los motores basados en reglas también son geniales. Fin del argumento.

Seth : He sido un gran fan de SpaCy durante un tiempo, al menos cuatro años, probablemente más. Me ha ayudado a resolver muchos problemas desde el reconocimiento de entidades nombradas, la clasificación de texto, formas geniales de hacer coincidencias, todo eso.

Vincent : Bueno, si puedo hacer una presentación final. Entonces hay mucho hablar sobre la inteligencia artificial centrada en los datos en estos días. Pero la razón por la que comencé a interesarme en lo que estas personas de Explosion estaban haciendo en el pasado es que hay una publicación de blog de 2017 llamada Aprendizaje supervisado es genial, es la recopilación de datos que está rota. Estaban haciendo cosas centradas en los datos en 2017, pero esa es una de las mejores publicaciones de blog que he leído.

Entonces hablan sobre la calidad de los datos y una de las mejores citas de todos los tiempos es no esperes grandes datos si aburres a la gente mal pagada porque mechanical turk todavía es la forma en que la gente va a veces, lee esa publicación de blog. Te daré un enlace para las notas del programa. Eso también es algo muy inspirador que la gente debería leer.

Seth : Genial. Muchas gracias. Ha sido un placer hablar contigo. Me has dado un montón de grandes recursos. Armar las notas del programa para esto va a ser definitivamente un buen momento. Si hay algunos lugares en los que quisieras que los oyentes aprendan más sobre ti, ¿cuáles serían esos lugares?

Vincent: Así que estoy en Twitter y Fosstodon estos días. Pero lo principal es que todavía no puedo anunciar nada. Trabajo en Explosion y puedo ver lo que está en desarrollo. Estoy trabajando en cosas muy interesantes y definitivamente habrá anuncios de cosas súper interesantes en las que están trabajando mis colegas. Simplemente sigue a Explosion.

Hay un montón de cosas realmente interesantes en desarrollo. Si haces eso, en algún momento también escucharás sobre algunas de las cosas en las que estoy trabajando.

Seth: Impresionante. Muchas gracias, Vincent. Ha sido un placer verdaderamente.

Vincent: Igualmente.

Escuchar ahora

El video de la entrevista completa se puede ver aquí:

Vincent Warmerdam | Episodio 2 de aprendizaje del aprendizaje automático

El podcast ahora está disponible en todas las plataformas de podcast:

Nuestro episodio anterior presentó a Maarten Grootendorst, el creador de BERTopic y KeyBERT, y un autor prolífico aquí en Towards Data Science. Habló sobre proyectos de código abierto, la intersección de la psicología con el aprendizaje automático y el desarrollo de software, y el futuro del procesamiento del lenguaje natural.

Aprendiendo del aprendizaje automático | Maarten Grootendorst: BERTopic, ciencia de datos, psicología

La primera entrega de Aprendiendo del aprendizaje automático presenta al creador de BERTopic, Maarten Grootendorst.

towardsdatascience.com

Referencias

Recursos para aprender más sobre Vincent Warmerdam:

  • calmcode
  • https://koaning.io/
  • Vincent Warmerdam: La profesión de resolver (el problema equivocado) | PyData Amsterdam 2019
  • Declaraciones group-by que salvan el día – Vincent D Warmerdam
  • https://github.com/koaning

Referencias del episodio

  • You Look Like a Thing and I Love You: How Artificial Intelligence Works and Why It’s Making the World a Weirder Place
  • The Future of Operational Research is Past
  • Supervised Learning is great — it’s data collection that’s broken
  • Deon — An ethics checklist for data scientists
  • Hadley Wickham
  • Katharine Jarmul
  • Vicki Boykis
  • Brett Victor

Recursos para aprender más sobre Aprendiendo del aprendizaje automático:

  • Suscríbete en Youtube
  • Aprendiendo del aprendizaje automático en LinkedIn
  • Contáctame en LinkedIn
  • Sígueme en Zepes