Com o advento das redes móveis 5G de alta velocidade, as empresas estão mais facilmente posicionadas do que nunca com a oportunidade de aproveitar a convergência das redes de telecomunicações e da nuvem. Como um dos casos de uso mais proeminentes até o momento, o aprendizado de máquina (ML) na borda permitiu que as empresas implantassem modelos de ML mais perto de seus clientes finais para reduzir a latência e aumentar a capacidade de resposta de seus aplicativos. Como um exemplo, soluções inteligentes para espaços pode usar visão computacional quase em tempo real para análise de multidão em redes 5G, minimizando o investimento em equipamentos de rede de hardware no local. Os varejistas podem oferecer experiências mais descomplicadas em trânsito com processamento de linguagem natural (NLP), sistemas de recomendação em tempo real e detecção de fraudes. Até robótica terrestre e aérea pode usar ML para desbloquear operações mais seguras e autônomas.
Para reduzir a barreira à entrada de ML na borda, queríamos demonstrar um exemplo de implantação de um modelo pré-treinado de Amazon Sage Maker para Comprimento de onda AWS, tudo em menos de 100 linhas de código. Nesta postagem, demonstramos como implantar um modelo SageMaker no AWS Wavelength para reduzir a latência de inferência de modelo para aplicativos baseados em rede 5G.
Visão geral da solução
Na infraestrutura global em rápida expansão da AWS, o AWS Wavelength traz o poder da computação em nuvem e do armazenamento para a borda das redes 5G, desbloqueando experiências móveis com mais desempenho. Com o AWS Wavelength, você pode estender sua nuvem privada virtual (VPC) para zonas de comprimento de onda correspondentes à borda da rede da operadora de telecomunicações em Cidades 29 em todo o mundo. O diagrama a seguir mostra um exemplo dessa arquitetura.
Você pode optar pelas Zonas de Comprimento de Onda dentro de uma determinada Região por meio do Console de gerenciamento da AWS ou de Interface de linha de comando da AWS (AWS CLI). Para saber mais sobre a implantação de aplicativos distribuídos geograficamente no AWS Wavelength, consulte Implante clusters Amazon EKS distribuídos geograficamente no AWS Wavelength.
Com base nos fundamentos discutidos nesta postagem, consideramos o ML na borda como uma amostra de carga de trabalho para implantar no AWS Wavelength. Como nossa amostra de carga de trabalho, implantamos um modelo pré-treinado de JumpStart do Amazon SageMaker.
O SageMaker é um serviço de ML totalmente gerenciado que permite aos desenvolvedores implantar facilmente modelos de ML em seus ambientes da AWS. Embora a AWS ofereça várias opções para treinamento de modelos, desde Mercado da AWS modelos e algoritmos integrados do SageMaker — há várias técnicas para implantar modelos de ML de código aberto.
O JumpStart fornece acesso a centenas de algoritmos integrados com modelos pré-treinados que podem ser implantados perfeitamente nos endpoints do SageMaker. De manutenção preditiva e visão computacional a direção autônoma e detecção de fraudes, o JumpStart oferece suporte a uma variedade de casos de uso populares com implantação de um clique no console.
Como o SageMaker não tem suporte nativo em zonas de comprimento de onda, demonstramos como extrair os artefatos de modelo da região e reimplantá-los na borda. Para fazer isso, você usa Serviço Amazon Elastic Kubernetes (Amazon EKS) e grupos de nós em zonas de comprimento de onda, seguidos pela criação de um manifesto de implantação com a imagem do contêiner gerada pelo JumpStart. O diagrama a seguir ilustra essa arquitetura.
Pré-requisitos
Para tornar isso o mais fácil possível, certifique-se de que sua conta da AWS tenha zonas de comprimento de onda habilitadas. Observe que esta integração está disponível apenas em us-east-1
e us-west-2
, e você estará usando us-east-1
durante a demonstração.
Para aceitar o AWS Wavelength, conclua as seguintes etapas:
- No console Amazon VPC, escolha Zonas para Configurações e escolha Leste dos EUA (Verizon) / us-east-1-wl1.
- Escolha Gerencie.
- Selecionar Optado.
- Escolha Atualizar zonas.
Criar infraestrutura do AWS Wavelength
Antes de convertermos o endpoint de inferência de modelo local do SageMaker em uma implantação do Kubernetes, você pode criar um cluster EKS em uma zona de comprimento de onda. Para fazer isso, implante um cluster do Amazon EKS com um grupo de nós do AWS Wavelength. Para saber mais, você pode visitar este guia no blog de contêineres da AWS or Repositório 5GEdgeTutorials da Verizon para um desses exemplos.
A seguir, usando um Nuvem AWS9 ambiente ou ambiente de desenvolvimento interativo (IDE) de sua escolha, baixe os pacotes necessários do SageMaker e Docker Compose, uma dependência chave do JumpStart.
Crie artefatos de modelo usando o JumpStart
Primeiro, certifique-se de ter um Gerenciamento de acesso e identidade da AWS (IAM) função de execução para SageMaker. Para saber mais, visite Funções do SageMaker.
- utilização Neste exemplo, crie um arquivo chamado train_model.py que usa o SageMaker Software Development Kit (SDK) para recuperar um modelo pré-construído (substitua com o nome de recurso da Amazon (ARN) de sua função de execução do SageMaker). Neste arquivo, você implanta um modelo localmente usando o
instance_type
atributo nomodel.deploy()
função, que inicia um contêiner do Docker em seu IDE usando todos os artefatos de modelo necessários que você definiu:
- A seguir, defina
infer_model_id
ao ID do modelo SageMaker que você gostaria de usar.
Para obter uma lista completa, consulte Algoritmos integrados com tabela de modelo pré-treinada. Em nosso exemplo, usamos o modelo Bidirectional Encoder Representations from Transformers (BERT), comumente usado para processamento de linguagem natural.
- execute o
train_model.py
script para recuperar os artefatos do modelo JumpStart e implantar o modelo pré-treinado em sua máquina local:
Se esta etapa for bem-sucedida, sua saída pode ser semelhante à seguinte:
Na saída, você verá três artefatos em ordem: a imagem base para a inferência do TensorFlow, o script de inferência que atende ao modelo e os artefatos que contêm o modelo treinado. Embora você possa criar uma imagem do Docker personalizada com esses artefatos, outra abordagem é permitir que o modo local do SageMaker crie a imagem do Docker para você. Nas etapas subsequentes, extraímos a imagem do contêiner em execução localmente e implantamos em Registro do Amazon Elastic Container (Amazon ECR), bem como enviar o artefato do modelo separadamente para Serviço de armazenamento simples da Amazon (Amazônia S3).
Converter artefatos de modo local em implantação remota do Kubernetes
Agora que você confirmou que o SageMaker está funcionando localmente, vamos extrair o manifesto de implantação do contêiner em execução. Conclua as seguintes etapas:
Identifique a localização do manifesto de implantação do modo local do SageMaker: Para fazer isso, procure em nosso diretório raiz por quaisquer arquivos nomeados docker-compose.yaml
.
docker_manifest=$( find /tmp/tmp* -name "docker-compose.yaml" -printf '%T+ %pn' | sort | tail -n 1 | cut -d' ' -f2-)
echo $docker_manifest
Identifique a localização dos artefatos de modelo de modo local do SageMaker: Em seguida, localize o volume subjacente montado no contêiner de inferência local do SageMaker, que será usado em cada nó de trabalho EKS após fazermos o upload do artefato para o Amazon s3.
model_local_volume = $(grep -A1 -w "volumes:" $docker_manifest | tail -n 1 | tr -d ' ' | awk -F: '{print $1}' | cut -c 2-) # Returns something like: /tmp/tmpcr4bu_a7</p>
Crie uma cópia local do contêiner de inferência do SageMaker em execução: em seguida, encontraremos a imagem do contêiner atualmente em execução executando nosso modelo de inferência de aprendizado de máquina e faremos uma cópia do contêiner localmente. Isso garantirá que tenhamos nossa própria cópia da imagem do contêiner para extrair do Amazon ECR.
# Find container ID of running SageMaker Local container
mkdir sagemaker-container
container_id=$(docker ps --format "{{.ID}} {{.Image}}" | grep "tensorflow" | awk '{print $1}')
# Retrieve the files of the container locally
docker cp $my_container_id:/ sagemaker-container/
Antes de agir no model_local_volume
, que enviaremos para o Amazon S3, enviaremos uma cópia da imagem do Docker em execução, agora no sagemaker-container
diretório, para o Amazon Elastic Container Registry. Certifique-se de substituir region
, aws_account_id
, docker_image_id
e my-repository:tag
ou siga o Guia do usuário do Amazon ECR. Além disso, certifique-se de anotar o URL final da imagem ECR (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), que usaremos em nossa implantação do EKS.
Agora que temos uma imagem ECR correspondente ao endpoint de inferência, crie um novo bucket do Amazon S3 e copie os artefatos SageMaker Local (model_local_volume
) para este intervalo. Em paralelo, crie um Identity Access Management (IAM) que forneça às instâncias do Amazon EC2 acesso para ler objetos dentro do bucket. Certifique-se de substituir com um nome globalmente exclusivo para seu bucket do Amazon S3.
Em seguida, para garantir que cada instância do EC2 extraia uma cópia do artefato de modelo na inicialização, edite os dados do usuário para os nós de trabalho EKS. No script de dados do usuário, certifique-se de que cada nó recupere os artefatos de modelo usando a API do S3 na inicialização. Certifique-se de substituir com um nome globalmente exclusivo para seu bucket do Amazon S3. Dado que os dados do usuário do nó também incluirão o script de inicialização EKS, os dados completos do usuário podem se parecer com isto.
Agora, você pode inspecionar o manifesto do docker existente e traduzi-lo para arquivos de manifesto compatíveis com o Kubernetes usando KomposeName, uma ferramenta de conversão bem conhecida. Observação: se você receber um erro de compatibilidade de versão, altere o version
atributo na linha 27 de docker-compose.yml para “2”
.
Depois de executar o Kompose, você verá quatro novos arquivos: um Deployment
objeto, Service
objeto, PersistentVolumeClaim
objeto, e NetworkPolicy
objeto. Agora você tem tudo o que precisa para começar sua incursão no Kubernetes na borda!
Implantar artefatos de modelo do SageMaker
Certifique-se de ter baixado o kubectl e o aws-iam-authenticator para o AWS Cloud9 IDE. Caso contrário, siga os guias de instalação:
Agora, conclua as seguintes etapas:
Modifique o service/algo-1-ow3nv
objeto para mudar o tipo de serviço de ClusterIP
para NodePort
. Em nosso exemplo, selecionamos a porta 30,007 como nossa NodePort
:
Em seguida, você deve permitir o NodePort no grupo de segurança para o seu nó. Para fazer isso, recupere o security groupID e faça uma lista de permissões do NodePort:
A seguir, modifique o algo-1-ow3nv-deployment.yaml
manifeste-se para montar o /tmp/model hostPath
diretório para o contêiner. Substituir com a imagem ECR que você criou anteriormente:
Com os arquivos de manifesto que você criou no Kompose, use o kubectl para aplicar as configurações ao seu cluster:
Conecte-se ao modelo de borda 5G
Para se conectar ao seu modelo, conclua as seguintes etapas:
No console do Amazon EC2, recupere o IP da operadora do nó de trabalho EKS ou use a AWS CLI para consultar o endereço IP da operadora diretamente:
Agora, com o endereço IP da operadora extraído, você pode se conectar ao modelo diretamente usando o NodePort. Crie um arquivo chamado invoke.py
para invocar o modelo BERT diretamente, fornecendo uma entrada baseada em texto que será executada em um analisador de sentimentos para determinar se o tom foi positivo ou negativo:
Sua saída deve se parecer com o seguinte:
limpar
Para destruir todos os recursos de aplicativos criados, exclua os nós de trabalho do AWS Wavelength, o plano de controle EKS e todos os recursos criados na VPC. Além disso, exclua o repositório ECR usado para hospedar a imagem do contêiner, os buckets S3 usados para hospedar os artefatos do modelo SageMaker e o sagemaker-demo-app-s3 IAM
.
Conclusão
Nesta postagem, demonstramos uma nova abordagem para implantar modelos SageMaker na borda da rede usando Amazon EKS e AWS Wavelength. Para saber mais sobre as práticas recomendadas do Amazon EKS no AWS Wavelength, consulte Implante clusters Amazon EKS distribuídos geograficamente no AWS Wavelength. Além disso, para saber mais sobre o Jumpstart, visite o Guia do desenvolvedor do Amazon SageMaker JumpStart ou de Tabela de modelos disponíveis do JumpStart.
Sobre os autores
Roberto Belson é um Developer Advocate na AWS Worldwide Telecom Business Unit, especializado em AWS Edge Computing. Ele se concentra em trabalhar com a comunidade de desenvolvedores e clientes de grandes empresas para resolver seus desafios de negócios usando automação, rede híbrida e nuvem de ponta.
Mohammed Al Mehdar é Arquiteto de Soluções Sênior na Unidade de Negócios de Telecomunicações Mundiais da AWS. Seu foco principal é ajudar os clientes a criar e implantar cargas de trabalho de TI empresarial e de telecomunicações na AWS. Antes de ingressar na AWS, Mohammed trabalhou no setor de telecomunicações por mais de 13 anos e traz uma vasta experiência nas áreas de LTE Packet Core, 5G, IMS e WebRTC. Mohammed é bacharel em Engenharia de Telecomunicações pela Concordia University.
Evan Kravitz é engenheiro de software da Amazon Web Services, trabalhando no SageMaker JumpStart. Ele gosta de cozinhar e correr em Nova York.
Justin St Arnauld é um Diretor Associado – Arquitetos de Soluções da Verizon para o Setor Público com mais de 15 anos de experiência no setor de TI. Ele é um defensor apaixonado do poder da computação de ponta e das redes 5G e é especialista no desenvolvimento de soluções tecnológicas inovadoras que aproveitam essas tecnologias. Justin está particularmente entusiasmado com os recursos oferecidos pela Amazon Web Services (AWS) no fornecimento de soluções de ponta para seus clientes. Em seu tempo livre, Justin gosta de se manter atualizado com as últimas tendências tecnológicas e compartilhar seu conhecimento e percepções com outras pessoas do setor.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :é
- 1
- 10
- 100
- 11
- 15 anos
- 5G
- 7
- 8
- 9
- a
- Sobre
- ACEITAR
- Acesso
- Conta
- em
- Açao Social
- Adicionalmente
- endereço
- advento
- advogado
- Depois de
- contra
- algoritmos
- Todos os Produtos
- permite
- Apesar
- sempre
- Amazon
- Amazon EC2
- Amazon Sage Maker
- JumpStart do Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- analítica
- e
- Outro
- api
- Aplicação
- aplicações
- Aplicar
- abordagem
- arquitetura
- SOMOS
- áreas
- AS
- Jurídico
- Associação
- At
- Automação
- Autônomo
- disponível
- AWS
- Nuvem AWS9
- barreira
- base
- BE
- começar
- MELHOR
- melhores práticas
- Bootstrap
- Traz
- construir
- construídas em
- negócio
- by
- chamado
- CAN
- capacidades
- casos
- CAT
- CD
- desafios
- alterar
- escolha
- Escolha
- Cidades
- clientes
- mais próximo
- Na nuvem
- Cloud9
- Agrupar
- código
- COM
- geralmente
- comunidade
- compatibilidade
- completar
- Computar
- computador
- Visão de Computador
- computação
- CONFIRMADO
- Contato
- cônsul
- Recipiente
- Containers
- ao controle
- Convergência
- Conversão
- converter
- núcleo
- Correspondente
- poderia
- crio
- criado
- Criar
- multidão
- Atualmente
- personalizadas
- Clientes
- Cortar
- ponta
- dados,
- Data
- definido
- Grau
- entregar
- entregando
- demonstrar
- demonstraram
- Dependência
- implantar
- implantado
- Implantação
- desenvolvimento
- destruir
- Detecção
- Determinar
- Developer
- desenvolvedores
- em desenvolvimento
- Desenvolvimento
- diretamente
- Diretor
- discutido
- Estivador
- download
- condução
- cada
- Mais cedo
- facilmente
- Leste
- eco
- borda
- computação de borda
- efeito
- permitir
- habilitado
- Ponto final
- engenheiro
- Engenharia
- garantir
- Empreendimento
- empresas
- entusiasta
- entrada
- Meio Ambiente
- ambientes
- equipamento
- erro
- Mesmo
- SEMPRE
- tudo
- exemplo
- execução
- existente
- expansão
- vasta experiência
- Experiências
- especialista
- estender
- extrato
- Envie o
- Arquivos
- final
- Encontre
- Foco
- concentra-se
- seguir
- seguido
- seguinte
- Escolha
- Incursão
- fraude
- detecção de fraude
- Gratuito
- sem atrito
- da
- totalmente
- função
- Fundamentos
- gerado
- ter
- dado
- Global
- Globalmente
- globo
- Go
- vai
- Grupo
- Do grupo
- guia
- Guias
- Hardware
- arreios
- Ter
- ajudar
- detém
- hospedeiro
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- http
- HTTPS
- Centenas
- HÍBRIDO
- ID
- Identidade
- imagem
- importar
- in
- incluir
- Crescimento
- indústria
- Infraestrutura
- inovadores
- tecnologia inovadora
- entrada
- insights
- instalar
- instância
- integração
- interativo
- investimento
- IP
- Endereço IP
- IT
- Setor de TI
- juntando
- jpg
- json
- Justin
- manutenção
- Chave
- Tipo
- Conjunto (SDK)
- Conhecimento
- Rótulos
- língua
- grande
- Latência
- mais recente
- lançamento
- APRENDER
- aprendizagem
- Alavancagem
- como
- Line
- linhas
- Lista
- local
- localmente
- localização
- olhar
- máquina
- aprendizado de máquina
- a Principal
- manutenção
- fazer
- gerenciados
- de grupos
- metadados
- minimizando
- ML
- Móvel Esteira
- redes móveis
- Moda
- modelo
- modelos
- modificar
- mais
- a maioria
- MONTE
- nome
- Nomeado
- natural
- Processamento de linguagem natural
- você merece...
- negativo
- rede
- baseado em rede
- networking
- redes
- Novo
- New York
- Cidade de Nova Iorque
- Próximo
- PNL
- nó
- nós
- romance
- número
- objeto
- objetos
- of
- oferecido
- Oferece
- on
- ONE
- open source
- Operações
- Oportunidade
- Opções
- ordem
- Outros
- saída
- próprio
- pacotes
- Paralelo
- particularmente
- apaixonado
- caminho
- platão
- Inteligência de Dados Platão
- PlatãoData
- Privacidade
- Popular
- posicionado
- positivo
- possível
- Publique
- poder
- práticas
- Predictor
- Prévio
- privado
- em processamento
- proeminente
- fornece
- fornecendo
- público
- Pullover
- Empurrar
- rapidamente
- Leia
- em tempo real
- Recomendação
- reduzir
- região
- registro
- remoto
- substituir
- pedidos
- necessário
- recurso
- Recursos
- varejistas
- Retorna
- Tipo
- raiz
- Execute
- corrida
- mais segura
- sábio
- Inferência do SageMaker
- Sdk
- sem problemas
- Pesquisar
- setor
- segurança
- selecionado
- senior
- servir
- serve
- serviço
- Serviços
- conjunto
- compartilhando
- rede de apoio social
- Shows
- simples
- simplesmente
- So
- Software
- desenvolvimento de software
- Engenheiro de Software
- solução
- Soluções
- RESOLVER
- algo
- especializando
- começa
- Declaração
- Status
- Passo
- Passos
- armazenamento
- Estratégia
- subseqüente
- suceder
- tal
- Suportado
- suportes
- Interruptor
- sistemas
- TAG
- Tire
- técnicas
- Tecnologias
- Tecnologia
- Telco
- telecom
- telecomunicações
- Engenharia de Telecomunicações
- modelo
- fluxo tensor
- que
- A
- deles
- Este
- três
- tempo
- para
- TOM
- ferramenta
- treinado
- transformadores
- traduzir
- Tendências
- verdadeiro
- para
- subjacente
- único
- unidade
- universidade
- destravar
- Desbloqueio
- que vai mais à frente
- URL
- usar
- Utilizador
- v1
- valor
- variedade
- Local
- Verizon
- versão
- via
- Virtual
- visão
- Visite a
- volume
- volumes
- querido
- Riqueza
- web
- serviços web
- BEM
- bem conhecido
- se
- qual
- enquanto
- precisarão
- de
- dentro
- trabalhador
- trabalhar
- no mundo todo
- seria
- yaml
- anos
- Vocês
- investimentos
- Youtube
- zefirnet
- zonas