Você pode usar AWS Snowball Edge dispositivos em locais como navios de cruzeiro, plataformas de petróleo e fábricas com conectividade de rede limitada ou inexistente para uma ampla gama de aplicações de aprendizado de máquina (ML), como vigilância, reconhecimento facial e inspeção industrial. No entanto, dada a natureza remota e desconectada desses dispositivos, muitas vezes é difícil implantar e gerenciar modelos de ML na borda. Com AWS IoT Greengrass e Gerenciador de borda do Amazon SageMaker, você pode realizar inferência de ML em dados gerados localmente em dispositivos Snowball Edge usando modelos de ML treinados na nuvem. Você não apenas se beneficia da baixa latência e da economia de custos da execução de inferência local, mas também reduz o tempo e o esforço necessários para colocar os modelos de ML em produção. Você pode fazer tudo isso enquanto monitora e melhora continuamente a qualidade do modelo em toda a sua frota de dispositivos Snowball Edge.
Nesta postagem, falamos sobre como você pode usar o AWS IoT Greengrass versão 2.0 ou superior e o Edge Manager para otimizar, proteger, monitorar e manter um modelo de classificação simples do TensorFlow para classificar contêineres de remessa (connex) e pessoas.
Iniciar
Para começar, solicite um dispositivo Snowball Edge (para obter mais informações, consulte Criar um trabalho do AWS Snowball Edge). Você pode solicitar um dispositivo Snowball Edge com uma AMI validada pelo AWS IoT Greengrass.
Depois de receber o dispositivo, você pode usar AWS Ops Hub para a família Snow ou o Cliente Snowball Edge para desbloquear o dispositivo. Você pode iniciar um Amazon Elastic Compute Nuvem (Amazon EC2) com o AWS IoT Greengrass mais recente instalado ou use os comandos no AWS OpsHub for Snow Family.
Inicie e instale uma AMI com os seguintes requisitos ou forneça uma referência de AMI no console Snowball antes de fazer o pedido e ela será enviada com todas as bibliotecas e dados na AMI:
- A estrutura de ML de sua escolha, como TensorFlow, PyTorch ou MXNet
- Docker (se você pretende usá-lo)
- AWS IoT Greengrass
- Quaisquer outras bibliotecas que você possa precisar
Prepare a AMI no momento de solicitar o dispositivo Snowball Edge no console da família AWS Snow. Para obter instruções, consulte Usar instâncias de computação do Amazon EC2... Você também tem a opção de atualize a AMI depois que o Snowball for implantado em seu ponto de presença.
Instale o AWS IoT Greengrass mais recente no Snowball Edge
Para instalar o AWS IoT Greengrass no seu dispositivo, execute as seguintes etapas:
- Instale o AWS IoT Greengrass mais recente no seu dispositivo Snowball Edge. Certificar-se
dev_tools=True
está definido para terggv2 cli
Veja o seguinte código:
Nós referenciamos o --thing-name
você escolheu aqui quando configuramos o Edge Manager.
- Execute o seguinte comando para testar sua instalação:
- No console do AWS IoT, valide o dispositivo Snowball Edge registrado com sucesso com sua conta do AWS IoT Greengrass.
Otimize modelos de ML com Edge Manager
Usamos o Edge Manger para implantar e gerenciar o modelo no Snowball Edge.
- Instale o agente Edge Manager no Snowball Edge usando o AWS IoT Greengrass mais recente.
- Treine e armazene seu modelo de ML.
Você pode treinar seu modelo de ML usando qualquer estrutura de sua escolha e salvá-lo em um Serviço de armazenamento simples da Amazon (Amazon S3) balde. Na captura de tela a seguir, usamos o TensorFlow para treinar um modelo multirótulo para classificar conexões e pessoas em uma imagem. O modelo usado aqui é salvo em um bucket S3 criando primeiro um arquivo .tar.
Depois que o modelo for salvo (TensorFlow Lite neste caso), você poderá iniciar um Amazon Sage Maker Neo trabalho de compilação do modelo e otimizar o modelo de ML para Snowball Edge Compute (SBE_C
).
- No console SageMaker, em Inferência no painel de navegação, escolha Trabalhos de compilação.
- Escolha Criar trabalho de compilação.
- Dê um nome ao seu trabalho e crie ou use uma função existente.
Se você estiver criando um novo Gerenciamento de acesso e identidade da AWS (IAM), certifique-se de que o SageMaker tenha acesso ao bucket no qual o modelo foi salvo.
- No Configuração de entrada seção, para Localização dos artefatos do modelo, insira o caminho para
model.tar.gz
onde você salvou o arquivo (neste caso,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - Escolha Configuração de entrada de dados, insira a camada de entrada do modelo de ML (seu nome e sua forma). Neste caso, é chamado
keras_layer_input
e sua forma é [1,224,224,3], então entramos{“keras_layer_input”:[1,224,224,3]}
.
- Escolha Framework de aprendizado de máquina, escolha TFLite.
- Escolha Dispositivo alvo, escolha sbe_c.
- Deixar Opções do compilador
- Escolha Localização de saída S3, insira o mesmo local onde seu modelo foi salvo com o prefixo (pasta)
output
. Por exemplo, entramoss3://feidemo/tfconnexmodel/output
.
- Escolha Submeter para iniciar o trabalho de compilação.
Agora você cria um pacote de implantação de modelo a ser usado pelo Edge Manager.
- No console SageMaker, em Gerenciador de borda, escolha Trabalhos de embalagem de borda.
- Escolha Criar trabalho de empacotamento Edge.
- No Propriedades do trabalho seção, insira os detalhes do trabalho.
- No Origem do modelo seção, para Nome do trabalho de compilação, insira o nome que você forneceu para o trabalho de compilação do Neo.
- Escolha Próximo.
- No Configuração de saída seção, para URI do intervalo S3, insira onde deseja armazenar o pacote no Amazon S3.
- Escolha Nome do componente, insira um nome para o componente do AWS IoT Greengrass.
Esta etapa cria um componente de modelo do AWS IoT Greengrass onde o modelo é baixado do Amazon S3 e descompactado para armazenamento local no Snowball Edge.
- Crie uma frota de dispositivos para gerenciar um grupo de dispositivos, neste caso, apenas um (SBE).
- Escolha Papel do IAM¸ insira a função gerada anteriormente pelo AWS IoT Greengrass (–tes-role-name).
Certifique-se de que ele tenha as permissões necessárias acessando o console do IAM, procurando a função e adicionando as políticas necessárias a ela.
- Registre o dispositivo Snowball Edge na frota que você criou.
- No Fonte do dispositivo seção, insira o nome do dispositivo. O nome IoT precisa corresponder ao nome que você usou anteriormente – neste caso, –thing-name MyGreengrassCore.
Você pode registrar dispositivos Snowball adicionais no console do SageMaker para adicioná-los à frota de dispositivos, o que permite agrupar e gerenciar esses dispositivos juntos.
Implante modelos de ML no Snowball Edge usando AWS IoT Greengrass
Nas seções anteriores, você desbloqueou e configurou seu dispositivo Snowball Edge. O modelo de ML agora está compilado e otimizado para desempenho no Snowball Edge. Um pacote Edge Manager é criado com o modelo compilado e o dispositivo Snowball é registrado em uma frota. Nesta seção, você verá as etapas envolvidas na implantação do modelo de ML para inferência no Snowball Edge com o AWS IoT Greengrass mais recente.
Componentes
O AWS IoT Greengrass permite implantar dispositivos de borda como uma combinação de componentes e artefatos associados. Componentes são documentos JSON que contêm os metadados, o ciclo de vida, o que implantar, quando e o que instalar. Os componentes também definem qual sistema operacional usar e quais artefatos usar ao executar em diferentes opções de sistema operacional.
Artefatos
Os artefatos podem ser arquivos de código, modelos ou imagens de contêiner. Por exemplo, um componente pode ser definido para instalar uma biblioteca Python do pandas e executar um arquivo de código que transformará os dados, ou para instalar uma biblioteca TensorFlow e executar o modelo para inferência. A seguir estão exemplos de artefatos necessários para uma implantação de aplicativo de inferência:
- proto gRPC e stubs Python (isso pode ser diferente com base no seu modelo e estrutura)
- Código Python para carregar o modelo e realizar inferência
Esses dois itens são carregados em um bucket S3.
Implantar os componentes
A implantação precisa dos seguintes componentes:
- Agente Edge Manager (disponível em componentes públicos no GA)
- Modelo
- Aplicação
Conclua as etapas a seguir para implementar os componentes:
- No console do AWS IoT, em Grama verde, escolha Componentese crie o componente do aplicativo.
- Encontre o componente do agente Edge Manager na lista de componentes públicos e implemente-o.
- Implante um componente de modelo criado pelo Edge Manager, que é usado como dependência no componente do aplicativo.
- Implante o componente do aplicativo no dispositivo de borda acessando a lista de implantações do AWS IoT Greengrass e criando uma nova implantação.
Se você tiver uma implementação existente, poderá revisá-la para adicionar o componente de aplicativo.
Agora você pode testar seu componente.
- No código de previsão ou inferência implantado com o componente do aplicativo, codifique a lógica para acessar arquivos localmente no dispositivo Snowball Edge (por exemplo, na pasta de entrada) e faça com que as previsões ou os arquivos processados sejam movidos para uma pasta processada.
- Faça login no dispositivo para ver se as previsões foram feitas.
- Configure o código para ser executado em loop, verificando se há novos arquivos na pasta de entrada, processando os arquivos e movendo-os para a pasta processada.
A captura de tela a seguir é um exemplo de configuração de arquivos antes da implantação no Snowball Edge.
Após a implantação, todas as imagens de teste possuem classes de interesse e, portanto, são movidas para a pasta processada.
limpar
Para limpar tudo ou reimplementar esta solução do zero, interrompa todas as instâncias do EC2 invocando o comando TerminateInstance
API em endpoints compatíveis com EC2 em execução no dispositivo Snowball Edge. Para devolver seu dispositivo Snowball Edge, consulte Desligando o Snowball Edge e Devolvendo o dispositivo Snowball Edge.
Conclusão
Esta postagem orientou você sobre como solicitar um dispositivo Snowball Edge com uma AMI de sua escolha. Em seguida, você compila um modelo para a borda usando o SageMaker, empacota esse modelo usando o Edge Manager e cria e executa componentes com artefatos para realizar inferência de ML no Snowball Edge usando o AWS IoT Greengrass mais recente. Com o Edge Manager, você pode implantar e atualizar seus modelos de ML em uma frota de dispositivos Snowball Edge e monitorar o desempenho na borda com dados de entrada e previsão salvos no Amazon S3. Você também pode executar esses componentes como programas de longa duração AWS Lambda funções que podem gerar um modelo e esperar que os dados façam inferência.
Você combina vários recursos do AWS IoT Greengrass para criar um cliente MQTT e usar um modelo pub/sub para invocar outros serviços ou microsserviços. As possibilidades são infinitas.
Ao executar a inferência de ML no Snowball Edge com Edge Manager e AWS IoT Greengrass, você pode otimizar, proteger, monitorar e manter modelos de ML em frotas de dispositivos Snowball Edge. Obrigado pela leitura e não hesite em deixar perguntas ou comentários na seção de comentários.
Para saber mais sobre a família AWS Snow, o AWS IoT Greengrass e o Edge Manager, confira o seguinte:
Sobre os autores
Raj Kadiyala é um AI / ML Tech Business Development Manager na AWS WWPS Partner Organization. Raj tem mais de 12 anos de experiência em aprendizado de máquina e gosta de passar seu tempo livre explorando o aprendizado de máquina para obter soluções práticas para o dia a dia e se manter ativo ao ar livre no Colorado.
Nida Beig é gerente de produto sênior – tecnologia na Amazon Web Services, onde trabalha na equipe da família AWS Snow. Ela é apaixonada por entender as necessidades dos clientes e usar a tecnologia como condutora de pensamentos transformadores para entregar produtos de consumo. Além do trabalho, ela gosta de viajar, fazer caminhadas e correr.
- 100
- 9
- Acesso
- Conta
- ativo
- Adicional
- Todos os Produtos
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- api
- Aplicação
- aplicações
- AWS
- negócio
- a verificação
- classificação
- código
- Colorado
- comentários
- componente
- Computar
- condutor
- Conectividade
- consumidor
- Produtos de consumo
- Recipiente
- Containers
- Criar
- cruzeiro
- dados,
- dia
- Desenvolvimento
- Dispositivos/Instrumentos
- INSTITUCIONAIS
- borda
- vasta experiência
- reconhecimento facial
- fábrica
- família
- Funcionalidades
- Primeiro nome
- ANIMARIS
- pisos
- Quadro
- Gratuito
- ótimo
- Ao ar livre
- Grupo
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- caminhadas
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- IAM
- Dados de identificação:
- imagem
- industrial
- INFORMAÇÕES
- interesse
- envolvido
- iot
- IT
- Java
- Trabalho
- mais recente
- APRENDER
- aprendizagem
- Biblioteca
- Limitado
- Lista
- carregar
- local
- localmente
- localização
- aprendizado de máquina
- Match
- ML
- modelo
- monitoração
- Navegação
- NEO
- rede
- AZEITE E AZEITE EVO
- operando
- sistema operativo
- Opção
- Opções
- ordem
- Outros
- ao ar livre
- acondicionamento
- parceiro
- Pessoas
- atuação
- políticas
- predição
- Previsões
- Produto
- Produção
- Produtos
- público
- Python
- pytorch
- qualidade
- alcance
- Leitura
- reduzir
- Requisitos
- Execute
- corrida
- sábio
- Serviços
- conjunto
- Envios
- navios
- simples
- neve
- So
- Soluções
- gastar
- Spin
- começo
- começado
- armazenamento
- loja
- vigilância
- .
- tecnologia
- Equipar
- fluxo tensor
- teste
- Pensando
- tempo
- Atualizar
- esperar
- web
- serviços web
- Atividades:
- trabalho
- anos