AWS Neuron

SDK para otimizar o machine learning nos aceleradores AWS Trainium e AWS Inferentia

O AWS Neuron é um SDK com um compilador, tempo de execução e ferramentas de criação de perfil que libera aceleração de Deep Learning (DL – Aprendizado profundo) de alta performance e economia. Ele oferece suporte ao treinamento de alta performance em instâncias Trn1 do Amazon Elastic Compute Cloud (Amazon EC2) baseadas no AWS Trainium. Para a implantação do modelo, ele oferece suporte à inferência de alta performance e baixa latência em instâncias Inf1 do Amazon EC2 baseadas no AWS Inferentia e instâncias Inf2 do Amazon EC2 baseadas no AWS Inferentia2. Com o Neuron, você pode usar estruturas populares, como TensorFlow e PyTorch, e treinar e implantar de forma otimizada modelos de machine learning (ML) nas instâncias Trn1, Inf1 e Inf2 do Amazon EC2; o Neuron foi projetado para minimizar as alterações de código e sem vinculação a soluções específicas do fornecedor.

Benefícios

Criar com suporte nativo para bibliotecas e frameworks de ML

O AWS Neuron SDK, que oferece suporte aos aceleradores do Inferentia e do Trainium, é integrado nativamente ao PyTorch e ao TensorFlow. Essa integração garante que você possa continuar usando seus fluxos de trabalho existentes nessas frameworks populares e começar com apenas algumas linhas de alterações de código. Para treinamento de modelos distribuídos, o Neuron SDK oferece suporte a bibliotecas, como Megatron-LM e PyTorch Fully Sharded Data Parallel (FSDP).

Otimizar a performance para treinamento e inferência

O AWS Neuron SDK permite programação eficiente e acesso em tempo de execução aos aceleradores Trainium e Inferentia. Ele comporta uma ampla variedade de tipos de dados, novos modos de arredondamento, fluxo de controle e operadores personalizados, para ajudar você a escolher a configuração ideal para suas workloads de DL. Para treinamento distribuído, o Neuron permite o uso eficiente de UltraClusters Trn1 com suporte estreitamente acoplado para operações de computação coletiva em redes Elastic Fabric Adapter (EFA).

Obtenha depuração e monitoramento aprimorados

O Neuron oferece compilação Just-In-Time (JIT) para acelerar os fluxos de trabalho dos desenvolvedores. Ele oferece ferramentas de depuração e criação de perfil com o suporte do plug-in TensorBoard. O Neuron suporta o modo de depuração rápida, que você pode usar para percorrer facilmente o código e avaliar os operadores um por um. Você pode usar as ferramentas auxiliares do Neuron para seguir as práticas recomendadas de integração de modelos e otimizações de performance. O Neuron também inclui ferramentas que fornecem insights de performance e utilização.

Fácil integração com outros produtos da AWS

As AMIs de aprendizado profundo da AWS e os Contêineres de aprendizado profundo da AWS vêm pré-configurados com o AWS Neuron. Se você estiver usando aplicações em contêineres, poderá implantar o Neuron usando o Amazon Elastic Container Service (ECS), o Amazon Elastic Kubernetes Service (EKS) ou seu mecanismo de contêiner nativo preferido. O Neuron também oferece suporte ao Amazon SageMaker, que cientistas de dados e desenvolvedores podem usar para criar, treinar e implantar modelos de ML.

Recursos

Particionamento inteligente


Para aumentar a performance geral, o AWS Neuron otimiza automaticamente a computação de rede neural para executar tarefas de computação intensiva em aceleradores Trainium e Inferentia e outras tarefas na CPU.

Ampla variedade de tipos de dados de ML


O AWS Neuron é compatível com FP32, TF32, BF16, FP16, INT8 e o novo FP8 configurável. Usar os tipos de dados certos para suas workloads ajuda você a otimizar a performance e, ao mesmo tempo, atingir as metas de precisão.

FP32 autocasting


O AWS Neuron seleciona automaticamente os modelos FP32 de alta precisão para tipos de dados com precisão mais baixa, ao mesmo tempo que otimiza a precisão e a performance. A seleção automática reduz o tempo de entrada no mercado removendo a necessidade de retreinamento de precisão mais baixa.

Suporte nativo para arredondamento estocástico

