AWS Neuron

SDK para otimizar inferência de machine learning em chips do AWS Inferentia

O AWS Neuron é um kit de desenvolvimento de software (SDK) para executar inferência de machine learning usando chips do AWS Inferentia. Ele consiste em ferramentas de compilador, tempo de execução e criação de perfil que permitem que os desenvolvedores executem inferência de alta performance e baixa latência usando instâncias Inf1 do Amazon EC2 baseadas em AWS Inferentia. Com o Neuron, os desenvolvedores podem treinar facilmente seus modelos de machine learning em qualquer framework popular, como TensorFlow, PyTorch e MXNet, e executar esse framework de maneira ideal em instâncias Inf1 do Amazon EC2. É possível continuar a usar os mesmos frameworks de ML que usa atualmente e migrar seu software para instâncias Inf1 com alterações mínimas no código e sem depender de soluções específicas de um fornecedor.

A maneira mais rápida e fácil de começar a usar instâncias Inf1 é pelo Amazon SageMaker, um serviço totalmente gerenciado que permite que os cientistas de dados e desenvolvedores criem, treinem e implantem modelos de machine learning. Os desenvolvedores que preferem gerenciar seus próprios fluxos de trabalho de machine learning acharão o AWS Neuron fácil de integrar em seus fluxos de trabalho existentes e futuros, pois ele é nativamente integrado a frameworks populares, como o TensorFlow, o PyTorch e o MXNet. O Neuron vem pré-instalado em AMIs do Amazon Deep Learning, bem como em AWS Deep Learning Containers. Os clientes que usam aplicações em contêineres podem implantar o Neuron usando o Amazon ECS, o Amazon EKS ou o mecanismo de contêiner nativo de sua escolha.

Benefícios

Fácil de usar

O AWS Neuron SDK está integrado a frameworks populares, como TensorFlow, PyTorch e MXNet. Ele vem pré-instalado em AMIs do Amazon Deep Learning e nos Amazon Deep Learning Containers para que os clientes possam começar rapidamente a executar inferência de alta performance e econômica em instâncias do Amazon EC2 Inf1, com chips do AWS Inferentia.

Performance otimizada

O AWS Neuron SDK permite programação eficiente e acesso em tempo de execução aos chips do Inferentia. Ele oferece recursos avançados, como o Auto Casting, que converte automaticamente modelos FP32 (ponto flutuante de 32 bits) que são otimizados para precisão em bfloat de 16 bits para maximizar a taxa de transferência de processamento. Os desenvolvedores podem melhorar ainda mais a performance utilizando recursos do Neuron, como paralelismo de modelo, agrupamento em lotes ou Grupos NeuronCore, permitindo paralelismo de dados do mesmo modelo ou de modelos diferentes executados em paralelo para taxa de transferência máxima.

Flexibilidade e opções

Como o SDK Neuron é integrado a frameworks de machine learning comuns, os desenvolvedores implantam seus modelos existentes em instâncias Inf1 do EC2 com alterações mínimas no código. Isso lhes dá a liberdade de manter a portabilidade de hardware e aproveitar as tecnologias mais recentes sem estar vinculado a bibliotecas de software específicas do fornecedor. Com o Neuron, os desenvolvedores podem implantar muitos modelos de machine learning comumente usados, como o detector de disparo único (SSD) e o ResNet para reconhecimento/classificação de imagens, bem como Transformer e BERT para processamento e tradução de linguagem natural. Além disso, o suporte para o repositório de modelos HuggingFace no Neuron oferece aos clientes a capacidade de compilar e executar inferência usando modelos pré-treinados ou detalhadamente ajustados com facilidade. Basta trocar uma única linha de código.

Recursos

Particionamento inteligente

O AWS Neuron otimiza automaticamente a computação da rede neural para executar tarefas intensivas no Inferentia e outras tarefas na CPU para aumentar a performance geral. 

FP32 Autocasting

O AWS Neuron utiliza modelos treinados em FP32 de alta precisão e os converte automaticamente em BF16 para inferência de alta taxa de transferência com menor custo e maior velocidade do tipo de dados de 16 bits. 

Pipeline do NeuronCore

O pipeline do NeuronCore permite o paralelismo de modelo de alta taxa de transferência para aplicações sensíveis à latência, como o processamento de linguagem natural, fragmentando um gráfico de computação em vários NeuronCores, armazenando em cache os parâmetros do modelo na memória no chip de cada núcleo e, em seguida, fazendo a transmissão de solicitações de inferência entre os núcleos em um pipeline. 

Grupos do NeuronCore

Os grupos do NeuronCore permitem aos desenvolvedores implantar simultaneamente vários modelos para utilizar os recursos de hardware de forma otimizada, executando diferentes modelos em cada um dos grupos.

Agrupamento em lote otimizado

O AWS Neuron otimiza as workloads no chip Inferentia para obter a utilização máxima em pequenos lotes, o que permite alta performance para aplicações que têm requisitos de tempo de resposta rígidos.

Como funciona

how-it-works-inf1

Chips AWS Inferentia

O AWS Inferentia é um chip de inferência de machine learning projetado e produzido pela AWS para fornecer alta performance com economia. Cada chip AWS Inferentia tem quatro núcleos Neuron e é compatível com os tipos de dados FP16, BF16 e INT8. Os chips AWS Inferentia apresentam uma grande memória interna que pode ser usada para armazenar grandes modelos em cache, o que é especialmente vantajoso para modelos que exigem acesso frequente à memória.

Saiba mais »

Instâncias Inf1 do Amazon EC2

As instâncias Inf1 do Amazon EC2 baseadas em chips AWS Inferentia entregam uma taxa de transferência até 2,3 vezes maior e um custo por inferência até 70% menor em comparação com a atual geração de instâncias do Amazon EC2 baseadas em GPU. As instâncias Inf1 apresentam até 16 chips do AWS Inferentia, com os mais recentes processadores Intel® Xeon® Scalable da segunda geração personalizados e redes de até 100 Gbps para habilitar inferência com alta taxa de transferência.

Saiba mais »

Conceitos básicos

Consulte a documentação para ver tutoriais, guias detalhados, notas da aplicação e roteiros.
Para obter mais ajuda, um fórum do desenvolvedor está disponível por meio do console AWS ou em: https://forums.aws.amazon.com/forum.jspa?forumID=355