Implantar a computação de IA e machine learning local e na borda

Registro de Contêiner do Azure
Azure IoT Edge
Azure Machine Learning
Azure Stack Edge

Essa arquitetura de referência ilustra como usar o Azure Stack Edge para estender a inferência rápida do aprendizado de máquina da nuvem para locais ou localizações na borda. O Azure Stack Hub fornece funcionalidades do Azure, como computação, armazenamento, rede e machine learning acelerado por hardware para qualquer localização na borda.

Arquitetura

Diagrama de arquitetura: dados locais treinando um modelo no Azure Machine Learning, com o modelo implantado de volta à borda para inferência.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

A arquitetura consiste nas seguintes etapas:

  • Azure Machine Learning. O Machine Learning permite criar, treinar, implantar e gerenciar modelos de machine learning em um ambiente baseado em nuvem. Esses modelos podem ser implantados nos serviços do Azure, incluindo (mas não limitado a) Instâncias de Contêiner do Azure, AKS (Serviço de Kubernetes do Azure) e Azure Functions.
  • Registro de Contêiner do Azure. Registro de Contêiner é um serviço que cria e gerencia o Registro do Docker. O Registro de Contêiner cria, armazena e gerencia imagens de contêiner do Docker e pode armazenar modelos de machine learning em contêineres.
  • Azure Stack Edge. Azure Stack Edge é um dispositivo de computação de borda projetado para a inferência do aprendizado de máquina na borda. Os dados são pré-processados na borda antes da transferência para o Azure. O Azure Stack Edge inclui um hardware de aceleração de computação projetado para aprimorar o desempenho da inferência da IA na borda.
  • Dados locais. Os dados locais fazem referência a todos os dados usados no treinamento do modelo de machine learning. Os dados podem estar em qualquer solução de armazenamento local, incluindo implantações do Azure Arc.

Componentes

Detalhes do cenário

Possíveis casos de uso

Esta solução é ideal para o setor de telecomunicações. Os usos típicos para estender a inferência incluem quando você precisa:

  • Executar a inferência do aprendizado de máquina local e rápida em relação aos dados à medida que eles são ingeridos e você tem um volume de hardware local significativo.
  • Criar soluções de pesquisa de longo prazo em que os dados locais existentes são limpos e usados para gerar um modelo. Então, o modelo é usado localmente e na nuvem; ele é treinado regularmente à medida que novos dados chegam.
  • Criar aplicativos de software que precisam fazer inferências sobre os usuários, tanto em um local físico quanto on-line.

Recomendações

Ingestão, transformação e transferência de dados armazenados localmente

O Azure Stack Edge pode transformar os dados provenientes do armazenamento local antes de transferir esses dados para o Azure. Essa transformação é feita por um dispositivo do Azure IoT Edge implantado no dispositivo do Azure Stack Edge. Os dispositivos do IoT Edge são associados a um recurso do Hub IoT do Azure na plataforma de nuvem do Azure.

Cada módulo do IoT Edge é um contêiner do Docker que faz uma tarefa específica em um fluxo de trabalho de ingestão, transformação e transferência. Por exemplo, um módulo do IoT Edge pode coletar dados de um compartilhamento local do Azure Stack Edge e transformar os dados em um formato pronto para o aprendizado de máquina. Em seguida, o módulo transfere os dados transformados para um compartilhamento de nuvem do Azure Stack Edge. Você pode adicionar módulos personalizados ou predefinidos ao dispositivo IoT Edge ou desenvolver módulos personalizados do IoT Edge.

Observação

Os módulos do IoT Edge são registrados como imagens de contêiner do Docker no Registro de Contêiner.

No recurso do Azure Stack Edge na plataforma de nuvem do Azure, o compartilhamento de nuvem é apoiado por um recurso da conta de armazenamento de Blobs do Azure. Todos os dados no compartilhamento de nuvem serão carregados automaticamente na conta de armazenamento associada. Você pode verificar a transformação dos dados e transferir montando o compartilhamento local ou de nuvem, ou percorrendo a conta de Armazenamento do Azure.

Treinamento e implantação de um modelo

Depois de preparar e armazenar os dados no armazenamento de Blobs, você pode criar um conjunto de dados do Machine Learning que se conecta ao Armazenamento do Azure. Um conjunto de dados representa uma única cópia de seus dados no armazenamento referenciado diretamente pelo Machine Learning.

Você pode usar a CLI (interface da linha de comando) do Machine Learning, o SDK do R, o SDK do Python, o designer ou o Visual Studio Code para criar os scripts necessários para treinar seu modelo.

Depois de treinar e preparar o modelo para implantar, você pode implantá-lo em vários serviços do Azure, incluindo, mas não limitado a:

Observação

Para essa arquitetura de referência, o modelo é implantado no Azure Stack Edge para disponibilizar o modelo para a inferência local. O modelo também é implantado no Registro de Contêiner para garantir que o modelo esteja disponível para inferência na mais ampla variedade de serviços do Azure.

Inferência com um modelo recém-implantado

O Azure Stack Edge pode executar rapidamente modelos de machine learning localmente em relação aos dados locais usando seu hardware de aceleração de computação predefinido. Essa computação ocorre inteiramente na borda. O resultado são insights rápidos a partir dos dados usando um hardware mais próximo da fonte de dados do que de uma região de nuvem pública.

Além disso, o Azure Stack Edge continua a transferir dados para o Machine Learning para um treinamento e um aprimoramento contínuos usando um pipeline de aprendizado de máquina associado ao modelo que já está em execução em relação aos dados armazenados localmente.

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Disponibilidade

  • Considere colocar o recurso do Azure Stack Edge na mesma região do Azure dos outros serviços do Azure que o acessarão. Para otimizar o desempenho de upload, considere colocar sua conta de armazenamento de Blobs do Azure na região onde o dispositivo tem a melhor conexão de rede.
  • Considere o Azure ExpressRoute para uma conexão estável e redundante entre seu dispositivo e o Azure.

Capacidade de gerenciamento

  • Os administradores podem verificar se a fonte de dados do armazenamento local foi transferida corretamente para o recurso do Azure Stack Edge. Eles podem verificar montando o compartilhamento de arquivos SMB (Bloco de Mensagens do Servidor)/NFS (Sistema de Arquivos de Rede) ou conectando-se à conta de armazenamento de Blobs associada usando o Gerenciador de Armazenamento do Azure.
  • Use os conjuntos de dados do Machine Learning para referenciar seus dados no armazenamento de Blobs durante o treinamento do modelo. Fazer referência ao armazenamento elimina a necessidade de inserir segredos, caminhos de dados ou cadeias de conexão em seus scripts de treinamento.
  • No seu Workspace do Machine Learning, registre e acompanhe os modelos de aprendizado de máquina para acompanhar as diferenças entre seus modelos em diferentes pontos no tempo. Da mesma forma, você pode espelhar os metadados de controle de versão e acompanhamento nas marcas usadas para as imagens de contêiner do Docker que são implantadas no Registro de Contêiner.

DevOps

  • Examine a abordagem de gerenciamento do ciclo de vida do MLOps para o Machine Learning. Por exemplo, use o GitHub e o Azure Pipelines para criar um processo de integração contínua que treina várias vezes um modelo. O treinamento pode ser inicializado quando novos dados preenchem o conjunto de dados ou uma alteração é feita nos scripts de treinamento.
  • O espaço de trabalho do Azure Machine Learning registrará e gerenciará automaticamente as imagens de contêiner do Docker para os modelos de machine learning e os módulos do IoT Edge.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Próximas etapas

Documentação do produto

Módulos do Microsoft Learn: