0w1 Bij Jsq1vusg.jpeg

Cuando aprendí ciencia de datos por primera vez (hace más de 5 años), la ingeniería de datos y la ingeniería de aprendizaje automático no estaban tan extendidas como lo están hoy. En consecuencia, el papel de un científico de datos era a menudo más ampliamente definido de lo que podemos ver estos días.

Por ejemplo, los científicos de datos pueden haber escrito scripts ETL, configurado bases de datos, realizado ingeniería de funciones, entrenado modelos de ML e implementado modelos en producción.

Tendencias de Google a lo largo del tiempo en ciencia de datos, ingeniería de datos e ingeniería de aprendizaje automático: captura de pantalla de Tendencias de Google.

Aunque cada vez es más común dividir estas tareas entre múltiples roles (por ejemplo, ingenieros de datos, científicos de datos e ingenieros de ML), muchas situaciones todavía requieren colaboradores que sean bien versado en todos los aspectos de ML modelo de desarrollo. Llamo a estos contribuyentes científicos de datos de pila completa.

Más específicamente, veo un científico de datos completo como alguien que pueda administrar e implementar una solución de aprendizaje automático de un extremo a otro. Esto implica formular problemas comerciales, diseñar soluciones de aprendizaje automático, obtener y preparar datos para el desarrollo, entrenar modelos de aprendizaje automático e implementar modelos para que se pueda aprovechar su valor.

Dado el aumento de roles especializados para implementar proyectos de ML, esta noción de El FSDS puede parecer obsoleto. Al menos, eso fue lo que pensé en mi primer puesto en ciencia de datos corporativa.

Hoy en día, sin embargo, el valor de aprender toda la tecnología es cada vez más obvio para mí. Todo esto empezó el año pasado cuando entrevistó a los mejores autónomos en ciencia de datos de Upwork.

Casi todas las personas con las que hablé encajan en la definición de científico de datos completo dada anteriormente. Esto no fue sólo por diversión y curiosidad sino por necesidad.

A comida para llevar clave de estas entrevistas fue Las habilidades en ciencia de datos (por sí solas) tienen un impacto comercial potencial limitado.. Para generar valor en el mundo real (por el que un cliente pagará), es imprescindible crear soluciones de principio a fin.

Pero esto no se limita al trabajo independiente. Aquí hay algunos otros contextos donde los FSDS pueden ser beneficiosos

  • Una PYME (pequeña y mediana empresa) con solo 1 recurso dedicado para proyectos de IA/ML
  • Un único colaborador de IA/ML está integrado en un equipo empresarial
  • Fundador que quiere crear un producto de aprendizaje automático
  • Colaborador individual en una gran empresa que puede explorar proyectos fuera de los equipos establecidos.

En otras palabras, los científicos de datos completos son generalistas que pueden ver el panorama general y profundizar en aspectos específicos de un proyecto según sea necesario. Esto los convierte en un recurso valioso para cualquier empresa que busque generar valor a través de la inteligencia artificial y el aprendizaje automático.

Si bien FSDS requiere varias habilidades, el rol se puede dividir en cuatro funciones clave: Gerente de proyecto, Ingeniero de datos, científico de datosy Ingeniero de aprendizaje automático.

Por supuesto, nadie puede ser de clase mundial en todos los aspectos (probablemente). Pero ciertamente uno puede estar por encima del promedio en todos los ámbitos (solo lleva tiempo).

Aquí, desglosaré cada uno de estos sombreros en función de mi experiencia como consultor en ciencia de datos y entrevistas con 27 profesionales de datos/ML.

El papel clave de un director de proyecto (IMO) es responder 3 preguntas: qué, por quéy cómo. En otras palabras, ¿Qué estamos construyendo? ¿Por qué lo estamos construyendo? ¿Cómo lo vamos a hacer?

Si bien puede ser fácil saltarse este trabajo (y comenzar a codificar), no ponerse el sombrero de PM correctamente corre el riesgo de perder mucho tiempo (y dinero) resolviendo el problema equivocado. O resolver el problema correcto de una manera innecesariamente compleja y costosa.

El punto de partida para esto es Definiendo el problema empresarial.. En la mayoría de los contextos, el científico de datos completo no está resolviendo su problema, por lo que esto requiere la capacidad de trabajar con las partes interesadas para descubrir las causas fundamentales del problema. Discutí algunos consejos sobre esto en un Artículo anterior.

Una vez que el problema está claramente definido, se puede identificar cómo la IA puede resolverlo. Esto establece el objetivo a partir del cual trabajar hacia atrás para estimar los costos, los plazos y los requisitos del proyecto.

Habilidades clave

  • Comunicación y gestión de relaciones.
  • Diagnosticar problemas y diseñar soluciones.
  • Estimación de los plazos, costos y requisitos del proyecto.

En el contexto de FSDS, la ingeniería de datos se ocupa de hacer que los datos estén fácilmente disponibles para el desarrollo o la inferencia del modelo (o ambos).

Dado que esto está inherentemente centrado en el producto, la función DE puede ser más limitada que una función típica de ingeniería de datos. Más específicamente, esto probablemente no requerirá optimizar las arquitecturas de datos para varios casos de uso empresarial.

En cambio, la atención se centrará en construyendo canales de datos. Esto implica diseñar e implementar procesos ETL (o ELT) para casos de uso específicos.

ETL significa extraer, transformar y cargar. Implica extrayendo datos de sus fuentes sin procesar, transformando en una forma significativa (por ejemplo, limpieza de datos, deduplicación, manejo de excepciones, ingeniería de funciones), y cargando convertirlo en una base de datos (por ejemplo, modelado de datos y diseño de bases de datos).

Otra área importante aquí es monitoreo de datos. Si bien los detalles de esto dependerán del caso de uso específico, el objetivo final es brindar visibilidad continua a los canales de datos a través de sistemas de alerta, paneles de control o similares.

Habilidades clave

  • Python, SQL, CLI (por ejemplo, bash)
  • Canalizaciones de datos, ETL/ELT (Airflow, Docker)
  • Una plataforma en la nube (AWS, GCP o Azure)

Defino a un científico de datos como alguien que utiliza datos para descubrir regularidades en el mundo que pueden usarse para impulsar el impacto. En la práctica, esto a menudo se reduce a entrenar un modelo de aprendizaje automático (porque las computadoras son mucho mejores que los humanos para encontrar regularidades en los datos).

Para la mayoría de los proyectos, es necesario cambiar entre este sombrero y los sombreros 1 y 2. Durante el desarrollo del modelo, es común encontrar ideas que requieren revisar la preparación de datos o el alcance del proyecto.

Por ejemplo, uno podría descubrir que una excepción no se manejó adecuadamente para un campo en particular o que los campos extraídos no tienen el poder predictivo que se asumió al inicio del proyecto.

Una parte esencial del entrenamiento modelo es Modelo de validación. Consiste en definir métricas de desempeño que se pueden utilizar para evaluar modelos. Puntos de bonificación si esta métrica se puede traducir directamente en una métrica de desempeño empresarial.

Con una métrica de rendimiento, se puede programar Experimentar y evaluar varias configuraciones de modelos. ajustando, por ejemplo, las divisiones de pruebas de tren, los hiperparámetros, la elección de predictores y el enfoque de ML. Si no se requiere entrenamiento del modelo, es posible que aún desee comparar el rendimiento de varios modelos previamente entrenados.

Habilidades clave

  • Python (pandas/polares, sklearn, TensorFlow/PyTorch)
  • Análisis de datos exploratorios (EDA)
  • Desarrollo de modelos (ingeniería de funciones, seguimiento de experimentos, ajuste de hiperparámetros)

El último sombrero implica tomar el modelo de ML y convertirlo en una solución de ML, es decir, integrar el modelo en los flujos de trabajo empresariales para que su valor pueda realizarse.

Una forma sencilla de hacer esto es contener el modelo y configurar una API para que los sistemas externos puedan realizar llamadas de inferencia. Por ejemplo, la API podría conectarse a un sitio web interno que permita a los usuarios empresariales realizar un cálculo.

Sin embargo, algunos casos de uso pueden no ser tan simples y requerir soluciones más sofisticadas. Aquí es donde un herramienta de orquestación puede ayudar a definir flujos de trabajo complejos. Por ejemplo, si el modelo requiere actualizaciones mensuales a medida que hay nuevos datos disponibles, es posible que sea necesario automatizar todo el proceso de desarrollo del modelo, desde ETL hasta la capacitación y la implementación.

Otro área importante de consideración es seguimiento del modelo. Al igual que el monitoreo de datos, esto implica rastrear las predicciones y el desempeño del modelo a lo largo del tiempo y hacerlos visibles a través de alertas automáticas u otros medios.

Si bien muchos de estos procesos pueden ejecutarse en máquinas locales, implementar estas soluciones utilizando una plataforma en la nube es una práctica común. Cada ingeniero de ML (MLE) que he entrevistado utiliza al menos una plataforma en la nube y recomienda implementaciones en la nube como una habilidad central de los MLE.

Habilidades clave

  • Scripts en contenedores (Docker), creación de API (FastAPI)
  • Orquestación: conexión de datos y canalizaciones de aprendizaje automático (AirFlow)
  • Una plataforma en la nube (AWS, GCP o Azure)

Si bien un científico de datos completo puede parecer un unicornio técnico, el objetivo (en mi opinión) no es convertirse en un gurú de todos los aspectos de la pila tecnológica. Más bien, es para aprender lo suficiente para ser peligroso.

En otras palabras, no se trata de dominarlo todo sino de poder hacerlo. aprende todo lo que necesitas para hacer el trabajo. Desde esta perspectiva, supongo que la mayoría de los científicos de datos se convertirán en «full stack» si se les da el tiempo suficiente.

Con este fin, aquí están 3 principios Lo estoy usando para acelerar mi desarrollo personal de FSDS.

  1. Tener una razón para aprender nuevas habilidades. por ejemplo, construir proyectos de un extremo a otro
  2. Solo aprende lo suficiente para ser peligroso
  3. Mantenga las cosas lo más simples posible: es decir, no diseñe demasiado las soluciones

Un científico de datos completo puede gestionar e implementar una solución de aprendizaje automático de un extremo a otro. Si bien esto puede parecer excesivo para contextos donde existen roles especializados para etapas clave del desarrollo del modelo, este conjunto de habilidades generalistas sigue siendo valioso en muchas situaciones.

Como parte de mi viaje para convertirme en un científico de datos completo, futuros artículos de esta serie recorrerá cada uno de los 4 sombreros FSDS a través de la implementación de un extremo a otro de un proyecto de ML del mundo real.

Con ánimo de aprender, si sientes que falta algo aquí, te invito a dejar un comentario (se agradecen) 😁