O que é Kubeflow?

Copiar URL

O Kubeflow é um framework open source do Kubernetes usado no desenvolvimento, gerenciamento e execução de cargas de trabalho de machine learning (ML). O Kubeflow é uma plataforma de inteligência artificial e machine learning (IA/ML) que reúne diversas ferramentas que abordam os principais casos de uso de IA/ML: exploração e pipelines de dados, treinamento e disponibilização de modelos.

Ele permite que os cientistas de dados acessem esses recursos por meio de um portal com abstrações de alto nível para interagir com as ferramentas. Isso significa que cientistas de dados não precisam se preocupar em ter que aprender detalhes mínimos sobre como o Kubernetes conecta cada uma dessas ferramentas. O Kubeflow foi especificamente projetado para execução no Kubernetes e adota completamente muitos dos conceitos principais, incluindo o modelo de operador. 

Com o Kubeflow, você supera muitos dos desafios relacionados à orquestração de pipelines de machine learning porque ele oferece um conjunto de ferramentas e APIs que simplificam o processo de treinamento e implantação de modelos de ML em escala. Um “pipeline” indica um fluxo de trabalho de ML, incluindo os componentes do fluxo de trabalho e como esses componentes interagem. O Kubeflow consegue acomodar as necessidades de várias equipes em um único projeto, permitindo que elas trabalhem em qualquer infraestrutura. Assim, os cientistas de dados podem treinar e disponibilizar modelos de ML usando a nuvem que quiserem, como IBM Cloud, Google Cloud, AWS da Amazon ou Azure. 

Em geral, o Kubeflow ajuda a padronizar as operações de machine learning (MLOps) ao organizar projetos e aproveitar o poder da cloud computing. Alguns dos principais casos de uso do Kubeflow incluem a preparação de dados, treinamento de modelos, avaliação, otimização e implantação.

 

O Kubernetes é essencial para acelerar o ciclo de vida de ML. Essas tecnologias oferecem aos cientistas de dados a agilidade, flexibilidade, portabilidade e escalabilidade necessárias para treinar, testar e implantar modelos de ML.

Escalabilidade: com o Kubernetes, os usuários podem expandir ou reduzir as cargas de trabalho de ML, dependendo da demanda. Assim, os pipelines de machine learning conseguem acomodar treinamentos e processamento em larga escala, sem interferir em outros elementos do projeto. 

Eficiência: o Kubernetes otimiza a alocação de recursos, programando as cargas de trabalho nos nós com base na disponibilidade e capacidade deles. A tecnologia assegura que os recursos de computação sejam utilizados com uma finalidade, o que oferece aos usuários reduções de custo e melhorias no desempenho.

Portabilidade: o Kubernetes oferece um ambiente padronizado e não dependente de plataformas para que os cientistas de dados possam desenvolver um pipeline de ML e implantá-lo em vários ambientes e nuvens. Assim, não é preciso se preocupar com problemas de compatibilidade e dependência de fornecedor.

Tolerância a falhas: com recursos integrados de autorrecuperação e tolerância a falhas, os usuários podem confiar no Kubernetes para manter os pipelines de ML funcionando, mesmo em caso de falha de hardware ou software.

  1. dashboard central do Kubeflow oferece uma interface web autenticada para acessar o Kubeflow e os componentes de seu ecossistema. Atuando como um hub centralizado, ele agrega as interfaces de usuário de várias ferramentas e serviços dentro do cluster, proporcionando um ponto de acesso unificado para gerenciar sua plataforma de machine learning (aprendizado de máquina).
  2. O Kubeflow se integra aos Jupyter Notebooks, gerando um ambiente interativo para exploração de dados, experimentação e desenvolvimento de modelos. Os Notebooks são compatíveis com várias linguagens de programação, incluindo Python, R e Scala, e permite que os usuários criem e executem fluxos de trabalho de ML de maneira colaborativa e reproduzível.
  3. Os Pipelines do Kubeflow permitem que os usuários definam e executem fluxos de trabalho de ML complexos como gráficos acíclicos direcionados (DAGs). Os Pipelines do Kubeflow oferecem uma maneira de orquestrar e automatizar o processo de ponta a ponta de pré-processamento de dados, treinamento, avaliação e implantação de modelos, o que promove a reprodutibilidade, escalabilidade e colaboração em projetos de ML. O  SDK dos Pipelines do Kubeflow é uma coleção de pacotes de Python, permitindo que os usuários definam e executem seus fluxos de trabalho de machine learning com precisão e eficiência.
  4. Kubeflow Training Operator disponibiliza ferramentas para treinar modelos de machine learning em escala. Isso inclui suporte para treinamento distribuído, usando frameworks como TensorFlow, PyTorch e XGBoost. Os usuários podem aproveitar as capacidades de gerenciamento de recursos e escalabilidade do Kubernetes para treinar modelos com eficiência nos clusters de máquinas.
  5. Com o Kubeflow Serving, os usuários podem implantar modelos de ML treinados como serviços escaláveis e prontos para produção. Ele oferece uma interface consistente para disponibilizar modelos usando frameworks populares, como TensorFlow Serving, Seldon Core ou servidores de inferência personalizados. Os modelos podem ser implantados em cenários de processamento em lote ou em tempo real, apresentando previsões sobre endpoints HTTP.
  6. O Kubeflow Metadata é um repositório centralizado para rastrear e gerenciar metadados associados a experimentos de ML, execuções e artefatos. Ele oferece uma visão consistente de metadados de ML em todo o fluxo de trabalho, possibilitando a reprodutibilidade, colaboração e governança em projetos de ML.

Além disso, o Kubeflow conta com interfaces de usuário (IUs) baseadas na web para monitorar e gerenciar experimentos de ML, tarefas de treinamento de modelos e serviços de inferência. Essas IUs oferecem visualizações, métricas e logs para ajudar os usuários a acompanhar o progresso de seus fluxos de trabalho de ML, solucionar problemas e tomar decisões bem-informadas.

Como ele adota o modelo de operador do Kubernetes, o Kubeflow é extensível e pode ser personalizado de acordo com casos de uso e ambientes específicos. Os usuários podem integrar componentes adicionais, como ferramentas de pré-processamento de dados, armazenamento de funcionalidades e fontes de dados externas, para otimizar os recursos de seus fluxos de trabalho de ML.

O Red Hat® OpenShift® é uma plataforma consistente, de confiança e abrangente para desenvolver, implantar e gerenciar aplicações em todos os ambientes. A solução inclui recursos de DevOps (por exemplo, OpenShift Pipelines, OpenShift GitOps e Red Hat Quay) e pode ser integrada a aceleradores de hardware. Por isso, ela aprimora a colaboração e acelera a entrega de aplicações baseadas em IA.

O Red Hat OpenShift AI oferece um editor visual baseado nos pipelines do Kubeflow para criar e automatizar pipelines de ciência de dados e experimentação. O OpenShift AI é uma plataforma de MLOps integrada para criar, treinar, implantar e monitorar aplicações habilitadas por IA e modelos básicos e preditivos em escala em todos os ambientes de nuvem híbrida. Automatize e simplifique o trabalho iterativo de integrar modelos de ML aos processos de desenvolvimento de software, lançamento em produção, monitoramento, retreinamento e reimplantação para continuar produzindo previsões precisas.

O Red Hat OpenShift está disponível de maneira nativa no IBM Cloud, Google Cloud, AWS e Azure, permitindo que os usuários  automatizem o gerenciamento de clusters do Kubernetes para criar, implantar e escalar aplicações rapidamente com uma plataforma de aplicações pronta para produção. 

 

Leitura recomendada

ARTIGO

Containers x máquinas virtuais

Os containers Linux e as máquinas virtuais são ambientes de computação empacotados que combinam vários componentes de TI e os isolam do restante do sistema.

ARTIGO

O que é orquestração de containers?

A orquestração automatiza a implantação, o gerenciamento, a escala e a rede dos containers.

ARTIGO

O que é um container Linux?

Um container Linux é um conjunto de processos isolados do sistema. Esses processos são executados a partir de uma imagem distinta que oferece todos os arquivos necessários a eles.

Leia mais sobre containers

Soluções Red Hat

Uma plataforma de aplicações para empresas que oferece serviços testados para lançar aplicações na infraestrutura de sua escolha.

Conteúdo adicional

Datasheet

Red Hat OpenShift: tecnologia de container para nuvem híbrida

O Red Hat® OpenShift® é uma plataforma empresarial de containers Kubernetes que ajuda organizações em todo o mundo a criar, implantar, executar, gerenciar e proteger aplicações inovadoras em nuvens híbridas.

Datasheet

Red Hat OpenShift Kubernetes Engine

O Red Hat OpenShift Kubernetes Engine consiste em vários componentes essenciais e totalmente integrados para criação, implantação e gerenciamento de aplicações em containers.

Ebook

Transforme suas aplicações

Conheça as tendências atuais para a transformação de aplicações e como modernizar sua TI usando serviços em nuvem e plataformas de aplicações em nuvem híbrida.

Treinamentos Red Hat

Treinamento gratuito

Running Containers with Red Hat Technical Overview

Treinamento gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Treinamento gratuito

Developing Cloud-Native Applications with Microservices Architectures