Proyecto Open Data Hub: una plataforma de aprendizaje automático abierta basada en Red Hat OpenShift

El futuro ha llegado, sus tiendas favoritas, empresas de transporte e incluso granjas que cultivan pavos ya utilizan con éxito las tecnologías de inteligencia artificial y aprendizaje automático.



Y si algo existe, entonces en Internet ya existe ... ¡un proyecto abierto! Vea cómo Open Data Hub ayuda a escalar nuevas tecnologías y evitar las dificultades de implementarlas.

Con todos los beneficios de la inteligencia artificial (IA) y el aprendizaje automático (ML), las organizaciones a menudo tienen dificultades para escalar estas tecnologías. Los principales problemas con esto, como regla, son los siguientes:

  • Intercambio de información y cooperación : es casi imposible intercambiar información sin esfuerzos innecesarios y cooperar en modo de iteración rápida.
  • Acceso a los datos : para cada tarea, debe construirse de forma nueva y manual, lo que lleva mucho tiempo.
  • Acceso a pedido: no hay forma de obtener acceso a pedido a las herramientas y la plataforma de aprendizaje automático, así como a la infraestructura informática.
  • Producción : los modelos permanecen en la etapa de prototipo y no son llevados a la explotación industrial.
  • Seguimiento y explicación de los resultados de AI : la reproducibilidad, el seguimiento y la explicación de los resultados de AI / ML son difíciles.

Si no se resuelven, estos problemas afectan negativamente la velocidad, la eficiencia y la productividad de los valiosos especialistas en procesamiento y análisis de datos. Esto lleva a su frustración, desilusión en el trabajo y, como resultado, las expectativas comerciales con respecto a AI / ML se vuelven nulas.

La responsabilidad de resolver estos problemas recae en los profesionales de TI que necesitan proporcionar analistas de datos, es decir, algo así como una nube. Si está más desarrollado, entonces necesitamos una plataforma que brinde libertad de elección y tenga un acceso conveniente y fácil. Al mismo tiempo, es rápido, fácilmente reconfigurable, escalable bajo demanda y resistente a fallas. Construir una plataforma de este tipo sobre la base de tecnologías de código abierto ayuda a no depender del proveedor y mantener una ventaja estratégica a largo plazo en términos de control de costos.

Hace unos años, sucedió algo similar en el desarrollo de aplicaciones y dio lugar a la aparición de microservicios, entornos de nube híbrida, automatización de TI y procesos ágiles. Para hacer frente a todo esto, los profesionales de TI comenzaron a usar contenedores, Kubernetes y nubes híbridas abiertas.

Ahora esta experiencia se está aplicando para responder a los desafíos de Al. Por lo tanto, los profesionales de TI crean plataformas que se basan en contenedores, le permiten crear servicios de IA / ML como parte de procesos ágiles, acelerar la innovación y se crean con un ojo puesto en una nube híbrida.



Comenzaremos a construir dicha plataforma con Red Hat OpenShift, nuestra plataforma contenedor Kubernetes para una nube híbrida que tiene un ecosistema de rápido crecimiento de soluciones ML de software y hardware (NVIDIA, H2O.ai, Starburst, PerceptiLabs, etc.). Algunos de los clientes de Red Hat, como BMW Group, ExxonMobil y otros, ya han implementado cadenas de herramientas ML en contenedores y procesos DevOps basados ​​en esta plataforma y su ecosistema para llevar sus arquitecturas ML a operaciones comerciales y acelerar el trabajo de los analistas de datos.

Otra razón por la que lanzamos el proyecto Open Data Hub es para demostrar una arquitectura de ejemplo basada en varios proyectos de código abierto y mostrar cómo implementar todo el ciclo de vida de una solución ML basada en la plataforma OpenShift.

Proyecto Open Data Hub


