Implante e use uma plataforma de deep learning multiframework no Kubernetes

Nó Fonte: 1580762

Descrição

Como profissional de aprendizagem profunda, você deseja confiabilidade e escalabilidade enquanto orquestra seus trabalhos de treinamento. Além disso, você gostaria de fazer isso de maneira consistente em várias bibliotecas. Com o Fabric for Deep Learning (FfDL) no Kubernetes, você pode conseguir isso dando aos usuários a capacidade de aproveitar bibliotecas de aprendizado profundo, como Caffe, Torch e TensorFlow, na nuvem de maneira resiliente e com mínimo esforço. A plataforma usa uma camada de distribuição e orquestração que facilita o aprendizado de uma grande quantidade de dados em um período de tempo razoável entre nós de computação. Uma camada de provisionamento de recursos permite o gerenciamento flexível de tarefas em recursos heterogêneos, como unidades de processamento gráfico (GPUs) e unidades centrais de processamento (CPUs), em uma nuvem de infraestrutura como serviço (IaaS).

Visão geral

O treinamento de redes neurais profundas, conhecido como aprendizado profundo (parte dos métodos de aprendizado de máquina), é altamente complexo e computacionalmente intensivo. Um usuário típico de aprendizagem profunda é exposto desnecessariamente aos detalhes da infraestrutura subjacente de hardware e software, incluindo a configuração de máquinas GPU caras, a instalação de bibliotecas de aprendizagem profunda e o gerenciamento de trabalhos durante a execução para lidar com falhas e recuperação. Apesar da facilidade de obter hardware de nuvens IaaS e pagar por hora, o usuário ainda precisa gerenciar essas máquinas, instalar as bibliotecas necessárias e garantir a resiliência dos trabalhos de treinamento de aprendizagem profunda.

É aqui que reside a oportunidade de aprendizagem profunda como serviço. Neste padrão de código, mostramos como implantar um Fabric de aprendizado profundo no Kubernetes. Usando artefatos arquitetônicos nativos da nuvem, como Kubernetes, microsserviços, gráficos Helm e armazenamento de objetos, mostramos como implantar e usar um Fabric de aprendizado profundo. Este Fabric abrange vários mecanismos de aprendizado profundo, como TensorFlow, Caffe e PyTorch. Ele combina a flexibilidade, a facilidade de uso e a economia de um serviço em nuvem com o poder do aprendizado profundo. Você achará fácil de usar e, usando APIs REST, poderá personalizar o treinamento com diferentes recursos de acordo com as necessidades do usuário ou orçamento. Permita que os usuários se concentrem no aprendizado profundo e nos aplicativos, em vez de se concentrarem nas falhas.

Fluxo

fluxo

  1. O implementador FfDL implanta o código base FfDL em um cluster Kubernetes. O cluster Kubernetes é configurado para usar GPUs, CPUs ou ambos e tem acesso ao armazenamento de objetos compatível com S3. Se não for especificado, um pod S3 simulado localmente será criado.
  2. Depois de implantado, o cientista de dados carrega os dados de treinamento do modelo no armazenamento de objetos compatível com S3. FfDL assume que os dados já estão no formato exigido conforme prescrito por diferentes estruturas de aprendizagem profunda.
  3. O usuário cria um arquivo de manifesto do modelo FfDL. O arquivo manifesto contém diferentes campos que descrevem o modelo em FfDL, suas informações de armazenamento de objeto, seus requisitos de recursos e vários argumentos (incluindo hiperparâmetros) que são necessários para a execução do modelo durante o treinamento e teste. O usuário então interage com o FfDL usando CLI/SDK ou UI para implementar o arquivo de manifesto do modelo FfDL com um arquivo de definição de modelo. O usuário inicia o trabalho de treinamento e monitora seu progresso.
  4. O usuário baixa o modelo treinado e os logs associados assim que o trabalho de treinamento é concluído.

Instruções

Encontre as etapas detalhadas para este padrão no README. As etapas mostrarão como:

  1. Compile, codifique e construa imagens Docker.
  2. Instale os componentes FfDL com a instalação do helm.
  3. Execute um script para configurar o Grafana para monitorar FfDL.
  4. Obtenha seus endpoints Grafana, FfDL Web UI e FfDL REST API.
  5. Execute alguns trabalhos simples para treinar um modelo de rede convolucional usando TensorFlow e Caffe.

Fonte: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

Carimbo de hora:

Mais de Desenvolvedor IBM