Configure um ambiente de aprendizagem de máquina e de IA de código aberto

Configure rapidamente um ambiente de machine learning e inteligência artificial (IA) usando uma pilha GPU pré-configurada com IDEs comuns, notebooks e estruturas pré-instaladas para que você possa começar a produzir resultados.

O ambiente pré-configurado da Oracle para aprendizado profundo é útil em muitos setores em uma ampla gama de aplicativos.

  • Processamento de linguagem natural

  • Reconhecimento e classificação da imagem

  • Detecção de fraude para serviços financeiros

  • Mecanismos de recomendação para varejistas on-line

  • Gerenciamento de riscos

Esse ambiente pré-configurado inclui uma máquina virtual (VM) com um driver NVIDIA GPU e CUDA e drivers cuDNN, ambientes de desenvolvimento integrados Python e R (IDEs), notebooks Jupyter e frameworks de aprendizado de máquina de código aberto (ML) e aprendizado profundo (DL).

Você pode dimensionar seus recursos de Computação usando o dimensionamento automático ou pode interromper a instância do serviço Compute quando ela não for necessária para controlar custos. A VM inclui dados de amostra e código básicos para você testar e explorar.

A imagem do AI Datascience VM for Oracle Cloud Infrastructure está disponível no Oracle Cloud Marketplace.

Arquitetura

Esta arquitetura de referência mostra como implementar um ambiente de machine learning e inteligência artificial (IA) em uma região no Oracle Cloud Infrastructure.

Esta arquitetura de referência implanta um host bastion, um nó de treinamento, um nó de inferência, uma VM de aplicativo do usuário e outros componentes no Oracle Cloud Infrastructure. A arquitetura usa uma região com um domínio de disponibilidade e sub-redes regionais. Você pode usar a mesma arquitetura em uma região com vários domínios de disponibilidade.



Esta arquitetura possui os seguintes componentes:

  • Bastion host

    Instância do serviço Compute que fornece acesso a outras instâncias do serviço Compute em uma sub-rede privada.

  • Nó de treinamento

    Instância de computação na qual os clientes desenvolvem e verificam o modelo de seu aplicativo, como uma simulação de rede neural. Os nós de treinamento são instâncias poderosas que recuperam dados do Object Storage, executam operações nos dados de acordo com o modelo que está sendo usado e armazenam os dados no armazenamento de volume em blocos compartilhado anexado.

  • Servidor de inferência

    Instância de computação que prepara os dados armazenados nos volumes em blocos (processados pelos nós de treinamento) para consumo por aplicativos do usuário. Os servidores de inferência armazenam os dados processados no Armazenamento de Arquivos.

  • VM do aplicativo do usuário

    Esta VM executa o aplicativo do usuário e acessa os dados processados pelo servidor de inferência armazenado no Armazenamento de Arquivos compartilhado.

  • Balanceador de carga

    O balanceador de carga distribui o tráfego de entrada para as VMs dos aplicativos do usuário.

  • Armazenamento de arquivos

    O sistema de arquivos é montado no servidor de inferência e nas VMs dos aplicativos do usuário.

  • Armazenamento de objetos

    O Object Storage é usado como um data lake para armazenar dados usados pelos nós de treinamento.

  • Volume em blocos

    O serviço Oracle Cloud Infrastructure Block Volume permite provisionar e gerenciar dinamicamente os volumes de armazenamento em blocos. Você pode criar, anexar, conectar e mover volumes, bem como alterar o desempenho do volume para atender aos requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usá-lo como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perder dados. Use o armazenamento em bloco para armazenar arquivos de diário ou de log.

  • Rede virtual na nuvem (VCN) e sub-redes

    Cada instância do Compute é implantada em uma VCN que pode ser segmentada em sub-redes.

  • Listas de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que devem ser permitidos dentro e fora da sub-rede.

  • Domínios de disponibilidade

    Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou a rede interna de domínios de disponibilidade. Portanto, uma falha em um domínio de disponibilidade provavelmente não afetará os outros domínios de disponibilidade na região.

  • Domínios de falha

    Domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.

Recomendações

Os requisitos podem diferir da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.

  • Bastion host

    Use uma forma de Computação VM.Standard.1.1. Este host é usado para acessar outros nós do Compute e não está envolvido no processamento de dados ou em outras tarefas.

  • Nó de treinamento

    Use a forma BM.GPU3.8, que fornece 2x25 Gbps de largura de banda da rede e GPU suficiente (8xV100) para aplicativos de Ciência de Dados. Este nó implanta e verifica o modelo do aplicativo, de modo que ele precisa de uma força GPU aprimorada. Comece com até três nós e use o recurso de dimensionamento automático para expansão ou redução, conforme necessário.

  • Servidor de inferência

    Use a forma BM.GPU2.2, que fornece 2x25 Gbps de largura de banda da rede e GPU suficiente (2xP100) para aplicativos de Ciência de Dados. Este nó requer um pouco menor poder de GPU devido à natureza de sua função. Comece com um nó e use o recurso de dimensionamento automático para ampliar conforme necessário.

  • VM do aplicativo do usuário

    Use o VM.Standard.2.2shape. Esses nós são usados para o aplicativo do usuário; portanto, uma VM deve ser suficiente. Comece com dois nós de VM e use o recurso de dimensionamento automático para expansão ou redução, conforme necessário.

  • Balanceador de carga

    O balanceador de carga distribui o tráfego de entrada para as VMs dos aplicativos do usuário. Use a forma de 100-Mbps.

  • Armazenamento de arquivos

    O File Storage é dimensionado automaticamente conforme necessário.

  • Armazenamento de objetos

    Use um único bucket privado com um link pré-autenticado para um objeto data lake.

  • Volume em blocos

    Além do armazenamento conectado localmente, use pelo menos três volumes em blocos (1 TB) usando o recurso de vários anexos. Essa adição fornece mais armazenamento.

  • VCN
    • Quando você cria uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    • Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    • Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    • Ao projetar as sub-redes, considere seus requisitos de funcionalidade e segurança. Anexe todas as instâncias de computação na mesma camada ou atribuição à mesma sub-rede.

    • Use sub-redes regionais.

  • Listas de segurança

    Use listas de segurança para definir regras de entrada e saída que se aplicam à sub-rede inteira. Por exemplo, essa arquitetura permite ICMP internamente para toda a sub-rede privada.

Considerações

Considere os pontos a seguir ao implantar essa arquitetura de referência.

  • Desempenho

    Para obter o melhor desempenho, escolha a forma correta do Compute com largura de banda apropriada.

  • Disponibilidade

    Considere o uso de uma opção de alta disponibilidade com base em seus requisitos de implantação e região. As opções incluem o uso de vários domínios de disponibilidade em uma região e domínios de falha.

  • Custo

    Uma instância de GPU bare metal fornece a energia necessária da CPU por um custo mais alto. Avalie seus requisitos para escolher a forma de Computação adequada.

  • Monitoramento e alertas

    Configure o monitoramento e os alertas sobre o uso da CPU e da memória de seus nós, para que você possa escalar a forma para cima ou para baixo, conforme necessário.

Implantar

O código do Terraform para essa arquitetura de referência está disponível como uma pilha no Oracle Cloud Marketplace.

  1. Vá para Oracle Cloud Marketplace.
  2. Clique em Obter Aplicativo.
  3. Siga os prompts na tela.

Alterar Log

Este log lista apenas as alterações significativas: