Reunir un equipo de AA

Los proyectos de AA requieren equipos con miembros que tengan una variedad de habilidades, experiencia, y responsabilidades relacionadas con el aprendizaje automático. Son los más comunes roles que se encuentran en los equipos típicos de AA:

Rol Conocimientos y habilidades Entregable principal
gerente de producto de AA Los gerentes de productos de AA tienen una comprensión profunda de las fortalezas y de las debilidades y el proceso de desarrollo del AA. Alinean los problemas empresariales a las soluciones de AA a través de la dirección con el equipo de AA, los usuarios finales, y otros interesados. Ellas crear la visión del producto, definir los casos de uso y de seguridad, y planificar y priorizar proyectos. Documento de requisitos del producto (PRD).
Gerente de ingeniería Los gerentes de ingeniería logran sus objetivos comerciales estableciendo, comunicando y lograr las prioridades del equipo. Como el AA gerentes de producto, alinean las soluciones de AA con los problemas empresariales. Establece expectativas claras para los miembros del equipo, realizar evaluaciones de rendimiento y ayudar con el desarrollo y el desarrollo profesional. Documentos de diseño, planes de proyectos y evaluaciones de rendimiento.
Científico de datos Los científicos de datos usan análisis cuantitativo y estadístico para extraer estadísticas y valor de los datos. Ayudan a identificar y probar atributos, prototipos de modelos y ayuda con la interpretabilidad de los modelos. Informes y visualizaciones de datos que responden a preguntas empresariales gracias al análisis estadístico.
Ingeniero de AA Los ingenieros de AA diseñan, compilan, producen y administran modelos de AA. Son ingenieros de software fuertes con un profundo conocimiento del AA. tecnologías y prácticas recomendadas. Modelo implementado con suficiente calidad de predicción para satisfacer los requisitos comerciales y objetivos de tiempo de recuperación.
Ingeniero de datos Los ingenieros de datos crean canalizaciones de datos para almacenar, agregar y procesar grandes cantidades de datos. Desarrollan la infraestructura y sistemas para recopilar y transformar datos sin procesar en útiles para entrenar y entregar modelos. Los ingenieros de datos están son responsables de los datos en todo el proceso de desarrollo del AA. Canalizaciones de datos totalmente desarrolladas con la supervisión y alertas.
Ingeniero de operaciones de desarrollador (DevOps) Los ingenieros DevOps desarrollan, implementan, escalan y supervisan la infraestructura de entrega para los modelos de AA. Un proceso automatizado para entregar, supervisar, probar y crear alertas el comportamiento de un modelo.

Los proyectos de AA exitosos tienen equipos con todas las funciones representados. En equipos más pequeños, las personas deberán encargarse de las responsabilidades de varios roles.

Establecer prácticas de equipo

Debido a que los roles, las herramientas y los frameworks varían ampliamente en el AA desarrollo, es fundamental establecer prácticas comunes a través de una excelente documentación de procesos. Por ejemplo, un ingeniero podría piensa que basta con obtener los datos correctos para empezar a entrenar un modelo mientras que un ingeniero más responsable validará que el conjunto de datos sea anonimizado. de forma correcta y documentar sus metadatos y su procedencia. Asegurarse de que los ingenieros compartan Las definiciones comunes de procesos y patrones de diseño reducen la confusión y aumenta la velocidad del equipo.

Documentación del proceso

Los documentos de procesos deben definir las herramientas, la infraestructura y los procesos del equipo usarán para el desarrollo del AA. Los buenos documentos de procesos ayudan a alinear lo nuevo y lo actual los miembros del equipo. Deben responder los siguientes tipos de preguntas:

  • ¿Cómo se generan los datos para el modelo?
  • ¿Cómo examinamos, validamos y visualizamos los datos?
  • ¿Cómo modificamos un atributo de entrada o una etiqueta en los datos de entrenamiento?
  • ¿Cómo personalizamos la canalización de generación, entrenamiento y evaluación de datos?
  • ¿Cómo cambio la arquitectura del modelo para que se adapte a los cambios en la entrada atributos o etiquetas?
  • ¿Cómo obtenemos ejemplos de prueba?
  • ¿Qué métricas usaremos para evaluar la calidad del modelo?
  • ¿Cómo lanzamos nuestros modelos en producción?
  • ¿Cómo sabremos si hay algún problema con nuestro modelo?
  • ¿De qué sistemas ascendentes dependen nuestros modelos?
  • ¿Cómo puedo hacer que mi SQL se pueda mantener y reutilizar?

Más preguntas potenciales

