Cómo me convertí en ingeniero de aprendizaje automático (sin título de CS, sin bootcamp)

Aprendizaje automático y AI se encuentran entre los temas más populares hoy en día, especialmente dentro del espacio tecnológico. ¡Tengo la suerte de trabajar y desarrollarme con estas tecnologías todos los días como ingeniero de aprendizaje automático!

En este artículo, lo guiaré a través de mi viaje para convertirme en ingeniero de aprendizaje automático, ¡arrojando algo de luz y consejos sobre cómo puede convertirse en uno usted mismo!

Mis antecedentes

En uno de mis artículos anteriores, escribí extensamente sobre mi viaje de la escuela a asegurar mi primer Ciencia de datos trabajo. Te recomiendo Mira ese artículopero resumiré la línea de tiempo clave aquí.

Casi todos en mi familia estudiaron algún tipo de sujeto STEM. Mi bisabuelo era ingeniero, mis dos abuelos estudiaron física, y mi madre es maestra de matemáticas.

Entonces, mi camino siempre estaba pavimentado para mí.

Yo a los 11 años

Elegí estudiar física en la universidad después de ver la teoría del Big Bang a los 12 años; ¡Es justo decir que todos estaban muy orgullosos!

En la escuela, no era tonto de ninguna manera. En realidad era relativamente brillante, pero no me apliqué completamente. Obtuve calificaciones decentes, pero definitivamente no de lo que era completamente capaz.

Era muy arrogante y pensé que me iría bien con cero trabajo.

Solicité a las mejores universidades como Oxford e Imperial College, pero dada mi ética de trabajo, estaba delirando pensando que tenía una oportunidad. El día de los resultados, terminé en limpieza cuando perdí mis ofertas. Este fue probablemente uno de los días más triste de mi vida.

La limpieza en el Reino Unido es donde las universidades ofrecen lugares a los estudiantes en ciertos cursos donde tienen espacio. Es principalmente para estudiantes que no tienen una oferta universitaria.

Tuve la suerte de que me ofrecieran la oportunidad de estudiar física en la Universidad de Surrey, ¡y obtuve una maestría de primera clase en física!

Genuinamente no hay sustituto para el trabajo duro. Es un cliché cringoso, ¡pero es cierto!

Mi plan original era hacer un doctorado y ser investigador o profesor de tiempo completo, pero durante mi título, hice un año de investigación, y sentí que una carrera en la investigación no era para mí. Todo se movió muy lentamente, y no parecía que hubiera muchas oportunidades en el espacio.

Durante este tiempo, Deepmind lanzó su Alphago – La película Documental en YouTube, que apareció en mi feed de casa.

Desde el video, comencé a comprender cómo trabajaba y aprendía sobre redes neuronales, aprendizaje de refuerzo y aprendizaje profundo. Para ser honesto, hasta el día de hoy todavía no soy un experto en estas áreas.

Naturalmente, cavé más profundo y descubrí que un científico de datos utiliza algoritmos de AI y aprendizaje automático para resolver problemas. Inmediatamente quería entrar y comencé a solicitar roles de posgrado de ciencias de datos.

Pasé innumerables horas codificando, tomando cursos y trabajando en proyectos. Solicité a 300+ trabajos Y finalmente aterrizó mi primer esquema de posgrado de ciencias de datos en septiembre de 2021.

Puedes escuchar más sobre mi viaje desde un podcast.

Viaje de ciencia de datos

Comencé mi carrera en una compañía de seguros, donde construí varios modelos de aprendizaje supervisados, principalmente utilizando paquetes de árboles impulsados ​​por el gradiente como Catboost, XGBOost y Modelos lineales generalizados (GLM).

Construí modelos para predecir:

  • Fraude – ¿Alguien fraudulentamente reclamó ganancias?
  • Precios de riesgo – ¿Cuál es la prima que deberíamos darle a alguien?
  • Número de reclamos – ¿Cuántas afirmaciones tendrá alguien?
  • Costo promedio de reclamo– ¿Cuál es el valor promedio de reclamo que alguien tendrá?

