Aprender, piratear y enviar ML

En la serie Author Spotlight, los editores de TDS conversan con miembros de nuestra comunidad sobre su trayectoria profesional en ciencia de datos e inteligencia artificial, sus escritos y sus fuentes de inspiración. Hoy estamos encantados de compartir nuestra conversación con Vyacheslav Efimov.

Vyacheslav es ingeniero senior de aprendizaje automático especializado en PNL y visión por computadora. Una de sus pasiones es crear contenido educativo: Vyacheslav ha publicado más de 60 artículos sobre Hacia la ciencia de datos, explicando conceptos complejos con palabras sencillas y proporcionando visualizaciones ricas.

Escribiste muchos artículos explicativos y para principiantes sobre TDS. ¿La enseñanza de los fundamentos ha cambiado la forma de diseñar o depurar sistemas reales en el trabajo?

Noto la correlación entre cuanto más enseño algo, mejor lo entiendo. En la vida real, cuando escribo un artículo nuevo, me esfuerzo por profundizar en los pequeños detalles manteniendo la explicación sencilla para mis lectores. Enfatizar la información de esta manera me ayuda a comprender mejor el flujo de trabajo de los algoritmos.

En ese sentido, cada vez que encuentro un error en uno de los algoritmos utilizados en el trabajo sobre el cual escribí un artículo en el pasado, hay una mayor probabilidad de que encuentre rápidamente la solución al problema por mi cuenta. Desde otra perspectiva, cuando escribo un artículo sobre un tema desconocido y lo exploro yo mismo, aumenta mi confianza cuando aplico ese algoritmo en particular en el trabajo, ya que ya conozco su alcance de aplicación, ventajas, desventajas y detalles o limitaciones específicos.

De esta manera, puedo encontrar soluciones originales que no sean obvias para los demás y respaldar mi elección ante otros compañeros de equipo, gerentes o partes interesadas. Ese conocimiento es precioso para mí.

Con tantos modelos nuevos que aparecen todos los días, es fácil sentirse completamente abrumado. ¿Cómo decides qué es lo que vale la pena profundizar y qué es lo que simplemente entiendes? ¿Ha cambiado recientemente su estrategia para gestionar esto?

Hoy en día, tenemos una gran cantidad de modelos y herramientas que aparecen todos los días. Es fácil sentirse perdido cuando no está seguro de qué hacer a continuación.

Con tiempo limitado, suelo profundizar en temas que pueden ser aplicables en el trabajo o en mis proyectos personales. Esto me da más confianza cuando tengo que presentar o explicar mis resultados.

Las empresas normalmente quieren lograr resultados laborales lo antes posible. Esta es también una de las razones por las que en mis artículos me centro más en conceptos teóricos, ya que no puedo dedicar mi tiempo en el trabajo a profundizar teóricamente.

De esta manera, tengo una combinación eficiente de experiencia práctica en el trabajo y conocimientos teóricos en mi blog. Ambos componentes son importantes para los científicos de datos capacitados.

Has competido en hackatones de IA. ¿Qué aprendiste al tener plazos tan ajustados? ¿Te obligó a mejorar en la definición del alcance de los proyectos o en la decisión sobre un modelo? ¿Y te encuentras utilizando alguna de esas ‘lecciones de hackathon’ cuando estás esbozando una nueva idea desde cero?

Los hackatones suelen durar entre varias horas y dos días. Se trata de un período de tiempo muy pequeño para desarrollar un producto completamente funcional. Sin embargo, al mismo tiempo, me impulsó mucho en el pasado a priorizar mejor las funciones en las que debería centrarme. En general, la gestión del tiempo es una habilidad valiosa. Cuando tenga varias soluciones posibles para abordar su problema, debe elegir la que mejor se adapte a las necesidades del negocio respetando al mismo tiempo las limitaciones de tiempo.

Lo que también es genial es que después de cada hackathon, puedes evaluarte a ti mismo en términos del tiempo que te llevó implementar ciertas funciones. Por ejemplo, digamos que era la primera vez que tenía que desarrollar una canalización RAG, cuya implementación le llevó alrededor de 4 horas. La próxima vez que se enfrente a un problema similar en el trabajo o en un hackathon, tendrá una mejor estimación de antemano de cuánto tiempo le llevaría si decide utilizar el mismo método. En ese sentido, la experiencia del hackathon te permite definir mejor los límites de tiempo para los métodos que deseas implementar en los proyectos.

