Kubeflow 1.0: um caminho de código aberto para Machine Learning empresarial do princípio ao fim

kubeflow-1-0-um-caminho-de-codigo-aberto-para-machine-learning-empresarial-do-principio-ao-fim

O Machine Learning deve abordar uma esmagadora variedade de funcionalidades ao redor da construção, capacitação, serviço e gestão de padrões. Fazê-lo de forma consistente, portátil e escalável é difícil. Este artigo foi escrito por Animesh Singh e enviado para o SempreUpdate.

framework de Kubernetes é muito apropriado para abordar estes problemas, se tornando uma excelente base para implementar cargas de trabalho de Machine Learning. O desenvolvimento do projeto Kubeflow foi uma jornada para cumprir essa promessa e estamos entusiasmados por termos alcançado seu primeiro marco importante: o Kubeflow 1.0.

Sempre pronta para trabalhar com uma comunidade forte e diversificada, a IBM ingressou na Kubeflow desde o início. No ano passado, a IBM se tornou a maior colaboradora de código para Kubeflow, depois do Google. Mais de 20 IBMistas contribuíram com código para o Kubeflow, com mais de 500 confirmações e 900 mil linhas de código.

Nosso foco tem sido contribuir para os principais componentes do Kubeflow, incluindo Katib (otimização de hiperparâmetros), KFServing (modelo de serviço), Fairing (SDK), Pipelines de Kubeflow, kfctl (plano de controle), Manifestos (configurações), TF- Operador e PyTorch-Operator (treinamento do modelo).

Além disso, estamos executando projetos internos e testes de desempenho, além de avaliar ajustes de produção para clientes comerciais, enquanto trabalhamos nos requisitos de determinados projetos nos quais investimos (por exemplo, Containerd, OpenShift e Power Systems).

Como parte do 1.0, muitos componentes Kubeflow em torno dos princípios básicos de construção, treinamento, implementação e administração amadureceram e estão prontos para implementações no nível de produção. Para mais detalhes, siga o blog da comunidade Kubeflow 1.0

O Kubeflow fornece instruções para implementá-lo no Google Cloud Platform (GCP) e Amazon Web Services (AWS). Além disso, temos instruções para executar o Kubeflow no IBM Cloud, o Kubeflow no OpenShift e o Kubeflow no Power.

Estamos trabalhando com clientes empresariais em telecomunicações, bancos, agricultura e outros domínios para permitir uma plataforma de Machine Learning do início ao fim, usando o Kubeflow e outras tecnologias de código aberto. Algumas dessas histórias de clientes serão compartilhadas no próximo IBM THINK em maio.

Listados abaixo estão alguns dos destaques do trabalho em que colaboramos com a comunidade Kubeflow e que levam a um Kubeflow 1.0 de nível empresarial.

Kubeflow Operator para implementação e administração de Kubeflow

Um dos nossos esforços colaborativos mais recentes foi o desenvolvimento do Kubeflow Operator, que ajuda a implementar, monitorar e gerenciar o ciclo de vida do Kubeflow. Foi criado usando o Operator Framework, que é um conjunto de ferramentas de código aberto usadas para desenvolver, testar, empacotar e gerenciar o ciclo de vida dos operadores.

O Kubeflow Operator está agora disponível no GitHub de Kubeflow. Além disso, criamos os metadados e o código para que o operador seja publicado oficialmente no OperatorHub. Isso nos ajudará a aproveitar o ecossistema e as ferramentas ao redor do OpenShift, principalmente o Operator Lifecycle Manager.

Para começar a usar o Kubeflow Operator, siga o tutorial no IBM Developer.

TF Operator, PyTorch Operator, Katib para treinamento distribuído e otimização de hiperparâmetros

O treinamento de padrões distribuídos no Kubernetes para Tensorflow, PyTorch, etc. foi a base de Kubeflow. Contribuímos com os SDKs do Python para o Tensorflow Operator e o PyTorch Operator, que permitem executar o treinamento em seus notebooks. Além disso, o Katib é um componente do Kubeflow que permite o ajuste de hiperparâmetros e a busca por arquitetura neural. Somos um dos principais colaboradores da Katib e lideramos o design e a implementação de várias funções, como o compilador de métricas, o modelo de teste, o serviço de sugestões, a API da Katib e muito mais. Também publicamos documentação específica sobre vários recursos do Katib com os detalhes “nos bastidores” e como começar com o Katib.