Modelo
  • ¿Puedo entrenar modelos en diferentes conjuntos de datos en la misma para la canalización de datos, como el ajuste?

  • ¿Cómo agrego un nuevo conjunto de datos de prueba a mi canalización?

Capacitación
  • ¿Cómo puedo verificar la predicción del modelo en un ejemplo hecho a mano?

  • ¿Cómo puedo encontrar, examinar y visualizar ejemplos en los que el modelo hizo errores?

  • ¿Cómo puedo determinar qué atributo fue el más responsable de un determinado para la predicción?

  • ¿Cómo puedo saber qué funciones tienen el mayor impacto en predicciones dentro de una muestra determinada?

  • ¿Cómo calculo o diagrama las predicciones de modelos en un conjunto de datos elegido o de muestra?

  • ¿Cómo puedo calcular métricas estándar para las predicciones de mi modelo en una conjunto de datos elegido?

  • ¿Cómo desarrollo y procesamiento métricas personalizadas?

  • ¿Cómo comparo mi modelo con otros modelos sin conexión?

  • ¿Puedo realizar un metaanálisis para las evaluaciones de múltiples modelos en un solo de desarrollo de software?

  • ¿Puedo comparar el modelo actual con el de hace 10 meses?

Producción, supervisión y mantenimiento
  • Creo que creé un buen modelo. ¿Cómo puedo lanzarla en producción?

  • ¿Cómo verifico que mi modelo nuevo se ejecuta correctamente en producción?

  • ¿Puedo obtener el historial de las evaluaciones de modelos a lo largo del tiempo?

  • ¿Cómo sabré si hay algún problema con el modelo?

  • Me asignaron una página o un error en el que se menciona algo sobre el modelo. ¿Qué debo hacer?

Canalizaciones
  • ¿Cómo puedo personalizar la generación, el entrenamiento y la evaluación de los datos canalización?

  • ¿Cuándo y cómo debo crear una canalización completamente nueva?

SQL
  • Necesito SQL para generar algunos datos. ¿Dónde debería ponerlo?

Infraestructura
  • ¿Cómo funciona la entrega de modelos? ¿Hay un diagrama?

  • ¿De qué sistemas upstream depende mi modelo y que debería de las que deberías tener en cuenta?

Comunicación
  • No puedo averiguar algo. ¿Con quién (y cómo) debo comunicarme?

Recuerde

Qué se considera “prácticas recomendadas del AA” pueden variar entre empresas, equipos y individuos. Para Por ejemplo, algunos miembros del equipo pueden considerar Colabs experimentales como la principal entregable, mientras que otros querrán trabajar en R. Es posible que algunos tengan pasión por con ingeniería de software, alguien más piensa que la supervisión es lo más importante pero alguien más conoce buenas prácticas de producción de atributos, pero quiere usar Scala. Todos tienen "razón" desde su propia perspectiva y si correctamente, la combinación será un motor. Si no es así, puede ser un desastre.

Establecer las herramientas, los procesos y la infraestructura que el equipo utilizará antes escribir una línea de código puede ser la diferencia entre que el proyecto falle después dos años o realizar el lanzamiento con éxito un trimestre antes de lo previsto.

Evaluaciones de rendimiento

Debido a la ambigüedad y la incertidumbre inherentes al AA, los gerentes deben establecer expectativas claras y definir los entregables con anticipación.

Al determinar las expectativas y los entregables, considera cómo serán o evaluar si un proyecto o enfoque no tiene éxito. En otras palabras, es importante que el rendimiento de un miembro del equipo no esté directamente relacionado con el el éxito del proyecto. Por ejemplo, es común que los miembros del equipo semanas investigando soluciones que, en última instancia, no tienen éxito. Incluso en estas su código de alta calidad, su documentación exhaustiva y su documentación la colaboración debe contribuir positivamente a su evaluación.

Comprueba tu comprensión

¿Cuál es la razón principal por la que se cuenta con una excelente documentación de los procesos? y establecer prácticas comunes?
Aumentar la velocidad del proyecto.
Correcto. Tener una buena documentación de procesos y establecer prácticas reduce la confusión y optimiza el proceso de desarrollo.
Establecer las prácticas recomendadas en toda la empresa
Debido a que el desarrollo del AA varía de un proyecto a otro, los equipos suelen establecer sus propios conjuntos de prácticas recomendadas de forma eficaz y aumentar su velocidad.
Asegurarse de que todos los ingenieros del equipo tengan el mismo nivel de experiencia.
Los equipos de AA suelen tener ingenieros con una variedad de habilidades y conocimientos. La documentación del proceso ayuda a los ingenieros a alinearse con las prácticas recomendadas para aumentar su velocidad.