Este es un proyecto de código abierto que se desarrolla dentro del marco de la comunidad de desarrollo correspondiente e implementa un ciclo completo de operaciones, desde la carga y conversión de datos iniciales hasta la formación, capacitación y mantenimiento del modelo, al resolver tareas de AI / ML utilizando contenedores y Kubernetes en la plataforma OpenShift. Este proyecto se puede considerar como una implementación de referencia, un ejemplo de cómo construir una solución abierta de AI / ML como servicio basada en OpenShift y herramientas de código abierto relacionadas como Tensorflow, JupyterHub, Spark y otras. Es importante tener en cuenta que Red Hat mismo utiliza este proyecto para proporcionar sus servicios de AI / ML. Además, OpenShift se integra con soluciones clave de ML y software de hardware de NVIDIA, Seldon, Starbust y otros proveedores, lo que facilita la construcción y el lanzamiento de sus propios sistemas de aprendizaje automático.



El proyecto Open Data Hub se centra en las siguientes categorías de usuarios y casos de uso:

  • Un analista de datos que necesita una solución para implementar proyectos de ML, organizado por el tipo de nube con funciones de autoservicio.
  • Un analista de datos que necesita la máxima selección de la amplia variedad de las últimas herramientas y plataformas de AI / ML de código abierto.
  • Un analista de datos que necesita acceso a fuentes de datos cuando entrena modelos.
  • Analista de datos que necesita acceso a recursos informáticos (CPU, GPU, memoria).
  • Date es un analista que necesita la oportunidad de colaborar y compartir los resultados del trabajo con colegas, recibir comentarios e introducir mejoras utilizando el método de iteración rápida.
  • Un analista de datos que quiere interactuar con los desarrolladores (y los equipos de desarrollo) para que sus modelos de ML y resultados de trabajo entren en producción.
  • Un ingeniero de datos que necesita proporcionar análisis de datos con acceso a una variedad de fuentes de datos de conformidad con los estándares y requisitos de seguridad.
  • Un administrador / operador de sistemas de TI que necesita la capacidad de controlar fácilmente el ciclo de vida (instalación, configuración, actualización) de componentes y tecnologías de código abierto. También necesitamos herramientas adecuadas de gestión y cuotas.

El proyecto Open Data Hub combina una serie de herramientas de código abierto para implementar una operación completa de AI / ML. El Jupyter Notebook se usa aquí como la principal herramienta de trabajo para el análisis de datos. Este kit de herramientas ahora es popular entre los profesionales de procesamiento y análisis de datos, y Open Data Hub les permite crear y administrar fácilmente espacios de trabajo de Jupyter Notebook utilizando el JupyterHub incorporado. Además de crear e importar cuadernos Jupyter, el proyecto Open Data Hub también contiene un número de cuadernos listos para usar en forma de Biblioteca AI.

Esta biblioteca es una colección de componentes de aprendizaje automático de código abierto y soluciones de secuencias de comandos de muestra que simplifican la creación rápida de prototipos. JupyterHub está integrado con el modelo de acceso OpenShift RBAC, que le permite usar cuentas OpenShift existentes e implementar el inicio de sesión único. Además, JupyterHub ofrece una interfaz de usuario conveniente llamada spawner, con la cual el usuario puede configurar fácilmente la cantidad de recursos informáticos (núcleos de procesador, memoria, GPU) para el Jupyter Notebook seleccionado.

Después de que el analista de datos crea y configura la computadora portátil, el planificador de Kubernetes, que forma parte de OpenShift, se encarga del resto. Los usuarios solo pueden realizar sus experimentos, guardar y compartir los resultados de su trabajo. Además, los usuarios avanzados pueden acceder directamente al shell OpenShift CLI directamente desde los portátiles Jupyter para habilitar las primitivas de Kubernetes, como Job, o la funcionalidad OpenShift, como Tekton o Knative. O puede utilizar la conveniente GUI de OpenShift llamada "OpenShift Web Console" para esto.





