Martes, Mayo 11, 2021

Kubeflow: Kit de herramientas de aprendizaje automático para Kubernetes

kubeflow-kit-herramientas-aprendizaje-automatico-01

Nuestra publicación de hoy, tratará sobre el ámbito del Aprendizaje Automático (Machine Learning / ML). Específicamente sobre una aplicación de código abierto llamada «Kubeflow», que a su vez, trabaja sobre Kubernetes. El cual, como muchos ya saben, es un sistema de código libre para la automatización del despliegue, ajuste de escala y manejo de aplicaciones en contenedores.

«Kubeflow» a pesar de estar disponible actualmente bajo la versión estable 1.2, tal como consta en su sitio oficial web oficial y de GitHub, en su Blog oficial, ya se comenta sobre la próxima versión 1.3. Por eso hoy, profundizaremos sobre dicha aplicación.

cognitive-toolkit-sw-aprendizaje-profundo-microsoft-01

Cognitive Toolkit: SW de Aprendizaje profundo de Código Abierto

Y como de costumbre, para aquellos siempre ávidos de profundizar sobre un tema leído, dejaremos los siguientes enlaces de publicaciones anteriores relacionadas para que las exploren una vez terminen la presente publicación:

“Cognitive Toolkit de Microsoft (anteriormente llamado CNTK) es un kit de herramientas de aprendizaje profundo (Machine Learning) de «Código Abierto» con un enorme potencial. También es gratuito, fácil de usar y tiene una calidad de nivel comercial que permite crear algoritmos de aprendizaje profundo capaces de aprender a un nivel cercano al del cerebro humano.”

Articulo relacionado: Cognitive Toolkit: SW de Aprendizaje profundo de Código Abierto

Articulo relacionado: .NET y ML.NET: Plataformas de Código Abierto de Microsoft

Articulo relacionado: TensorFlow y Pytorch: Plataformas de IA de Código Abierto

kubeflow-kit-herramientas-aprendizaje-automatico-02

Kubeflow: Un proyecto abierto de aprendizaje automático

¿Qué es Kubeflow?

Según su sitio web oficial, este proyecto abierto es definido de la siguiente manera:

“Es un proyecto dedicado a hacer que los despliegues de flujos de trabajo de aprendizaje automático (ML) en Kubernetes sean simples, portátiles y escalables. Su objetivo no es recrear otros servicios, sino proporcionar una forma sencilla de desplegar los mejores sistemas de código abierto para ML en diversas infraestructuras. De manera tal que, en cualquier lugar donde se ejecute Kubernetes, se pueda ejecutar Kubeflow.”

Mientras que, en su sitio en GitHub, añaden de forma breve lo siguiente:

“Kubeflow, es la plataforma nativa en la nube para las operaciones de aprendizaje automático: pipelines, formación y despliegue.”

De esto, se puede deducir fácilmente que, el objetivo principal de «Kubeflow» es:

“Lograr que el escalado de los modelos de aprendizaje automático (ML) y su despliegue en producción sea lo más sencillo posible, dejando que Kubernetes haga lo que sabe hacer: Despliegues fáciles, repetibles y portátiles en una infraestructura diversa, el despliegue y gestión de microservicios débilmente acoplados y escalar en función de la demanda.”

¿Características?

Entre las características destacables de «Kubeflow» podemos mencionar las siguientes:

  • Incluye servicios para crear y gestionar cuadernos (notebooks) Júpiter interactivos. Permitiendo personalizar el despliegue de los mismos y demás recursos informáticos para adaptarlos a las necesidades de la ciencia de datos. Facilitando así, el experimentar con flujos de trabajo locales, para luego desplegarlos en la nube cuando sea necesario.
  • Proporciona un operador de trabajo de entrenamiento de TensorFlow personalizado. Que puede utilizarse para entrenar un modelo de ML. En particular, el operador de trabajo de Kubeflow puede manejar trabajos de entrenamiento TensorFlow distribuidos. Permitiendo el poder configurar el controlador de entrenamiento para usar CPUs o GPUs, y así para adaptarse a varios tamaños de clúster.
  • Soporta un contenedor TensorFlow Serving para exportar modelos TensorFlow entrenados a Kubernetes. Además, Kubeflow también está integrado con Seldon Core, una plataforma de código abierto para desplegar modelos de aprendizaje automático en Kubernetes, y NVIDIA Triton Inference Server para maximizar la utilización de la GPU al desplegar modelos ML/DL a escala.
  • Incluye la tecnología Kubeflow Pipelines. La cual es una solución integral para desplegar y gestionar flujos de trabajo de ML de extremo a extremo. Lo que permite una experimentación rápida y fiable, que sirve para programar y comparar ejecuciones, y examinar informes detallados sobre cada ejecución.
  • Ofrece una base multi-framework. Ya que, además de trabajar muy bien con TensorFlow, pronto contará con soporte para PyTorch, Apache MXNet, MPI, XGBoost, Chainer, y otras más.

Más información actualizada sobre «Kubeflow» puede obtenerse directamente sobre su Blog oficial.

¿Qué es Kubernetes?

Dado que, «Kubeflow» trabaja sobre «Kubernetes», vale la pena precisar según su propio sitio web oficial que esta última es lo siguiente:

“Kubernetes (K8s) es una plataforma de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.”

Y en caso de, desear profundizar sobre «Kubernetes» pueden explorar nuestras anteriores y últimas publicaciones relacionadas siguientes:

Articulo relacionado: Kubernetes 1.19 llega con un año de soporte, TLS 1.3, mejoras y mas

Articulo relacionado: Docker vs Kubernetes: ventajas y desventajas

 

Fuente: desdelinux

¿Quién está en línea?

Hay 156 invitados y ningún miembro en línea

Contador de Visitas

11691970
Hoy Hoy 1542
Ayer Ayer 3607
Esta semana Esta semana 5149
Este mes Este mes 38367
Total de Visitas Total de Visitas 11691970

Día con más
visitantes

04-19-2021 : 3976

Gracias por su visita