Para mí, la lección más importante del hackathon fue no centrarse en la perfección al crear el MVP. Si bien un MVP es importante, también es necesario presentar su producto de manera atractiva a los clientes o inversores, explicar su valor comercial, el problema que resuelve y por qué es mejor que las soluciones existentes en el mercado. En este sentido, los hackathons le enseñan a generar mejores ideas que resuelven problemas reales y, al mismo tiempo, envían rápidamente el MVP, que contiene las características más esenciales.

Para los lectores que estén pensando en su trayectoria profesional: su serie “Hoja de ruta para convertirse en un científico de datos” abarca desde los fundamentos hasta el aprendizaje automático avanzado. Si lo reescribieras hoy, ¿qué temas serían promovidos, degradados o eliminados por completo y por qué?

Escribí esta serie de artículos hace un año. Para mí, todos los conceptos y temas que enumeré están actualizados para los aspirantes a científicos de datos. Todos los temas de matemáticas, informática y aprendizaje automático que presento son una base esencial para cualquier ingeniero de aprendizaje automático.

Como estamos a finales de 2025, también agregaría el requisito de tener al menos una experiencia mínima con ingeniería rápida y estar familiarizado con algunas herramientas generativas de IA, como GitHub Copilot, Gemini CLI y Cursor, lo que permitiría una mayor eficiencia en el trabajo.

Como nota, en comparación con años anteriores, las empresas de TI tienen mayores requisitos y expectativas para los ingenieros jóvenes que ingresan al campo de la ciencia de datos. Tiene sentido, ya que las herramientas modernas de IA pueden realizar muy bien tareas de nivel junior, y muchas empresas prefieren confiar en ellas ahora en lugar de ingenieros principiantes, ya que no tienen que pagar salarios y en ambos casos obtienen el mismo resultado.

Por eso, si un ingeniero de aprendizaje automático posee las sólidas habilidades fundamentales que describí en esa serie de artículos, le resultará mucho más fácil sumergirse de forma autónoma en temas más complejos.

Su experiencia combina ingeniería de software y ML. ¿Cómo influye esa base en tu forma de escribir?

Tener sólidas habilidades en ingeniería de software es una de las mejores ventajas que puede tener como científico de datos:

Le hace darse cuenta de la importancia de una documentación de software bien estructurada y de la creación de canales de aprendizaje automático reproducibles. Comprenderá mejor cómo hacer que su código sea limpio y legible para otros. Comprende las restricciones algorítmicas y qué estructura de datos elegir para una tarea particular, según las necesidades del sistema. Puede colaborar más fácilmente con ingenieros de backend y DevOps para integrar sus módulos de código. No necesita depender de otros para realizar consultas SQL para recuperar los datos necesarios de la base de datos.

La lista puede seguir y seguir…

Hablando de mis artículos, no tengo muchos que presenten mucho código. Sin embargo, siempre que lo hago, me esfuerzo por hacerlo legible y comprensible para los demás. Siempre me pongo en el lugar de los demás y me pregunto cómo el texto de mi artículo o los ejemplos de código serían fáciles de percibir o reproducir si estuviera en el lugar de los demás. Aquí es donde la experiencia en ingeniería de software hace que esta realización sea más esencial para mí y sigo las mejores prácticas establecidas para entregar mi producto final.

Al observar su cartera y GitHub, ha combinado los fundamentos de la ingeniería de software con el aprendizaje automático desde el principio. ¿Cuál es un hábito de ingeniería que le gustaría que más aspirantes a científicos de datos adoptaran tempranamente?

Muchos ingenieros, especialmente los jóvenes, tienden a subestimar la importancia de crear buena documentación y canalizaciones reproducibles. Esto también me pasó a mí en el pasado, cuando estaba más concentrado en desarrollar modelos robustos o realizar investigaciones.

Al final resultó que, cuando tuve que cambiar de contexto y luego, varias semanas después, volver a trabajar en el proyecto anterior, pasé mucho tiempo descubriendo cómo ejecutar mi código anterior en un Jupyter Notebook desordenado o instalar las bibliotecas necesarias nuevamente, donde podría haber pasado un poco más de tiempo en el pasado desarrollando un archivo README.md bien documentado que explica todos los pasos necesarios para ejecutar canalizaciones desde cero.

Debido a que era casi imposible volver a ejecutar mis canalizaciones desde cero, tampoco pude realizar experimentos utilizando otros parámetros de entrada, lo que hizo que la situación fuera aún más frustrante.

Fue una experiencia dolorosa para mí, pero una de las lecciones más valiosas que he aprendido. Entonces, si tuviera que darle un consejo a un aspirante a científico de datos sobre un hábito en particular, sería este:

“Siempre haga que sus canales de aprendizaje automático sean reutilizables y estén bien documentados”.

