Feast, tienda de funciones de código abierto para proyectos de Aprendizaje Automático

GO-JEK y Google Cloud (GC) han anunciado hace poco el lanzamiento de Feast, una tienda de funciones de código abierto que permite a los equipos administrar, almacenar y descubrir funciones para usar en proyectos de Machine Learning (ML) o Aprendizaje Automático.

En ambas compañías tienen claro que, para operar sistemas de ML a escala, los equipos deben tener acceso a una gran cantidad de datos de características para capacitar a sus modelos y servirlos en producción.

Feast, desarrollado conjuntamente por GO-JEK y Google Cloud, pretende resolver un conjunto de desafíos comunes que enfrentan los equipos de ingeniería de Aprendizaje Automático al convertirse en una plataforma abierta, extensible y unificada para el almacenamiento de funciones.

Mediante una entrada de blog de GC se ha especificado que la iniciativa brinda a los equipos la capacidad de definir y publicar funciones en esta tienda unificada, lo que a su vez facilita el descubrimiento y la reutilización de funciones en proyectos de Aprendizaje Automático.

Peter Richens, científico de Datos Sénior de GO-JEK, ha dicho que Feast es un componente esencial en la construcción de sistemas de aprendizaje de máquina de punta a punta en GO-JEK.

“Estamos muy entusiasmados de divulgarlo a la comunidad de código abierto. Trabajamos estrechamente con Google Cloud en el diseño y desarrollo del producto y esto ha dado como resultado un sistema robusto para la gestión de las características de Aprendizaje Automático, desde la idea hasta la producción”.

Ha señalado que los equipos de ML necesitan un conjunto diverso de sistemas que trabajen juntos para las implementaciones de producción. Justamente, Kubeflow es un proyecto dedicado a hacer que estos sistemas sean simples, portátiles y escalables, y que tiene como objetivo desplegar los mejores sistemas de código abierto para ML en diversas infraestructuras.

De acuerdo a la publicación, actualmente las compañías se encuentran en el proceso de integrar Feast con Kubeflow para abordar las necesidades de almacenamiento de funciones inherentes al ciclo de vida del Aprendizaje Automático.

Feast: PaaS centralizada

Feast resuelve muchos desafíos al proporcionar una plataforma centralizada para estandarizar la definición, el almacenamiento y el acceso de las funciones para la capacitación y el servicio. Se ha indicado que además actúa como un puente entre la ingeniería de datos y el Aprendizaje Automático.

“Feast maneja la ingestión de datos de características de fuentes de transmisión y de lotes. También administra las bases de datos de almacenamiento y servicio para los datos históricos y más recientes”.

Al usar un SDK (Kit de Desarrollo de Software) de Python (lenguaje de programación), los usuarios pueden generar conjuntos de datos de entrenamiento desde el almacén de características. También pueden usar una biblioteca cliente para acceder a los datos de características de la API Feast Serving, una vez que se implementa su modelo.

Y es que la plataforma centralizada permite a las organizaciones construir una base de características que pueden reutilizarse en todos los proyectos. Los equipos pueden usar características desarrolladas por otros grupos y, a medida que se agregan más características a la tienda, es más fácil y más económico construir modelos.

“Feast permite a los usuarios acceder fácilmente a datos históricos de funciones. Esto permite a los usuarios producir conjuntos de datos de características para usar en modelos de capacitación. Los profesionales de ML pueden enfocarse más en el modelado y menos en la ingeniería de características”.

Los datos de la función también están disponibles para los modelos en producción a través de una API de servicio de la función. Se ha explicado que la API de servicio ha sido diseñada para proporcionar acceso de baja latencia a los valores de las características más recientes.

La plataforma centralizada igualmente proporciona coherencia al administrar y unificar la ingestión de datos de fuentes de lotes y secuencias, utilizando Apache Beam, tanto en el almacén de características como en las tiendas de servicios. “Los usuarios pueden consultar las características en el almacén y la API de servicio utilizando el mismo conjunto de identificadores de características”.

Otra de las ventajas es que los equipos pueden capturar documentación, metadatos y métricas sobre las características, lo que les permite comunicarse claramente acerca de esas características, probar sus datos y determinar si una tipología es útil para un modelo en particular.

Kubeflow para Feast

Feast pretende ser desplegable en Kubeflow e integrarse perfectamente con otros componentes de este kit de herramientas de Aprendizaje Automático para Kubernetes (sistema de código libre). Esto incluiría un SDK de Python para usar con las computadoras portátiles Jupyter de Kubeflow, así como las tuberías Kubeflow.

“Feast proporciona una manera consistente de acceder a las funciones que se pueden pasar a los modelos de servicio y para acceder a las funciones en lotes para la capacitación”.

Las compañías estiman que Feast pueda actuar como un puente entre los equipos de ingeniería de datos y de ML. Esperan escuchar los comentarios a través del proyecto GitHub.