¿Qué hacen los ingenieros de aprendizaje automático?

En este artículo, quiero explicar lo que hago como ingeniero de aprendizaje automático.

El objetivo es ayudar a cualquiera que quiera ingresar al campo a obtener una visión veraz de lo que es un ingeniero de aprendizaje automático, cómo trabajamos, cómo hacemos y cómo es un día típico en la vida.

Espero que pueda ayudarlo a identificar si una carrera en el aprendizaje automático es realmente para usted.

¿Qué es un ingeniero de aprendizaje automático?

Debido a la rápida aceleración del espacio tecnológico/AI, un ingeniero de aprendizaje automático todavía no está bien definido y varía entre empresas y geografías hasta cierto punto.

Sin embargo, generalmente se refiere a alguien que:

Mezcla habilidades de aprendizaje automático, estadísticas e ingeniería de software para entrenar e implementar modelos en producción.

En algunas empresas, habrá un gran cruce con los científicos de datos. Aún así, la principal distinción entre los dos roles es que los ingenieros de aprendizaje automático entregan la solución a la producción. A menudo, los científicos de datos no harán esto y se centrarán más en ayudar en la etapa de construcción de modelos.

La necesidad de un ingeniero de aprendizaje automático provino del hecho de que los modelos en los cuadernos Jupyter tienen un valor cero. Por lo tanto, se necesitaba un rol bien versado en el aprendizaje automático y la ingeniería de software para ayudar a dar vida a los modelos y garantizar que generen valor comercial.

Debido a este amplio conjunto de habilidades, la ingeniería de aprendizaje automático no es un papel de nivel de entrada, y generalmente necesitaría ser científico de datos o ingeniero de software durante un par de años.

Entonces, para resumir:

  • Responsabilidades: Entrenar, construir e implementar modelos de aprendizaje automático.
  • Habilidades y tecnología: Python, SQL, AWS, Bash/Zsh, Pytorch, Docker, Kubernetes, MLOPS, GIT, Computación distribuida (no una lista exhaustiva).
  • Experiencia: Un par de años como científico de datos o ingeniero de software, y luego se escondería en las otras áreas.

Si desea una mejor comprensión de los diferentes datos y roles de aprendizaje automático, le recomiendo que consulte algunos de mis artículos anteriores.

La diferencia entre ingenieros de ML y científicos de datos
Ayudándole a decidir si desea ser científico de datos o ingeniero de aprendizaje automáticoMedium.com

¿Debería convertirse en científico de datos, analista de datos o ingeniero de datos?
Explicar las diferencias y requisitos entre los diversos roles de datosMedium.com

¿Qué debo hacer?

Trabajo como ingeniero de aprendizaje automático dentro de un equipo multifuncional. Mi escuadrón se especializa en el aprendizaje automático clásico y los problemas combinatorios basados ​​en la optimización.

Gran parte de mi trabajo gira en torno a mejorar nuestros modelos de aprendizaje automático y soluciones de optimización para mejorar la experiencia del cliente y generar valor financiero para el negocio.

El flujo de trabajo general para la mayoría de mis proyectos es el siguiente:

  • Idea – Alguien puede tener una idea o hipótesis sobre cómo mejorar uno de nuestros modelos.
  • Datos– Verificamos si los datos para probar o refutar esta hipótesis están disponibles para que podamos comenzar la investigación.
  • Investigación – Si los datos están disponibles, comenzamos a construir o probar esta nueva hipótesis en el modelo.
  • Análisis – Los resultados de la etapa de investigación se analizan para determinar si hemos mejorado el modelo.
  • Barco– La mejora se “produce” en la base de código y se dirige en vivo.

A lo largo de este proceso, hay mucha interacción con otras funciones y roles dentro del equipo y la compañía más amplia.

  • La fase de idea es una discusión colaborativa con un gerente de producto que puede proporcionar información comercial y cualquier impacto crítico que pudiéramos haber perdido en el alcance inicial.
  • Los datos, la construcción y el análisis se pueden realizar en colaboración con analistas de datos e ingenieros para garantizar la calidad de nuestras tuberías ETL y el uso de las fuentes de datos correctas.
  • La sección de investigación utilizaría la ayuda de los científicos de datos para usar estadísticas y habilidades de aprendizaje automático al buscar mejorar nuestro modelo.
  • La fase de envío es un esfuerzo conjunto con nuestros ingenieros de software dedicados, asegurando que nuestra implementación sea robusta y sea estándar con las mejores prácticas de codificación.

Por experiencia, sé que este tipo de flujo de trabajo prevalece entre los ingenieros de aprendizaje automático en numerosas compañías, aunque estoy seguro de que hay ligeras variaciones dependiendo de dónde se encuentre.