KFServing para inferência e gestão de padrões

A IBM ajudou a fundar o KFServing, trabalhando em conjunto com Google, Bloomberg, Seldon e outros. A equipe ajudou com muitas características, incluindo contribuições para servidores SKLearn e PyTorch, armazenamento, SDK, atualizações de KNative, integração de pipelines, infraestrutura de teste E2E e outras características importantes, incluindo a co-liderança do desenho de log cargas.

Para este ano, um dos principais objetivos é levar os recursos de inteligência artificial confiável para o KFServing, como detecção de viés, detecção de adversários e explicabilidade usando o conjunto de projetos de inteligência artificial confiáveis da IBM.

Você pode usar o KFServing em 5 minutos e implementar uma versão padrão de um modelo usando uma especificação simples. Para cenários de inferência mais avançados, siga nossa sessão do KubeCon.

Kubeflow Pipelines para orquestar workflows de Machine Learning 

Nosso compromisso com Kubeflow Pipelines começou com a contribuição dos componentes de pipeline e amostras para a Spark, o portfólio Watson (Watson Machine Learning e Watson OpenScale), KFServing, Katib, AI Fairness 360 e o toolkit Adversarial Robustness 360.

Além disso, a IBM ajudou a facilitar a execução de Pipelines com Containerd (em vez de apenas o Docker), trabalhando com a comunidade Argo. A IBM contribuiu para uma ampla variedade de roadmaps e discussões de desenho para os Pipelines de Kubeflow e TFX, autenticação/autorização local e muito mais. Atualmente, a IBM está conduzindo um estudo comparativo dos pipelines de Kubeflow e Tekton e um protótipo inicial do código e compilador KFP-Tekton YAML. Estamos executando o MLOps Sig na CD Foundation para impulsioná-lo.

Também publicamos uma amostra de pipeline que inclui Katib, TFJob e KFserving.

Fairing para proporcionar um SDK de Kubeflow multicloud consistente

Usando o Kubeflow Fairing e adicionando algumas linhas de código, você pode executar o trabalho de treinamento do Machine Learning localmente ou na nuvem, diretamente do código Python ou do Jupyter Notebook. A IBM tem contribuído bastante para o Kubeflow Fairing, incluindo pacotes Python para Fairinggerenciamento e manutenção de versões, sua integração com o KFServing, aprimoramento do CI / CD do Fairing e outras correções ou aprimoramentos de funções.

Junte-se a nós para criar uma plataforma de Machine Learning de nível empresarial

Aqui estão algumas maneiras pelas quais você pode participar:

  • Para contribuir e criar uma plataforma de Machine Learning de nível empresarial do início ao fim no OpenShift e Kubernetes, junte-se à comunidade Kubeflow e compartilhe qualquer pergunta, comentário ou sugestão;
  • Se você deseja receber ajuda para implementar e gerenciar o Kubeflow em sua plataforma Kubernetes local, OpenShift ou no IBM Cloud, conecte-se conosco;
  • Consulte o OpenDataHub se você estiver interessado em outros projetos de código aberto relacionados com dados e inteligência artificial, como Kafka, Hive, Hue e Spark, e como levá-los juntos nativamente para a nuvem.

Graças aos parceiros da IBM no projeto Kubeflow, a saber: Jin Chi He, Tommy Li, Hou Gang Liu, Weiqiang Zhuang, Guang Ya Liu, Christian Yaadiu, Christian Kadner, Andrew Butler, Jane Man e muitos outros por contribuir com vários aspectos do projeto, interna e externamente.

Além disso, parabéns aos nossos colegas da Red Hat por ajudar o Kubeflow no OpenShift a ser fortalecido e pronto para a produção de casos de uso de negócios. E, por último, mas não menos importante, obrigado aos membros da comunidade colaborativa que inclui Google, Arrikto, Cisco, Bloomberg, Microsoft e muitos outros por trazer isso para o primeiro marco importante: Kubeflow 1.0.

Sobre Animesh

Animesh Singh, Arquiteto-chefe da plataforma de código aberto de AI e IBM Data. Ele é o líder do projeto Kubeflow da IBM.

Acesse a versão completa
Sair da versão mobile