Pasando al siguiente paso, Open Data Hub brinda la capacidad de administrar canalizaciones de datos. Para esto, se utiliza un objeto Ceph, que se proporciona como un almacén de datos de objetos compatible con S3. Apache Spark transmite datos desde fuentes externas o el almacenamiento integrado Ceph S3, y también le permite realizar conversiones de datos preliminares. Apache Kafka proporciona una gestión avanzada de canalizaciones de datos (donde puede realizar múltiples descargas, así como operaciones de transformación, análisis y almacenamiento de datos).

Entonces, el analista de datos obtuvo acceso a los datos y construyó un modelo. Ahora tiene el deseo de compartir los resultados con colegas o desarrolladores de aplicaciones, y de proporcionarles su modelo de principios de servicio. Para hacer esto, necesita un servidor de salida, y Open Data Hub tiene dicho servidor, se llama Seldon y le permite publicar el modelo como un servicio RESTful.

En algún momento, hay varios modelos de este tipo en el servidor Seldon, y es necesario controlar cómo se usan. Para hacer esto, Open Data Hub ofrece una colección de métricas relevantes y un motor de informes basado en las herramientas de monitoreo de código abierto ampliamente utilizadas Prometheus y Grafana. Como resultado, recibimos comentarios para monitorear el uso de modelos de IA, en particular en el entorno de producción.



Por lo tanto, Open Data Hub proporciona un enfoque similar a la nube a lo largo de todo el ciclo de operación de AI / ML, desde el acceso y la preparación de datos hasta la capacitación y la operación industrial del modelo.

Poniendo todo junto


Ahora la pregunta es cómo organizar esto para el administrador de OpenShift. Y aquí viene el operador especial de Kubernetes para proyectos de Open Data Hub.



Este operador gestiona la instalación, la configuración y el ciclo de vida del proyecto Open Data Hub, incluida la implementación de herramientas como JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus y Grafana. El proyecto Open Data Hub se puede encontrar en la consola web de OpenShift, en la sección de operadores de la comunidad. Por lo tanto, el administrador de OpenShift puede especificar que los proyectos correspondientes de OpenShift se clasifiquen como el "Proyecto Open Data Hub". Esto se hace una vez. Después de eso, el analista de datos a través de la consola web OpenShift ingresa a su espacio de proyecto y ve que el operador Kubernetes correspondiente está instalado y disponible para sus proyectos. Luego crea una instancia del proyecto Open Data Hub con un solo clic e inmediatamente accede a las herramientas descritas anteriormente. Y todo esto se puede configurar en modo de alta disponibilidad y tolerancia a fallas.



Si desea probar el proyecto Open Data Hub con sus propias manos, comience con las instrucciones de instalación y un tutorial introductorio . Los detalles técnicos de la arquitectura Open Data Hub se pueden encontrar aquí ; los planes de desarrollo de proyectos están aquí . En el futuro, se planea implementar una integración adicional con Kubeflow, resolver una serie de problemas con la regulación y seguridad de los datos, y organizar la integración con sistemas basados ​​en las reglas Drools y Optaplanner. Puede expresar su opinión y convertirse en miembro del proyecto Open Data Hub en la página de la comunidad .

Resumimos: los problemas graves con la escala impiden que las organizaciones se den cuenta del potencial de la inteligencia artificial y el aprendizaje automático. Red Hat OpenShift se ha utilizado con éxito durante mucho tiempo para resolver problemas similares en la industria del software. El proyecto Open Data Hub, implementado dentro de la comunidad de desarrollo de código abierto, ofrece una arquitectura de referencia para organizar un ciclo completo de operación AI / ML basado en la nube híbrida OpenShift. Tenemos un plan de desarrollo claro y reflexivo para este proyecto, y nos tomamos en serio la creación de una comunidad activa y fructífera para desarrollar soluciones de IA abiertas en la plataforma OpenShift que lo rodea.

Source: https://habr.com/ru/post/472836/


All Articles