Mi trabajo tampoco es solo escribir el código día tras día. Tengo otras responsabilidades, como realizar talleres, presentar a las partes interesadas y mentorear a más miembros junior.

¿Cuál es la estructura de los equipos de aprendizaje automático?

Los ingenieros de aprendizaje automático trabajan de muchas maneras diferentes en una organización, pero hay tres opciones distintas, y el resto son una mezcla de ellos.

  • Incorporado –En este caso, los ingenieros de aprendizaje automático están integrados en equipos interfuncionales con analistas, gerentes de productos, ingenieros de software y científicos de datos, donde el equipo resuelve problemas en un dominio dentro de la empresa. Así es como trabajo, y realmente me gusta porque puedes elegir muchas habilidades y habilidades valiosas de otros miembros del equipo que son especialistas por derecho propio.
  • Consultoría – Esta es la otra cara, donde los ingenieros de aprendizaje automático son parte de una “consultoría interna” y son parte de su propio equipo. En este escenario, los ingenieros de aprendizaje automático trabajan en problemas basados ​​en su valor percibido para el negocio. Técnicamente está menos especializado en esta opción, ya que puede necesitar cambiar el tipo de problemas en los que trabaja.
  • Infraestructura/plataforma –En lugar de resolver los problemas comerciales directamente, estos ingenieros de aprendizaje automático desarrollan herramientas internas y una plataforma de implementación para facilitar la producción de los algoritmos.

Todas las formas de trabajar tienen pros y contras, y en realidad, no diría que uno es mejor que el otro; Realmente es una cuestión de preferencia personal. ¡Todavía haces un trabajo emocionante, sin embargo!

¿Cuál es un día típico en una vida?

Las personas en línea a menudo glamoran trabajando en tecnología, como todos los descansos de café, chats y codificando durante una hora al día, y usted hace más de seis cifras.

Definitivamente, este no es el caso, y desearía que fuera cierto, pero sigue siendo un día laboral divertido y agradable en comparación con muchas otras profesiones.

Mi experiencia general ha sido:

  • 9:00 am – 9:30 am.Comience a las 9 am con un estado matutino para ponerse al día con el equipo con respecto al trabajo del día anterior y lo que está haciendo hoy. Una reunión de “standup” es muy común en toda la tecnología.
  • 9:30 am – 10:30 am . Después del standup, puede haber otra reunión durante una hora, 9: 30–10: 30 más o menos, con partes interesadas, ingenieros, unas manos u otras reuniones de la compañía.
  • 10:30 am – 13:00 pm.Luego, es un bloque de trabajo/código durante dos horas más o menos donde me concentro en mis proyectos. Dependiendo de mi trabajo, puedo combinar con otro científico de datos, ingeniero de aprendizaje automático o ingeniero de software.
  • 13:00 PM – 14:00 PM.Almuerzo.
  • 14:00 pm – 17:45 pm. Las tardes normalmente están libres de reuniones, y hay un gran bloque de tiempo de enfoque para trabajar en sus proyectos. Esto es principalmente para contribuyentes individuales como yo.
  • 17:45 PM – 18:00 PM. Responder a correos electrónicos y mensajes flojos y concluir para el día.

Cada día es diferente, pero esto es lo que puede esperar. Como puede ver, no es nada “extrordinario”.

Esta es también la jornada laboral para un contribuyente individual de nivel junior / medio (IC) como yo. Los puestos superiores, especialmente los roles gerenciales, generalmente tienen más reuniones.

Una cosa importante a tener en cuenta es que no siempre codifico en mis bloques de trabajo. Es posible que tenga una presentación para prepararme para las partes interesadas, algunos análisis ad-hoc para nuestro gerente de productos o algunos escritos de mi última investigación. ¡Puede que ni siquiera codifique durante todo el día!

En promedio, paso de 3 a 4 horas de codificación dura; El resto son reuniones o trabajo ad-hoc. Por supuesto, esto varía entre las empresas y en diferentes momentos del año.

¿Por qué soy ingeniero de aprendizaje automático?

La razón por la que soy un ingeniero de aprendizaje automático se puede reducir a cuatro razones principales:


Espero que este artículo le brinde más información sobre el aprendizaje automático, si tiene alguna pregunta, hágamelo saber en los comentarios.

¡Otra cosa!

Únete a mi boletín gratuito, Repartir los datosdonde comparto consejos semanales, ideas y consejos de mi experiencia como científico de datos en ejercicio. Además, como suscriptor, obtendrás mi GRATIS Ciencia de datos Plantilla de reanudación!

Disparar los datos | Egor Howell | Sustitución
Consejos y aprendizajes sobre ciencia de datos, tecnología y emprendimiento. Haga clic para leer Disparar los datos, por Egor Howell, A …Newsletter.egorhowell.com

Conéctate conmigo