Durante el año pasado, ¿la IA ha cambiado significativamente la forma en que trabaja día a día como ingeniero de aprendizaje automático? ¿Qué se volvió más fácil, qué se volvió más difícil y qué permaneció igual?

​​En los últimos años, hemos observado un aumento significativo de potentes herramientas de ingeniería de IA:

Los LLM, que pueden responder a casi cualquier pregunta, dar consejos o encontrar errores en el software, Cursor, Lovable y Bolt actúan como IDE impulsados ​​por IA para desarrolladores. Los agentes de IA pueden completar tareas de varios pasos.

Como ingeniero de aprendizaje automático, para mí es esencial adaptarme periódicamente a estas herramientas para utilizarlas de manera eficiente.

¿Qué se volvió más fácil?

A partir de 2025, puedo observar el siguiente impacto positivo en mi trabajo:

Para mí, se volvió más fácil probar rápidamente ideas o prototipos. Por ejemplo, hubo momentos en el trabajo en los que me plantearon problemas de visión por computadora que quedaban fuera de mi área de conocimiento. De esta forma, podría pedirle a ChatGPT que proponga varias ideas para solucionarlos. Incluso hubo ocasiones en las que ChatGPT generó código para mí e intenté ejecutarlo sin entender cómo funcionaba por dentro.
Luego tuve dos casos posibles: si el código se ejecutó correctamente y resolvió el problema inicial, intenté profundizar en la documentación de OpenCV para comprender cómo funciona en última instancia. Si el código no resolviera mi problema, lo ignoraría, informaría el error a ChatGPT o intentaría encontrar la solución yo mismo.

Como puede ver, pude probar rápidamente una solución que podría funcionar y ahorrarme horas de investigación sin ningún riesgo.

Otro caso de uso excelente para mí fue insertar mensajes de error directamente en ChatGPT en lugar de buscar una solución en Internet. Funcionó bien la mayor parte del tiempo, pero a veces se vio afectado por errores relacionados con la instalación de la biblioteca, errores del sistema y la implementación de canalizaciones en la nube, entre otros problemas. Por último, ¡soy un gran admirador de los hackatones de IA! Tener herramientas que puedan generar tanto el frontend como el backend de su sistema marca una gran diferencia para mí, ya que ahora puedo crear prototipos rápidamente y probar mi MVP en varias horas. Lo que desarrollo ahora durante hackatones de un día podría requerir una semana entera de trabajo.

Lo que se volvió más difícil/arriesgado

Al escribir código con IA, existe una mayor posibilidad de que se produzcan fugas de datos confidenciales. Imagine que tiene un archivo o fragmento de código que contiene credenciales esenciales que accidentalmente introduce en un modelo de IA. Entonces, una herramienta de terceros conocerá sus credenciales confidenciales. Puede suceder, especialmente si usa una herramienta como Cursor y almacena sus credenciales en otro archivo en lugar de .env. En consecuencia, siempre hay que tener mucho cuidado. Otro riesgo es no probar adecuadamente el código generado por la IA y no saber cómo revertirlo. Una herramienta de inteligencia artificial puede introducir errores invisibles en el código, particularmente cuando se usa para modificar o refactorizar código existente. Para garantizar que el código generado por IA no se degrade, es necesario revisar minuciosamente las partes del código generado, probarlas y guardar las modificaciones de una manera que le permita siempre retroceder a una versión anterior correcta, si es necesario. Cuando se depende demasiado de herramientas de IA generativa, existe el riesgo de que el código se vuelva ilegible, contenga funciones excesivamente largas, muestre repeticiones o deje de funcionar correctamente. Por eso es fundamental comprender que las herramientas de inteligencia artificial funcionan más eficazmente en la creación de prototipos que en el mantenimiento de un código de producción de alta calidad.

Lo que permaneció igual

Lo que sigue siendo constante para mí es la importancia de comprender el flujo de trabajo interno de los algoritmos que uso, mantener bases informáticas sólidas y escribir código de alta calidad, entre otras habilidades clave. En otras palabras, los principios básicos del desarrollo de software siempre serán necesarios para utilizar eficientemente las herramientas de IA.

En ese sentido, me gusta comparar un conjunto de herramientas de IA disponibles con un sustituto de un desarrollador junior en mi equipo, en quien puedo delegar tareas menos esenciales. Puedo preguntarle lo que quiera, pero no puedo estar 100% seguro de que realizará mis tareas correctamente, y aquí es donde entra en juego la importancia de tener una sólida experiencia fundamental.

Para obtener más información sobre el trabajo de Vyacheslav y mantenerse actualizado con sus últimos artículos, puede seguirlo en TDS o LinkedIn.