Hice alrededor de seis modelos que abarcan el espacio de regresión y clasificación. Aprendí mucho aquí, especialmente en estadísticas, ya que trabajé muy de cerca con los actuarios, por lo que mi conocimiento matemático fue excelente.

Sin embargo, debido a la estructura y la configuración de la compañía, fue difícil para mis modelos avanzar más allá de la etapa POC, por lo que sentí que me faltaba el lado “tecnológico” de mi conjunto de herramientas y la comprensión de cómo las empresas usan el aprendizaje automático en la producción.

Después de un año, mi empleador anterior se comunicó conmigo preguntándome si quería solicitar un papel de científico de datos junior que se especialice en Pronóstico de series de tiempo y mejoramiento problemas. Realmente me gustó la compañía, y después de algunas entrevistas, ¡me ofrecieron el trabajo!

Trabajé en esta compañía durante unos 2.5 años, donde me convertí en un experto en problemas de pronóstico y optimización combinatoria.

Desarrollé muchos algoritmos e implementé mis modelos para la producción a través de AWS utilizando las mejores prácticas de ingeniería de software, como pruebas unitarias, un entorno inferior, sistema de sombras, tuberías de CI/CD y mucho más.

Justo decir que aprendí mucho.

Trabajé muy de cerca con los ingenieros de software, así que recogí muchos conocimientos de ingeniería y el aprendizaje automático y estadísticas continuas de la autoestudio.

Yo incluso obtuvo una promoción ¡Desde el nivel junior hasta el medio en ese momento!

Transición a MLE

Con el tiempo, me di cuenta de que el valor real de la ciencia de datos lo está utilizando para tomar decisiones en vivo. Hay una buena cita de Pau Labarta Bajo

Los modelos ML dentro de los cuadernos Jupyter tienen un valor comercial de $ 0

No tiene sentido construir un modelo realmente complejo y sofisticado si no producirá resultados. Buscar que la precisión adicional del 0.1% al alcanzar múltiples modelos a menudo no vale la pena.

Es mejor construir algo simple que pueda implementar, y eso traerá un beneficio financiero real a la empresa.

Con esto en mente, comencé a pensar en el futuro de la ciencia de datos. En mi cabeza, hay dos vías:

  • Analítica-> Usted trabaja principalmente para obtener información sobre lo que el negocio debería estar haciendo y lo que debería estar considerando para aumentar su rendimiento.
  • Ingeniería-> Usted envía soluciones (modelos, algoritmos de decisión, etc.) que aportan valor comercial.

Siento que el científico de datos que analiza y construye modelos POC se extinguirá en los próximos años porque, como dijimos anteriormente, no proporcionan un valor tangible a un negocio.

Eso no quiere decir que son completamente inútiles; Debe pensar en ello desde la perspectiva comercial de su retorno de la inversión. Idealmente, el valor que aporta debe ser más que su salario.

Desea decir que hiciste “X que produjo Y”, que las dos vías anteriores te permiten hacer.

El lado de la ingeniería fue el más interesante y agradable para mí. Realmente disfruto codificando y construyendo cosas que beneficien a las personas, y que puedan usar, así que naturalmente, ahí es donde gravité.

Para pasar al lado de la ingeniería de ML, le pregunté a mi gerente de línea si podía implementar los algoritmos y los modelos ML que estaba construyendo. Obtendría ayuda de ingenieros de software, pero escribiría todo el código de producción, haría mi propio diseño del sistema y configuraría el proceso de implementación de forma independiente.

Y eso es exactamente lo que hice.

Básicamente me convertí en un Ingeniero de aprendizaje automático. Estaba desarrollando mis algoritmos y luego enviándolos a la producción.

Yo también tomé Curso de estructuras de datos y algoritmos de Neetcode Para mejorar mis fundamentos de la informática y comenzar Bloguear sobre conceptos de ingeniería de software.

