Ir al contenido

Blog


Organizar el aprendizaje automático: Todos los sabores son bienvenidos

12 de febrero de 2020

|
Alok Gupta

Alok Gupta

Principios y procesos de DoorDash para democratizar el aprendizaje automático

Hace seis meses me incorporé a DoorDash como su primer Jefe de Ciencia de Datos y Aprendizaje Automático. Una de mis primeras tareas fue ayudar a decidir cómo debíamos organizar los equipos de aprendizaje automático (ML) para que pudiéramos obtener el máximo beneficio de esta maravillosa tecnología. Puede obtener más información sobre algunos de los casos de uso actuales de ML en DoorDash en nuestro blog aquí.

Habiendo pasado algún tiempo en empresas tecnológicas anteriores y hablado con muchas más, era plenamente consciente de muchos de los retos que se plantean.

Desafíos

  1. ML está mal definido: ¿Es ML una regresión lineal en Excel? ¿Y un bosque aleatorio de juguete en un cuaderno Jupyter local? ¿Dónde está el límite entre la analítica y el ML?
  2. El ML necesita ingeniería y ciencia: El ML en las empresas tecnológicas requiere una toma de decisiones óptima y eficaz.
  3. El ML avanza rápidamente: Incluso en los últimos cinco años hemos visto cómo los enfoques de modelado, las plataformas y los lenguajes cambiaban casi cada 18 meses.
  4. El ML está de moda: mucha gente ve el ML como algo mágico y por eso todo el mundo quiere trabajar en él.

En el n.º 2, "eficaz" implica que necesitamos baja latencia, fiabilidad y escalabilidad, lo que suele ser propio de los ingenieros de software, mientras que "óptimo" implica que necesitamos excelencia matemática y estadística, lo que suele ser propio de los científicos de datos. Este suele ser el mayor problema: ¿quién debe trabajar en ML? ¿Los ingenieros o los científicos de datos? ¿Los dos? ¿Ninguno de los dos? Este debate suele provocar fricciones en los equipos e infelicidad entre los empleados.

En DoorDash, nuestros valores fundamentales incluyen "One Team One Fight" y "Make Room At The Table". Queremos que personas de todas las procedencias y con experiencia en ML vengan y se sientan capaces de hacer su mejor trabajo. Así que decidimos hacer las cosas de forma diferente, más inclusiva. Elaboramos una carta de principios para la gestión del talento con la siguiente visión y principios:

Visión

Creación de software basado en datos para la medición y optimización avanzadas

Principios

  1. Democracia: todo el mundo puede construir y ejecutar un modelo ML si dispone de herramientas y orientación suficientes.
  2. Talento: queremos atraer y hacer crecer a los mejores profesionales del ML centrados en el impacto empresarial.
  3. Rapidez: si ya existe una solución rentable de ML de terceros, deberíamos utilizarla.
  4. Suficiencia: si una función (normalmente Ingeniería) puede implementar una solución de ML lo suficientemente buena sin ayuda, entonces debería hacerlo.
  5. Incrementalidad: si una función (normalmente Data Science) puede añadir suficiente valor incremental a una solución ML, entonces debería hacerlo.
  6. Responsabilidad: cada solución de ML tiene un único responsable técnico que toma las decisiones técnicas.

La idea que subyace a esta visión es que sólo queremos construir ML donde realmente se necesita, no donde pueda ser interesante. Buscamos oportunidades de negocio en las que el análisis simple o las reglas sólo consiguen un 10-40% del impacto. Esto garantiza que el rendimiento del tiempo de un profesional de ML sea muy alto para la empresa.

Los principios garantizan que podamos contratar a los mejores y que seamos lo más eficientes posible con nuestro talento. La propiedad y la responsabilidad son esenciales para motivar y capacitar a los empleados para que hagan su mejor trabajo. Tenga en cuenta que estos principios son bastante generales y probablemente podrían aplicarse a la mayoría de las herramientas.

Un corolario importante de estos principios es que no encasillamos ninguna función, es decir, no decimos en qué puede o no puede trabajar un científico de datos, o en qué puede o no puede trabajar un ingeniero. Creemos en las líneas difusas y en ayudar a los profesionales de ML a crecer en las áreas que deseen, por lo que está bien que un científico de datos trabaje en código de producción o que un ingeniero de ML construya funcionalidades.

Lo que permite esta flexibilidad manteniendo un alto nivel es el principio nº 6, que establece que una sola persona es responsable de un proyecto. Eso no significa que esa persona tenga que hacer el trabajo, solo que debe asegurarse de que se hace correctamente, y puede elegir que lo haga un científico de datos, un ingeniero u otra persona.

No existe una única estructura o proceso que se adhiera a la visión y los principios, sino que cualquier estructura elegida debe estar claramente articulada para garantizar su éxito. En DoorDash, hemos optado por las siguientes estructuras y procesos para cumplir los principios:

