Seldon Core es una plataforma de código abierto que ayuda a los usuarios a implementar modelos de Machine Learning (ML, aprendizaje automático) a escala. Tiene más de 2 millones de instalaciones, con empresas como EdgeCast (anteriormente Verizon Media Platform) que la utilizan como parte de su stack de software. La empresa detrás de este producto es Seldon.
La plataforma se ejecuta en Kubernets y permite a los usuarios implementar miles de workloads de ML out-of-the-box (o listos para su uso. Puedes implementarlos en tu software, sin necesidad de configuración adicional). Además, acepta múltiples frameworks/bibliotecas, como TensorFlow, PyTorch y scikit-learn.
En el whitepaper “Hidden Technical Debt in Machine Learning Systems”, los ingenieros de Google explican una “tendencia incómoda” que está ocurriendo en la industria. Las empresas se apresuran al momento de realizar una implementación rápida y barata de modelos de ML, pero no ven la deuda técnica que se está acumulando. Cuando se trata de deuda técnica, es diferente en el ML: los sistemas de ML no solo incurren en problemas en el código tradicional, sino también en problemas específicos de ML que se encuentran a nivel del sistema. Por lo tanto, a largo plazo, incluso si el código de software tiene un buen mantenimiento, ignorar los problemas del sistema continuará profundizando este escenario, hasta que algo deje de funcionar o empeore su desempeño. El diagrama que se muestra más abajo ilustra las diferentes áreas en las que los usuarios deben centrarse para aliviar la deuda técnica en el proceso de ML.
En ese contexto, Seldon Core desempeña un papel importante en algunas áreas. Estas áreas son infraestructura de servicio, gestión de recursos de máquinas, herramientas de análisis, herramientas de gestión de procesos y monitoreo. Sin embargo, el producto se centra en la implementación.
Seldon Core es nativa de la nube y se ejecuta on-premise o en la nube. Se localiza en la parte superior de Kubernetes y aprovecha herramientas existentes, como Argo (motor de workflows), Istio (malla de servicio) y Abassador (puerta de enlace a APIs, nativa de Kubernetes). Los usuarios comerciales tienen la opción de comprar servidores de inferencia preempaquetados que se cargan con un stack de software que incluye SKLearn, XGBoost, TensorFlow, MLflow o uno personalizado.
Una de las tareas en el proceso de implementación es dividir en containers (“dockerizar”) el modelo para que pueda ser utilizado. Esto se puede hacer con herramientas de código abierto, como Source-to-Image, que toman el código fuente y lo convierten en una imagen. En general, Seldon Core es compatible con un amplio espectro de herramientas de código abierto en las áreas de Machine Learning, Kubernetes, monitoreo y mucho más. Esta es una lista con algunos de los productos de terceros compatibles:
● SkLearn
● TensorFlow
● SageMaker
● MLFlow
● PyTorch
● H2O
● Servidor NVIDIA TensorRT
● TensorFlow Serving
● Intel nGraph
● Intel OpenVINO