Con la gran proliferación de las tecnologías de datos y analítica de aprendizaje automático (machine learning, en inglés) en casi todas las industrias, se está produciendo una creciente complejización de las tareas. Contar con conjuntos de datos de mayores dimensiones y más sistemas diseñados para la investigación alimentada por inteligencia artificial (IA) es fantástico, pero a medida que estos flujos de trabajo se vuelven más complejos, los investigadores deben dedicar más tiempo a configurarlos en lugar de dedicarse a hacer ciencia de datos.
IBM anunció CodeFlare, un marco open-source para simplificar la integración y el escalamiento eficiente de flujos de trabajo de big data e IA en la nube híbrida. CodeFlare está construido sobre Ray, un marco emergente de computación distribuida open-source para aplicaciones de aprendizaje automático. CodeFlare extiende las capacidades de Ray y agrega elementos específicos con el fin de facilitar el escalamiento de flujos de trabajo.
Para crear un modelo de machine learning hoy, los investigadores y desarrolladores primero deben entrenar y optimizar el modelo. Estas tareas pueden implicar depuración de datos, extracción de características y mejora del modelo. CodeFlare reduce este proceso utilizando una interfaz basada en Python para lo que se denomina un pipeline, que consiste en simplificar los pasos de integrar, poner en paralelo y compartir los datos. El objetivo del nuevo marco es unificar los flujos de pipelines a lo largo de múltiples plataformas sin que los científicos de datos tengan que aprender un nuevo lenguaje de flujo de trabajo.
Los pipelines de CodeFlare se ejecutan con facilidad en la nueva plataforma serverless de IBM, IBM Cloud Code Engine,y Red Hat OpenShift. Los usuarios pueden implementarlo casi en cualquier lugar, extendiendo los beneficios de la plataforma serverless a científicos de datos e investigadores de IA. También permite una mayor facilidad para integrar y hacer de puente con otros ecosistemas nativos de nube, al proporcionar adaptadores para disparadores de eventos (como la llegada de un nuevo archivo), cargar y particionar datos de una amplia gama de fuentes, como almacenamientos de objeto de nube, data lakes y sistemas de archivos distribuidos.
Con CodeFlare cabe esperar que los desarrolladores no tengan que duplicar sus esfuerzos ni enfrentarse a la dificultad de descubrir qué han hecho sus colegas en el pasado para ejecutar un determinado pipeline. Con CodeFlare, IBM apunta a dar a los científicos de datos herramientas enriquecidas y APIs que puedan usar en forma más consistente, que les permitan concentrarse más en su investigación en curso y desentenderse de la complejidad de la configuración e implementación.
Y ya lo estamos viendo. Por ejemplo, cuando un usuario aplicó el marco para analizar y optimizar aproximadamente 100.000 pipelines para entrenar modelos de machine learning, CodeFlare redujo el tiempo que le llevó ejecutar cada pipeline de 4 horas a 15 minutos. Con otros usuarios, se ha comprobado cómo CodeFlare redujo meses de tiempo de desarrollo y les permitió abordar problemas de datos más grandes que antes.
IBM ofrece CodeFlare en modalidad open-source, junto con una serie de publicaciones de blog sobre cómo funciona y qué hay que saber para comenzar a usarlo. Y esto es solo el comienzo del camino que la compañía planea recorrer con CodeFlare. Han comenzado a aplicar esta tecnología a cosas que están construyendo en IBM, en su propia investigación de IA. Continuarán trabajando en la evolución de CodeFlare para dar soporte a pipelines cada vez más complejos. IBM está planificando proporcionar niveles mejorados de tolerancia a fallas y consistencia, además de mejorar la integración y gestión de datos para fuentes externas, y agregar soporte para visualización de pipelines.
*Vea el artículo original de Carlos Costa y Priya Nagpurkar de IBM aquí.