O AWS Neuron permite o arredondamento estocástico acelerado por hardware. O arredondamento estocástico permite o treinamento em velocidades BF16, com precisão próxima de FP32 ao fundir automaticamente de FP32 para BF16.

NeuronCore Pipeline


O NeuronCore Pipeline permite o paralelismo de modelos de alto throughput para aplicações sensíveis à latência, como o processamento de linguagem natural. O Pipeline faz isso fragmentando um grafo de computação em vários NeuronCores, armazenando em cache os parâmetros do modelo na memória do chip de cada núcleo. Em seguida, ele transmite workloads de treinamento e inferência pelos núcleos no formato de pipeline.

Operações de comunicação coletiva

O AWS Neuron é compatível com a execução de várias operações coletivas de comunicação e computação em paralelo no hardware dedicado. Fazer isso gera menor latência e performance geral mais alta em workloads distribuídas.

Operadores personalizados


O AWS Neuron oferece suporte a operadores personalizados. Você pode escrever novos operadores personalizados em C++, e o Neuron os executará nos núcleos Single Instruction, Multiple Data (SIMD – Instrução única, dados múltiplos) embutidos do Trainium e do Inferentia2.

Modo de depuração rápida


O AWS Neuron suporta o modo de depuração rápida, que você pode usar para percorrer facilmente o código e avaliar os operadores um por um.

Como funciona

Aceleradores de machine learning da AWS

Aceleradores AWS Trainium

O AWS Trainium é um acelerador de treinamento de ML criado especificamente pela AWS para treinamentos de DL de alta performance e baixo custo. Cada acelerador AWS Trainium tem dois NeuronCores de segunda geração e oferece suporte aos tipos de dados FP32, TF32, BF16, FP16 e INT8, além de FP8 configurável (cFP8), que você pode usar para obter o equilíbrio certo entre alcance e precisão. Para oferecer suporte a dados eficientes e paralelismo de modelos, cada acelerador Trainium tem 32 GB de memória de alta largura de banda, fornece até 210 TFLOPS de potência computacional FP16/BF16 e apresenta o NeuronLink, uma tecnologia de interconexão sem bloqueio de velocidade ultra-alta e intrainstâncias.

Saiba mais »

Aceleradores AWS Inferentia

O AWS Inferentia e o AWS Inferentia2 são aceleradores de inferência de machine learning que a AWS projetou e construiu para fornecer inferência de baixo custo e alta performance. Cada acelerador AWS Inferentia tem quatro NeuronCores de primeira geração e oferece suporte aos tipos de dados FP16, BF16 e INT8. Cada acelerador AWS Inferentia2 tem dois NeuronCores de segunda geração e inclui suporte para FP32, TF32 e os novos tipos de dados configuráveis FP8 (cFP8).

Saiba mais »

Instâncias ML do Amazon EC2

Instâncias Trn1 do Amazon EC2

As instâncias Trn1 do Amazon EC2, baseadas em aceleradores AWS Trainium, são criadas especificamente para treinamento de DL de alta performance. Elas oferecem até 50% de economia no custo de treinamento em comparação com outras instâncias do Amazon EC2. As instâncias Trn1 apresentam até 16 aceleradores AWS Trainium e são compatíveis com até 1.600 Gbps (Trn1n) de largura de banda da rede do Elastic Fabric Adapter (EFA) de segunda geração.

Saiba mais »

Instâncias Inf2 do Amazon EC2

As instâncias Inf2 do Amazon EC2 funcionam com até 12 aceleradores AWS Inferentia2 e oferecem throughput até 4 vezes maior e latência até 10 vezes menor em comparação com instâncias Inf1. As instâncias Inf2 são as primeiras instâncias otimizadas para inferência no Amazon EC2 a oferecer suporte para inferência distribuída em escala horizontal com conectividade de velocidade ultra-alta entre os aceleradores.

Saiba mais »

Instâncias Inf1 do Amazon EC2

As instâncias Inf1 do Amazon EC2 são baseadas em até 16 aceleradores AWS Inferentia. Elas entregam um throughput até 2,3 vezes maior e um custo até 70% menor por inferência em comparação com as instâncias do Amazon EC2.

Saiba mais »

Comece a usar

Consulte a documentação para ver tutoriais, guias detalhados, notas da aplicação e o roteiro.

Para obter mais assistência, acesse o fórum de desenvolvedores, que está também disponível no Console de Gerenciamento da AWS.