Kubeflow es una plataforma de código abierto para aprendizaje automático y MLOps en Kubernetes introducida por Google . Las diferentes etapas en un ciclo de vida típico de aprendizaje automático están representadas con diferentes componentes de software en Kubeflow, incluido el desarrollo de modelos ( Kubeflow Notebooks [ 4 ] ) , entrenamiento de modelos ( Kubeflow Pipelines , [ 5 ] Kubeflow Training Operator [ 6 ] ) , servicio de modelos ( KServe [ a ] [ 7 ] ) y aprendizaje automático automatizado ( Katib [ 8 ] ) .
Cada componente de Kubeflow se puede implementar por separado, y no es un requisito implementar todos los componentes. [ 9 ]
Historia
El proyecto Kubeflow fue anunciado por primera vez en KubeCon + CloudNativeCon North America 2017 por los ingenieros de Google David Aronchick, Jeremy Lewi y Vishnu Kannan [ 10 ] para abordar una supuesta falta de opciones flexibles para construir sistemas de aprendizaje automático listos para producción. [ 11 ] El proyecto también ha declarado que comenzó como una forma para que Google liberara el código fuente de cómo ejecutaban TensorFlow internamente. [ 12 ]
La primera versión de Kubeflow (Kubeflow 0.1) se anunció en KubeCon + CloudNativeCon Europe 2018. [ 13 ] [ 14 ] Kubeflow 1.0 se lanzó en marzo de 2020 a través de una publicación de blog pública que anunciaba que muchos componentes de Kubeflow estaban pasando a un "estado estable", lo que indicaba que ahora estaban listos para su uso en producción. [ 15 ]
En octubre de 2022, Google anunció que el proyecto Kubeflow había solicitado unirse a la Cloud Native Computing Foundation . [ 16 ] [ 17 ] En julio de 2023, la fundación votó a favor de aceptar a Kubeflow como un proyecto en etapa de incubación. [ 18 ] [ 19 ]
Componentes
Cuadernos de Kubeflow para el desarrollo de modelos
Los modelos de aprendizaje automático se desarrollan en el componente de cuadernos llamado Kubeflow Notebooks . Este componente ejecuta entornos de desarrollo basados en la web dentro de un clúster de Kubernetes, con soporte nativo para Jupyter Notebook , Visual Studio Code y RStudio . [ 20 ]
Pipelines de Kubeflow para el entrenamiento de modelos
Una vez desarrollados, los modelos se entrenan en el componente Kubeflow Pipelines . Este componente actúa como una plataforma para crear e implementar flujos de trabajo de aprendizaje automático portátiles y escalables basados en contenedores Docker. [ 21 ] Google Cloud Platform ha adoptado el DSL de Kubeflow Pipelines dentro de su producto Vertex AI Pipelines . [ 22 ]
Operador de entrenamiento de Kubeflow para entrenamiento de modelos
Para ciertos modelos y bibliotecas de aprendizaje automático, el componente Kubeflow Training Operator proporciona soporte para recursos personalizados de Kubernetes . El componente ejecuta trabajos de entrenamiento distribuidos o no distribuidos de TensorFlow , PyTorch , Apache MXNet , XGBoost y MPI en Kubernetes. [ 6 ]
KServe para el servicio de modelos
El componente KServe (anteriormente llamado KFServing [ 23 ] ) proporciona recursos personalizados de Kubernetes para servir modelos de aprendizaje automático en marcos arbitrarios, incluidos TensorFlow , XGBoost , scikit-learn , PyTorch y ONNX . [ 24 ] KServe fue desarrollado en colaboración por Google , IBM , Bloomberg , NVIDIA y Seldon . [ 23 ] Entre los usuarios de KServe que han sido divulgados públicamente se incluyen Bloomberg , [ 25 ] Gojek , [ 26 ] la Fundación Wikimedia , [ 27 ] y otros. [ 28 ]
Katib para el aprendizaje automático automatizado
Por último, Kubeflow incluye un componente para el entrenamiento y desarrollo automatizado de modelos de aprendizaje automático , el componente Katib . Se describe como un proyecto nativo de Kubernetes y cuenta con ajuste de hiperparámetros , parada temprana y búsqueda de arquitectura neuronal . [ 29 ]
Cronograma de lanzamiento
Notas
Referencias
- ↑ "Sitio web de Kubeflow - Grupos de trabajo" .
- 1 2 "Kubeflow 0.1 - Release Tag" . GitHub .
- 1 2 "Kubeflow 1.10 - Información de lanzamiento" .
- ↑ "Sitio web de Kubeflow - Cuadernos de Kubeflow" .
- ↑ "Sitio web de Kubeflow - Pipelines de Kubeflow" .
- 1 2 "Kubeflow GitHub - Kubeflow Training Operator" . GitHub .
- ↑ "Sitio web de Kubeflow - KServe" .
- ^ "Sitio web de Kubeflow - Katib" .
- ↑ "Sitio web de Kubeflow - Instalación de Kubeflow" .
- ↑ ""Hot Dogs or Not" - A escala con Kubernetes [ I ] - Vish Kannan y David Aronchick, Google" . YouTube . 15 de diciembre de 2017.
- ↑ "Presentamos Kubeflow: una pila de aprendizaje automático componible, portátil y escalable diseñada para Kubernetes" . 21 de diciembre de 2017.
- ↑ "Sitio web de Kubeflow - Historia" .
- ↑ "Kubeflow, la plataforma de aprendizaje automático para Kubernetes liderada por Google, comienza a tomar forma" . 4 de mayo de 2018.
- ↑ "Anuncio de Kubeflow 0.1" . 4 de mayo de 2018.
- ↑ "Kubeflow 1.0: Aprendizaje automático nativo en la nube para todos" . 2 de marzo de 2020.
- ↑ Lamkin, Thea (24-10-2022). "Kubeflow ha solicitado convertirse en un proyecto incubado por la CNCF" . Kubeflow . Recuperado el 02-11-2023 .
- ↑ "Kubeflow solicita convertirse en un proyecto incubado por la CNCF" . Blog de código abierto de Google . 24 de octubre de 2022. Consultado el 2 de noviembre de 2023 .
- ↑ "Kubeflow lleva MLOps a la incubadora de la CNCF" . Cloud Native Computing Foundation . 25 de julio de 2023. Consultado el 2 de noviembre de 2023 .
- ↑ "Kubeflow se une a la familia CNCF" . Blog de código abierto de Google . 25 de julio de 2023. Consultado el 2 de noviembre de 2023 .
- ↑ "Sitio web de Kubeflow - Descripción general de los cuadernos de Kubeflow" .
- ↑ "Sitio web de Kubeflow - Introducción a las canalizaciones de Kubeflow" .
- ↑ "Vertex AI - Construyendo una canalización" .
- 1 2 "KServe: La próxima generación de KFServing" . 27 de septiembre de 2021.
- ↑ "KServe GitHub" . GitHub .
- ↑ "El proceso de creación de la plataforma de inferencia de aprendizaje automático de Bloomberg utilizando KServe (anteriormente KFServing)" . Bloomberg Lp . 12 de octubre de 2021.
- ↑ "Merlin: Haciendo que las implementaciones de modelos de aprendizaje automático sean mágicas" .
- ↑ "Aprendizaje automático/LiftWing" .
- ↑ "Sitio web de KServe - Usuarios de KServe" .
- ↑ «Kubeflow GitHub - Katib» . GitHub .
- ↑ "Kubeflow 0.2 - Etiqueta de lanzamiento" . GitHub .
- ↑ "Kubeflow 0.3 - Etiqueta de lanzamiento" . GitHub .
- ↑ "Kubeflow 0.4 - Etiqueta de lanzamiento" . GitHub .
- ↑ "Kubeflow 0.5 - Etiqueta de lanzamiento" . GitHub .
- ↑ "Kubeflow 0.6 - Información de la versión" .
- ↑ "Kubeflow 0.7 - Información de lanzamiento" .
- ↑ "Kubeflow 1.0 - Información de lanzamiento" .
- ↑ "Kubeflow 1.1 - Información de lanzamiento" .
- ↑ "Kubeflow 1.2 - Información de lanzamiento" .
- ↑ "Kubeflow 1.3 - Información de lanzamiento" .
- ↑ "Kubeflow 1.4 - Información de lanzamiento" .
- ↑ "Kubeflow 1.5 - Información de lanzamiento" .
- ↑ "Kubeflow 1.6 - Información de lanzamiento" .
- ↑ "Kubeflow 1.7 - Información de lanzamiento" .
- ↑ "Kubeflow 1.8 - Información de lanzamiento" .
- ↑ "Kubeflow 1.9 - Información de lanzamiento" .
Enlaces externos
- Sitio web oficial

- Kubeflow en GitHub
- Software de 2018
- Infraestructura en la nube
- Software de minería de datos y aprendizaje automático
- Software que utiliza la licencia Apache.
- Software libre programado en Python
- Software gratuito programado en Go.