¿DevOps mejora las operaciones de ciencia de datos y aprendizaje automático?

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

  1. Cerrar una brecha de comunicación entre negocios, ciencia de datos, ingeniería y operaciones
  2. Forme equipos multifuncionales que entreguen productos para el usuario final en lugar de documentos académicos.
  3. 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

  1. Científico de datos abstractos del tiempo de ejecución de la computación distribuida o contexto de transmisión
  2. 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.
  3. 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

  1. 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.
  2. Entrega continua unificada y sistemas de monitoreo continuo para tuberías de capacitación y predicción
  3. Agregación de registros, alertas y otras herramientas imprescindibles para poner en funcionamiento cualquier tipo de software, incluidos proyectos de aprendizaje automático
  4. Escalabilidad y elasticidad para el procesamiento de datos y las líneas de capacitación.
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Para asegurarse de que los lectores entiendan qué es DevOps, DevOps existe para alinear el interés de los Desarrolladores (sacar nuevas características rápidamente) con el de las Operaciones de TI (garantizar la estabilidad y la calidad). Tradicionalmente, había mucha fricción en esta área, con preocupaciones en competencia que detenían el objetivo general compartido de entregar valor (muchas características innovadoras que no se rompen). Tanto los desarrolladores de software como las operaciones se han beneficiado enormemente de la fusión de estas disciplinas en lo que ahora llamamos DevOps.

Entonces, ¿cómo encaja Data Science? La ciencia de datos exitosa ocurre cuando se trata menos de hacer descubrimientos en el laboratorio y más acerca de sacar características innovadoras del producto que aprovechan el aprendizaje automático. La gran “calma” que ocurrió después de la exageración de Data Science (artículo de trabajo más sexy ) se debió a la falta de ROI en proyectos de ciencia de datos. El bajo retorno de la inversión se debió casi por completo a la brecha que existía entre “el laboratorio y la fábrica” ​​donde se capacitaron los modelos de aprendizaje automático de calidad, pero implementarlos en la producción fue un gran dolor de cabeza. Este problema está lejos de resolverse, con una desafortunada falta de herramientas a la hora de implementar modelos; la mayoría de los cuales convierten modelos en una especificación diferente (utilizada solo para puntuación, no para entrenamiento), o simplemente ajustan una API RESTful alrededor de un script de Python.

Data Science debe formar parte de la infraestructura y el proceso para integrar, probar, implementar y monitorear continuamente las aplicaciones que creamos. Aquí es donde entra DevOps, ya que esta lista de pasos es en gran medida la preocupación de estos profesionales. En el software tradicional cada vez que se introduce algo nuevo en el sistema, o se modifica de alguna manera, el cambio se integra y se rastrea en cada pieza central de la aplicación. Esto asegura que el cambio no cause problemas en algún lugar entre las muchas piezas de software enredadas.

Este tipo de preocupaciones son muy relevantes para hacer que el aprendizaje automático sea una realidad en cualquier organización y, por lo tanto, existe una gran necesidad de que Data Dcience y DevOps se alineen. Pero para que esto sea posible, no podemos simplemente mapear el enfoque utilizado en el software tradicional (sin aprendizaje automático) con el tipo de productos que construimos cuando la ciencia de datos aparece en la imagen (aprendizaje automático). El software tradicional opera en un paradigma basado en reglas con salidas conocidas. El software de aprendizaje automático está entrenado , no programado, y esto cambia la naturaleza de lo que significa aplicar DevOps a las aplicaciones de aprendizaje automático. ¿Qué significan las tareas en DevOps (migrar, construir, modificar, administrar, entregar, actualizar, escalar, monitorear) cuando se introduce el aprendizaje automático? Todas estas piezas son vitales para las aplicaciones de aprendizaje automático, pero el cambio de paradim que ML aporta al desarrollo de software requiere más que un enfoque DevOps como siempre.

Echando un vistazo al flujo de trabajo de aprendizaje automático:

  • Recolección de datos
  • Preparación de datos
  • Construcción del modelo
  • Modelo de validación
  • Despliegue

¿Qué pasa si las distribuciones en nuestras fuentes de datos cambian; ¿Qué sucede con los modelos que basan sus predicciones en estas distribuciones asumidas? ¿Cómo se incorporan los atributos de datos de nueva ingeniería a los modelos en ejecución? ¿Cómo experimentan los científicos de datos con datos en bruto, validan nuevos modelos y despliegan rápidamente los que funcionan? ¿Cómo se ejecutan y monitorean regularmente los experimentos en línea y fuera de línea? ¿Qué sucede cuando un modelo se vuelve obsoleto? ¿Cómo sabemos cuándo se pone rancio? ¿Y cómo suceden todas estas cosas a la perfección, en línea con los aspectos más tradicionales del software?

Dado que DevOps tiene como objetivo establecer una cultura en la que la creación, prueba y lanzamiento de software puede suceder de forma rápida y más confiable, es un beneficio obvio para el nuevo mundo de productos de datos. Lento pero seguro llegaremos allí.

Muchas compañías tienen los datos y los científicos de datos que están equipados para hacer análisis y construir modelos que pueden ser diseñados cuidadosamente para conectarse a alguna aplicación comercial utilizable. Pero cada implementación de un modelo es un trabajo personalizado, frágil y único, y garantizar la calidad de los modelos se realiza como un esfuerzo manual frágil.
Analytics Ops es la diferencia entre centrarse en victorias puntuales intensivas en recursos y tener una fuente de alimentación constante y adaptable. Para llegar allí, las empresas requerirán equipos interfuncionales con el software y la disciplina adecuados para permitir que los científicos de datos, ingenieros, gerentes de productos y expertos en dominios trabajen juntos para crear un ciclo continuo que genere valor para el negocio. Aquí hay un buen artículo sobre esto: DevOps para Data Science: por qué Analytics Ops es clave para valorar

Construir una tubería de producción es bastante diferente de construir un prototipo de aprendizaje automático en una computadora portátil local. Muchos equipos y empresas enfrentan los desafíos allí.

Como mínimo, los siguientes requisitos se cumplirán cuando traslade su solución a producción

  1. Reentrenamiento periódico de los modelos / algoritmos.
  2. Facilidad de reimplementación y cambios de configuración en el sistema
  3. Eficiencia y alto rendimiento de la puntuación en tiempo real de las nuevas observaciones fuera de muestra
  4. Disponibilidad del rendimiento del modelo de monitor a lo largo del tiempo
  5. ETL adaptable y capacidad para administrar nuevas fuentes de datos y sistemas transaccionales como fuentes de datos para AI y herramientas de aprendizaje automático
  6. Escalando a operaciones realmente grandes de datos
  7. Seguridad y niveles de acceso autorizados a diferentes áreas de los sistemas analíticos.
  8. Procesos / herramientas de respaldo y recuperación sólidos

Esto entra en el territorio tradicionalmente habitado por DevOps. Los científicos de datos idealmente deberían aprender a manejar la parte de esos requisitos ellos mismos o al menos ser consultores informativos para los gurús clásicos de DevOps.

Aquí hay una lista de problemas típicos de DevOps en las rutinas diarias de Data Scientist, y cómo dichos problemas podrían ser manejados usando herramientas de código abierto de DS como Data Version Control:
Control de versión de datos en el paradigma de DevOps de Analytics

1. Extraiga todo tipo de datos necesarios de una variedad de fuentes . Una vez que configure y escriba sus trabajos de extracción de datos con DVC, será persistente y operable en toda su infraestructura de datos y servicios

2. Extraer, transformar y cargar los datos . ETL será fácil y repetible una vez que lo configure con secuencias de comandos DVC. Se convertirá en una tubería sólida para operar sin un gran esfuerzo de apoyo. Además, rastreará todos los cambios y activará una alerta de actualizaciones en los pasos de la tubería a través de DAG.

3. Facilitar el aprendizaje automático continuo y la toma de decisiones. La parte de la tubería facilitada a través de secuencias de comandos DVC puede ser trabajos para cargar datos de nuevo a cualquier sistema transaccional (como ERP, ERM, CRM, etc.), almacén o data mart. Luego estará expuesto a las partes interesadas del negocio para tomar decisiones inteligentes basadas en datos.

4. Comparta sus algoritmos y datos . El modelado de Machine Learning es un proceso iterativo y es extremadamente importante realizar un seguimiento de sus pasos, dependencias entre los pasos, dependencias entre su código y archivos de datos y todos los argumentos de ejecución de código. Esto se vuelve aún más importante y complicado en un entorno de equipo donde la colaboración de los científicos de datos requiere una gran cantidad de esfuerzo del equipo.

DevOps “Entrega continua de software “, es ” Estrategias de automatización” y con su capacidad de mantener una colaboración y comunicación bien equilibradas entre las unidades de “Desarrollo y Operativo” de su organización implicada, DevOps apunta a lograr mayores ganancias y mejores resultados de producción. Es un hecho comprobado que la implementación efectiva de las estrategias de DevOps colocará a la organización implicada muy por delante de sus respectivos competidores. Por lo tanto, la demanda de un ingeniero DevOps calificado está más en el sector corporativo actual. Pero en contraste con esta demanda, hay una escasez de ingenieros DevOps calificados. Por lo tanto, muchas organizaciones de primer nivel están dispuestas a pagar paquetes de pago extremadamente altos para los expertos DevOps mejor calificados.

Para hacer frente a esta gran demanda de los expertos de DevOps, muchos institutos están ofreciendo capacitación DevOps en Hyderabad . Entre todos esos institutos, Open source Technologies ha sido reconocido como el principal proveedor de la mejor capacitación orientada al trabajo en DevOps.

Por lo tanto, inscribirse en las tecnologías de código abierto seguramente garantizará el éxito en su carrera de DevOps.

Oportunidades laborales con capacitación DevOps:

  • Una persona experta en DevOps será bienvenida en cualquiera de las principales compañías multinacionales.
  • A medida que las inversiones en este campo son más, el crecimiento futuro de DevOps siempre mostrará una curva ascendente
  • Aumento de la demanda de personas con habilidades DevOps.
  • La máxima prioridad para muchas empresas multinacionales.
  • Crecimiento acelerado de la carrera.
  • Paquete de pago aumentado.

¿Cuál es la especialidad del Instituto DevOps de tecnologías de código abierto?

Open Source Technologies DevOps Training Institute En Hyderabad difiere de los otros institutos de capacitación en varias formas. Las especialidades de la capacitación DevOps de Open Source Technologies en Hyderabad incluyen

  • Tener a los ” Mejores Expertos de la Industria” como la ” Facultad de Capacitación DevOps”
  • Ofrece interacción con los ” expertos de la industria”
  • Mantiene los mejores recursos, incluida la “Infraestructura de laboratorio sofisticada”
  • “Sesiones de talleres regulares” bajo la supervisión de expertos de la industria
  • Asistencia de expertos en ” Preparación de currículums” y en “Programación de entrevistas”
  • Bien ” Estructura de tarifa de curso asequible”

Entonces, al inscribirse en las tecnologías de código abierto, se puede lograr el mejor entorno de aprendizaje y garantizar el éxito en su carrera profesional DevOps a través de su capacitación avanzada.

Módulos de aprendizaje DevOps en tecnologías de código abierto:

La capacitación de DevOps en Hyderabad en Open Source Technologies proporcionará un conocimiento profundo sobre varios aspectos de DevOps que incluye

  • Adquiere habilidades en los conceptos básicos de DevOps, así como conocimientos de materias de nivel avanzado
  • Mejora el conocimiento en SDLC, Linux básico y secuencias de comandos, gestión de configuración de software, etc.
  • Comprende los conocimientos básicos del centro de datos y la nube, que es privado y público
  • Adquiere habilidades en la gestión del entorno de la nube, que es la provisión y configuración
  • Habilidades en monitoreo, descripción general de chef, componentes principales de chef, instalación y componentes de chef
  • Comprende el conocimiento en Introducción a los elementos esenciales del chef y el Chef gerente
  • Habilidades para probar libros de cocina y el uso de complementos
  • Sesiones de capacitación orientadas a proyectos basadas en la industria

Demostración gratuita de DevOps de Open Source Technologies:

Tecnologías de código abierto al; proporciona “Demo gratuita de DevOps en Hyderabad” cuyos objetivos incluyen

  • Sesiones interactivas con los mejores expertos de DevOps en tiempo real.
  • Explicar el papel de un ingeniero DevOps y proporcionar conocimiento sobre empleo y crecimiento profesional.
  • Información sobre las áreas donde se puede aplicar DevOps.
  • El alcance de las oportunidades profesionales con el curso DevOps.

Por lo tanto, inscribirse en el entrenamiento DevOps en Hyderabad en Open Source Technologies seguramente garantizará el éxito en la carrera de los aspirantes deseados. Por lo tanto, este es el momento adecuado para aprovechar esta oportunidad efectiva de mejora de carrera.

También brindamos capacitación en línea de DevOps.

Inscríbase ahora para aprovechar la demostración gratuita de DevOps.