Organización

  1. Estructura jerárquica: Los ingenieros de ML dependen de los directores de ingeniería y los científicos de datos de ML dependen de los directores de DS. La infraestructura de ML depende del equipo central de la plataforma de datos.
  2. Contratación: Las descripciones de los puestos y los procesos de contratación de los ingenieros de ML y los científicos de datos de ML son revisados y aprobados por el Consejo de ML.
  3. Tecnología: Fuerte inversión en una plataforma de ML centralizada por parte de la Plataforma de Datos (flujo de trabajo, aprovisionamiento, orquestación, almacenes de características, preparación de datos comunes, validación, controles de calidad, supervisión, etc.). Posibles decisiones sobre tecnología de infraestructura de ML (construcción/compra) revisadas y aprobadas por el Consejo de ML.
  4. Ejecución:
    1. Cualquier persona de la empresa puede identificar un caso de uso de ML y redactar una propuesta (problema empresarial, impacto estimado frente a coste de construcción/mantenimiento, solución, composición del equipo, un único responsable técnico).
    2. La propuesta es revisada, modificada y aprobada por los responsables de las distintas funciones del pod o vertical (PM, EM, DS Manager, Analytics Manager, etc.). Los líderes deben aprobar el problema de negocio, la priorización y el impacto / coste.
    3. La propuesta es revisada, modificada y aprobada por el Consejo del ML.
    4. Todos los pasos de la revisión serán transparentes: El Consejo de ML y los profesionales de ML se reunirán semanalmente en la "Revisión de ML" para revisar los temas y debatir los siguientes pasos. Las decisiones se tomarán en esta ML Review y se tomarán notas que se enviarán por correo electrónico a todos los interesados.

Una característica clave de DoorDash es que no utilizamos las líneas jerárquicas como mecanismo para reforzar la alineación y la colaboración. Las líneas jerárquicas no escalan bien, especialmente a medida que una empresa crece y atrae a diferentes tipos de ingenieros y científicos de datos. En su lugar, forzamos la colaboración y la toma de decisiones interfuncionales a través de un Consejo de ML:

Consejo ML

  1. Composición: el Consejo de ML se compone de un grupo de profesionales experimentados en ML de toda la empresa, normalmente altos cargos de ML de Ingeniería, ML de Ciencia de Datos y ML de Infraestructura. Está dirigido por el Presidente del Consejo de ML, que toma las decisiones en caso de escaladas. Rota con cierta frecuencia, por ejemplo, cada 12 meses.
  2. Función: la función del Consejo de ML es:
    1. Proporcionar un equilibrio entre la variabilidad específica de cada proyecto y la uniformidad en toda la empresa, de modo que seamos eficientes como empresa.
    2. revisar y comentar todas las nuevas aplicaciones de ML
    3. facilitar el intercambio de ideas y soluciones
    4. crear una mejor visibilidad de las piezas comunes (para alimentar la infra)
    5. fomentar una comunicación más proactiva de las fuentes de datos y las soluciones.
  3. Responsabilidad: Normalmente, el Consejo de ML debería asegurarse de que si el rendimiento de producción es el mayor obstáculo para el éxito, el responsable técnico sea un Ingeniero de ML. De lo contrario, si el rendimiento estadístico es el mayor obstáculo para el éxito, el responsable técnico será un científico de datos. El Consejo de ML debería comprobar que las soluciones cuentan con el apoyo suficiente y que, en la medida de lo posible, forman parte de la inversión a largo plazo en la plataforma de ML.
  4. Autonomía: Si el Consejo de ML no está de acuerdo sobre la solución / equipo / líder, entonces el Presidente del Consejo de ML desempata y toma una decisión.

El Consejo de ML es el pegamento que mantiene unidas todas las funciones (ingeniería, ciencia de datos, infraestructura, etc.) y hace que todos los equipos que utilizan ML (búsqueda, despacho, marketing, previsión, fraude, etc.) colaboren y aprendan unos de otros.

En DoorDash hemos tenido esta organización en marcha durante unos cinco meses y las cosas parecen ir bien. No cabe duda de que nos toparemos con obstáculos y tendremos que ajustar nuestros procesos o aclarar ciertos aspectos, pero esto forma parte de la emoción de trabajar en una startup tecnológica dinámica y en rápida evolución como DoorDash.

En el futuro escribiremos muchas más entradas en el blog sobre nuestros problemas, fracasos y éxitos con ML, y sobre cómo utilizamos la metodología de experimentación avanzada para probar e iterar. Nos comprometemos a compartir nuestros conocimientos y aprendizajes para que la comunidad de ML en general pueda beneficiarse de ellos.

Si te apasiona resolver problemas desafiantes en este espacio, estamos contratando para nuestros equipos de ML y puedes aplicar aquí. Si estás interesado en trabajar en otras áreas de DoorDash, visita nuestra página de empleo.

Sobre el autor

  • Alok Gupta

    Alok Gupta es el Director de Inteligencia Artificial y Aprendizaje Automático de DoorDash.

Trabajos relacionados

Ubicación
San Francisco, CA; Mountain View, CA; Nueva York, NY; Seattle, WA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA; Seattle, WA
Departamento
Ingeniería
ID de trabajo: 3013456
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
San Francisco, CA; Seattle, WA; Sunnyvale, CA
Departamento
Ingeniería