Casualmente, mi empleador actual me contactó en este tiempo y me preguntó si quería solicitar un rol de ingeniero de aprendizaje automático que se especialice en general ML y optimización en su empresa.

Llámalo suerte, pero claramente, el universo me estaba diciendo algo. Después de varias rondas de entrevistas, me ofrecieron el papel, ¡y ahora soy un ingeniero de aprendizaje automático de pleno derecho!

Afortunadamente, un tipo de rol de “Fell To Me”, pero creé mi propia suerte a través de la habilidad y documentación de mi aprendizaje. Es por eso que siempre le digo a la gente que muestre su trabajo: no sabes qué puede provenir de él.

Mi consejo

Quiero compartir los consejos principales que me ayudaron a hacer la transición de un ingeniero de aprendizaje automático a un científico de datos.

  • Experiencia– Un ingeniero de aprendizaje automático es no una posición de nivel de entrada en mi opinión. Debe estar bien versado en ciencia de datos, aprendizaje automático, ingeniería de software, etc. No necesita ser un experto en todos ellos, pero tener buenos fundamentos en todos los ámbitos. Es por eso que recomiendo tener un par de años de experiencia como ingeniero de software o científico de datos y otras áreas.
  • Código de producción-Si es de Data Science, debe aprender a escribir un código de producción bueno y bien probado. Debe saber cosas como escribir, pelusa, pruebas unitarias, formateo, burla y CI/CD. No es demasiado difícil, pero solo requiere algo de práctica. Recomiendo pedirle a su compañía actual que trabaje con ingenieros de software para obtener este conocimiento, ¡funcionó para mí!
  • Sistemas de nubes– La mayoría de las empresas hoy en día implementan muchos de sus arquitectura y sistemas en la nube, y los modelos de aprendizaje automático no son la excepción. Por lo tanto, es mejor practicar con estas herramientas y comprender cómo permiten que los modelos se activen. Aprendí la mayor parte de esto en el trabajo, para ser honesto, pero hay cursos que puedes tomar.
  • Línea de comando– Estoy seguro de que la mayoría de ustedes ya lo saben, pero cada profesional de la tecnología debe ser competente en la línea de comandos. Lo usará ampliamente al implementar y escribir código de producción. Tengo una guía básica que puedes pagar aquí.
  • Estructuras de datos y algoritmos– Comprender los algoritmos fundamentales en la informática son muy útiles para los roles MLE. Principalmente porque es probable que se le pregunte al respecto en las entrevistas. No es demasiado difícil de aprender en comparación con el aprendizaje automático; Solo lleva tiempo. Cualquier curso hará el truco.
  • Git y Github– Una vez más, la mayoría de los profesionales de la tecnología deben conocer Git, pero como MLE, es esencial. Cómo aplastar los compromisos, hacer revisiones de código y escribir solicitudes de extracción pendientes son imprescindibles.
  • Especializarse– Muchos roles de MLE que vi requirieron que tuvieras especialización en un área en particular. Me especializo en el pronóstico de series de tiempo, la optimización y el ML general basado en mi experiencia previa. Esto lo ayuda a destacar en el mercado, y la mayoría de las empresas buscan especialistas hoy en día.

El tema principal aquí es que básicamente calificé mis habilidades de ingeniería de software. Esto tiene sentido ya que ya tenía todas las matemáticas, estadísticas y conocimientos de aprendizaje automático de ser un científico de datos.

Si yo fuera ingeniero de software, la transición probablemente sería lo contrario. Es por eso que asegurar un rol de ingeniero de aprendizaje automático puede ser bastante desafiante, ya que requiere competencia en una amplia gama de habilidades.

Resumen y más pensamientos

Tengo un boletín gratuito, Repartir los datosdonde comparto consejos y consejos semanales como científico de datos en ejercicio. Además, cuando te suscribas, obtendrás mi Currículum de ciencia de datos gratuitoy Versión pdf corta de mi hoja de ruta AI!

Conéctate conmigo