Cualquier proyecto de ciencia de datos debe tener una estrategia de producción / operaciones desde sus primeros días.
Las mejores prácticas que funcionan.
DevOps como una extensión de Agile ayuda a
- ¿En qué situaciones, ha encontrado que el aprendizaje profundo no funciona bien?
- ¿Qué prueba estadística usar para cuantificar la similitud entre dos distribuciones cuando no son normales?
- ¿Qué tipo de antecedentes estadísticos debo tener para tomar el curso de Reconocimiento de patrones? Cual estadística Qué libro es útil para mi preparación?
- ¿Qué tan importante fue el Premio Netflix para el área de Sistemas de recomendación?
- ¿Qué conocimiento matemático se necesita para comenzar a trabajar en el aprendizaje profundo?
- Cerrar una brecha de comunicación entre negocios, ciencia de datos, ingeniería y operaciones
- Forme equipos multifuncionales que entreguen productos para el usuario final en lugar de documentos académicos.
- Realice un proceso de Exploración-> Desarrollo-> Pruebas-> Implementación-> Monitoreo continuo, claro y transparente
La mentalidad de DevOps / Microservices para la arquitectura de software hace posible
- Científico de datos abstractos del tiempo de ejecución de la computación distribuida o contexto de transmisión
- Desacoplar los servicios de aprendizaje automático y predicción por lotes de la lógica y representación empresarial. Ver Hydrosphere Mist como implementación de referencia.
- Democratice la pila de aprendizaje automático y cree servicios de aprendizaje automático utilizando una miríada de excelentes herramientas como scikit-learn, Spark ML, Tensor Flow, fastText en lugar de quedarse en el tiempo de ejecución de producción de JVM
El ecosistema Ops en evolución trae
- Entornos unificados de investigación y producción, así como infraestructura de procesamiento de datos, aprendizaje automático y microservicios en Kubernetes, DC / OS y nubes públicas.
- Entrega continua unificada y sistemas de monitoreo continuo para tuberías de capacitación y predicción
- Agregación de registros, alertas y otras herramientas imprescindibles para poner en funcionamiento cualquier tipo de software, incluidos proyectos de aprendizaje automático
- Escalabilidad y elasticidad para el procesamiento de datos y las líneas de capacitación.
- Arquitecturas laterales que desacoplan redes, descubrimiento de servicios, equilibrio de carga del código de aprendizaje automático. Vea la implementación de las tuberías de predicción en tiempo real como un ejemplo.
Realidad y desafíos pendientes .
El proceso de ciencia de datos y aprendizaje automático presenta nuevos desafíos que no podrían resolverse mediante soluciones copiadas del mundo tradicional de filas y columnas de Java
- Cuadernos de cultura. Todo el mundo ama los cuadernos de Júpiter y Zeppelin. Invertir demasiado en el desarrollo basado en portátiles impide que las empresas trasladen esta base de código a la producción.
- Cargas de trabajo de big data multiusuario y multiusuario. Tener 1 científico de datos trabajando en la aplicación de conteo de palabras en un clúster dedicado de Spark y 10 equipos de científicos de datos, ingenieros y operaciones que trabajan en un entorno de arrendamiento múltiple son historias completamente diferentes.
- El aseguramiento de la calidad de las canalizaciones de datos con estado y los algoritmos de aprendizaje automático es mucho más complicado que escribir pruebas unitarias. Nuevos proyectos de investigación como Swirl apuntan a simplificar este proceso.
- El monitoreo de anomalías en las fuentes de datos, las transformaciones de datos y la detección de problemas de degradación de los modelos requiere herramientas mucho más sofisticadas que la pila ELK u otro software de monitoreo de operaciones. Debe diseñarse a propósito para aplicaciones pesadas de aprendizaje automático y de datos.