Con la gran proliferación de las tecnologías de datos y la analítica de aprendizaje automático (machine learning) 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) puede ser muy atractivo, pero a medida que estos flujos de trabajo se vuelven más complejos, los investigadores deben dedicar mayor cantidad de tiempo a configurarlos en lugar de dedicarse a hacer ciencia de datos.
Por eso, 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 deben, primero, 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.