Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com os aceleradores da AWS criados especificamente para isso | Amazon Web Services

Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com os aceleradores da AWS criados especificamente para isso | Amazon Web Services

Os engenheiros de aprendizado de máquina (ML) tradicionalmente se concentram em encontrar um equilíbrio entre treinamento de modelo e custo de implantação versus desempenho. Cada vez mais, a sustentabilidade (eficiência energética) está se tornando um objetivo adicional para os clientes. Isso é importante porque treinar modelos de ML e, em seguida, usar os modelos treinados para fazer previsões (inferência) pode ser uma tarefa que consome muita energia. Além disso, cada vez mais aplicativos ao nosso redor foram infundidos com ML, e novos aplicativos baseados em ML são concebidos todos os dias. Um exemplo popular é o ChatGPT da OpenAI, que é alimentado por um modelo de linguagem grande (LMM) de última geração. Para referência, GPT-3, um LLM de geração anterior tem 175 bilhões de parâmetros e requer meses de treinamento ininterrupto em um cluster de milhares de processadores acelerados. O estudo Carbontracker estima que o treinamento do GPT-3 do zero pode emitir até 85 toneladas métricas de CO2 equivalente, usando clusters de aceleradores de hardware especializados.

Há várias maneiras pelas quais a AWS permite que os profissionais de ML reduzam o impacto ambiental de suas cargas de trabalho. Uma maneira é através do fornecimento orientação prescritiva sobre como arquitetar suas cargas de trabalho de IA/ML para sustentabilidade. Outra maneira é oferecer serviços gerenciados de treinamento e orquestração de ML, como Estúdio Amazon SageMaker, que reduz e aumenta automaticamente os recursos de ML quando não estão em uso e fornece uma série de ferramentas prontas para uso que economizam custos e recursos. Outro facilitador importante é o desenvolvimento de aceleradores de alto desempenho e eficientes em termos de energia para treinar e implantar modelos de ML.

O foco desta postagem é o hardware como uma alavanca para ML sustentável. Apresentamos os resultados de experimentos recentes de desempenho e consumo de energia conduzidos pela AWS que quantificam os benefícios de eficiência energética que você pode esperar ao migrar suas cargas de trabalho de aprendizagem profunda de outras aplicações aceleradas otimizadas para inferência e treinamento Amazon Elastic Compute Nuvem (Amazon EC2) instâncias para Inferência da AWS e Treinamento AWS. Inferentia e Trainium são A recente adição da AWS ao seu portfólio de aceleradores específicos projetado especificamente pela Amazon Laboratórios Annapurna para inferência de ML e cargas de trabalho de treinamento.

AWS Inferentia e AWS Trainium para ML sustentável

Para fornecer a você números realistas do potencial de economia de energia do AWS Inferentia e do AWS Trainium em um aplicativo do mundo real, realizamos vários experimentos de benchmark de consumo de energia. Projetamos esses benchmarks com os seguintes critérios-chave em mente:

  • Primeiro, queríamos garantir a captura do consumo direto de energia atribuível à carga de trabalho de teste, incluindo não apenas o acelerador de ML, mas também a computação, a memória e a rede. Portanto, em nossa configuração de teste, medimos o consumo de energia nesse nível.
  • Em segundo lugar, ao executar as cargas de trabalho de treinamento e inferência, garantimos que todas as instâncias estivessem operando em seus respectivos limites de hardware físico e realizamos medições somente depois que esse limite foi atingido para garantir a comparabilidade.
  • Por fim, queríamos ter certeza de que a economia de energia relatada neste post poderia ser alcançada em uma aplicação prática do mundo real. Portanto, usamos casos de uso de ML inspirados em clientes comuns para comparação e teste.

Os resultados são relatados nas seções a seguir.

Experimento de inferência: compreensão de documentos em tempo real com LayoutLM

A inferência, ao contrário do treinamento, é uma carga de trabalho contínua e ilimitada que não tem um ponto de conclusão definido. Portanto, compõe uma grande parte do consumo de recursos do ciclo de vida de uma carga de trabalho de ML. Fazer a inferência correta é a chave para alcançar alto desempenho, baixo custo e sustentabilidade (melhor eficiência energética) ao longo de todo o ciclo de vida do ML. Com tarefas de inferência, os clientes geralmente estão interessados ​​em atingir uma determinada taxa de inferência para acompanhar a demanda de ingestão.

O experimento apresentado nesta postagem é inspirado em um caso de uso de entendimento de documento em tempo real, que é uma aplicação comum em setores como bancos ou seguros (por exemplo, para sinistros ou processamento de formulários de inscrição). Especificamente, selecionamos LayoutLM, um modelo de transformador pré-treinado usado para processamento de imagens de documentos e extração de informações. Definimos um SLA de destino de 1,000,000 inferências por hora, um valor geralmente considerado como tempo real e, em seguida, especificamos duas configurações de hardware capazes de atender a esse requisito: uma usando Instâncias do Amazon EC2 Inf1, apresentando o AWS Inferentia, e outro usando instâncias EC2 aceleradas comparáveis ​​e otimizadas para tarefas de inferência. Ao longo do experimento, rastreamos vários indicadores para medir o desempenho de inferência, custo e eficiência energética de ambas as configurações de hardware. Os resultados são apresentados na figura a seguir.

Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com aceleradores específicos da AWS | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Resultados de Desempenho, Custo e Eficiência Energética de Benchmarks de Inferência

O AWS Inferentia oferece taxa de transferência de inferência 6.3 vezes maior. Como resultado, com o Inferentia, você pode executar a mesma carga de trabalho de entendimento de documento baseado em LayoutLM em tempo real em menos instâncias (6 instâncias AWS Inferentia vs. 33 outras instâncias EC2 aceleradas otimizadas para inferência, equivalente a uma redução de 82%), usar menos mais de um décimo (-92%) da energia no processo, ao mesmo tempo em que alcança um custo significativamente menor por inferência (USD 2 vs. US$ 25 por milhão de inferências, equivalente a uma redução de custo de 91%).

Experimento de treinamento: treinando o BERT Large do zero

O treinamento, ao contrário da inferência, é um processo finito que se repete com muito menos frequência. Os engenheiros de ML geralmente estão interessados ​​em alto desempenho de cluster para reduzir o tempo de treinamento e, ao mesmo tempo, manter os custos sob controle. A eficiência energética é uma preocupação secundária (ainda crescente). Com o AWS Trainium, não há decisão de troca: os engenheiros de ML podem se beneficiar do alto desempenho do treinamento, além de otimizar custos e reduzir o impacto ambiental.

Para ilustrar isso, selecionamos BERT grande, um modelo de linguagem popular usado para casos de uso de compreensão de linguagem natural, como resposta a perguntas baseadas em chatbot e previsão de resposta de conversação. O treinamento de um modelo BERT Large de bom desempenho a partir do zero normalmente requer o processamento de 450 milhões de sequências. Comparamos duas configurações de cluster, cada uma com um tamanho fixo de 16 instâncias e capaz de treinar o BERT Large do zero (450 milhões de sequências processadas) em menos de um dia. O primeiro usa instâncias EC2 aceleradas tradicionais. A segunda configuração usa Instâncias Amazon EC2 Trn1 apresentando o AWS Trainium. Mais uma vez, comparamos ambas as configurações em termos de desempenho de treinamento, custo e impacto ambiental (eficiência energética). Os resultados são mostrados na figura a seguir.

Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com aceleradores específicos da AWS | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Resultados de Desempenho, Custo e Eficiência Energética dos Benchmarks de Treinamento

Nos experimentos, as instâncias baseadas no AWS Trainium superaram as instâncias EC2 aceleradas otimizadas para treinamento comparáveis ​​por um fator de 1.7 em termos de sequências processadas por hora, reduzindo o tempo total de treinamento em 43% (2.3h versus 4h em instâncias EC2 aceleradas comparáveis) . Como resultado, ao usar um cluster de instância baseado em Trainium, o consumo total de energia para treinar BERT Large do zero é aproximadamente 29% menor em comparação com um cluster de mesmo tamanho de instâncias EC2 aceleradas comparáveis. Mais uma vez, esses benefícios de desempenho e eficiência energética também vêm com melhorias significativas de custo: o custo de treinamento para a carga de trabalho BERT ML é aproximadamente 62% menor em instâncias Trainium (US$ 787 versus US$ 2091 por execução de treinamento completo).

Conceitos básicos dos aceleradores específicos da AWS para ML

Embora todos os experimentos conduzidos aqui usem modelos padrão do domínio de processamento de linguagem natural (NLP), o AWS Inferentia e o AWS Trainium se destacam com muitas outras arquiteturas de modelos complexos, incluindo LLMs e os mais desafiadores IA generativa arquiteturas que os usuários estão construindo (como GPT-3). Esses aceleradores se saem particularmente bem com modelos com mais de 10 bilhões de parâmetros ou modelos de visão computacional como difusão estável (consulte Diretrizes de adequação da arquitetura do modelo para mais detalhes). De fato, muitos de nossos clientes já estão usando Inferentia e Trainium para uma ampla variedade de casos de uso de ML.

Para executar suas cargas de trabalho de aprendizado profundo de ponta a ponta em instâncias baseadas em AWS Inferentia e AWS Trainium, você pode usar Neurônio AWS. O Neuron é um kit de desenvolvimento de software (SDK) de ponta a ponta que inclui um compilador de aprendizado profundo, tempo de execução e ferramentas integradas nativamente às estruturas de ML mais populares, como TensorFlow e PyTorch. Você pode usar o Neuron SDK para portar facilmente suas cargas de trabalho de ML de aprendizagem profunda TensorFlow ou PyTorch existentes para Inferentia e Trainium e começar a criar novos modelos usando as mesmas estruturas de ML conhecidas. Para facilitar a configuração, use um de nossos Amazon Machine Images (AMIs) para aprendizado profundo, que vêm com muitos dos pacotes e dependências necessários. Ainda mais simples: você pode usar o Amazon SageMaker Studio, que oferece suporte nativo a TensorFlow e PyTorch em Inferentia e Trainium (consulte o repositório GitHub aws-samples Por exemplo).

Uma observação final: embora o Inferentia e o Trainium sejam desenvolvidos especificamente para cargas de trabalho de aprendizado profundo, muitos algoritmos de ML menos complexos podem funcionar bem em instâncias baseadas em CPU (por exemplo, XGBoost e LightGBM e até mesmo algumas CNNs). Nestes casos, uma migração para AWS Graviton3 pode reduzir significativamente o impacto ambiental de suas cargas de trabalho de ML. As instâncias baseadas em AWS Graviton usam até 60% menos energia para o mesmo desempenho do que instâncias EC2 aceleradas comparáveis.

Conclusão

Há um equívoco comum de que executar cargas de trabalho de ML de maneira sustentável e com baixo consumo de energia significa sacrificar o desempenho ou o custo. Com os aceleradores da AWS criados especificamente para aprendizado de máquina, os engenheiros de ML não precisam fazer essa troca. Em vez disso, eles podem executar suas cargas de trabalho de aprendizado profundo em hardware de aprendizado profundo altamente especializado, como AWS Inferentia e AWS Trainium, que supera significativamente os tipos de instância acelerada EC2 comparáveis, oferecendo menor custo, maior desempenho e melhor eficiência energética - até 90% - tudo ao mesmo tempo. Para começar a executar suas cargas de trabalho de ML no Inferentia e no Trainium, confira o Documentação do AWS Neuron ou gire um dos cadernos de amostra. Você também pode assistir à palestra AWS re:Invent 2022 em Sustentabilidade e silício AWS (SUS206), que abrange muitos dos tópicos discutidos neste post.


Sobre os autores

Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com aceleradores específicos da AWS | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Karsten Schroer é arquiteto de soluções da AWS. Ele ajuda os clientes a alavancar dados e tecnologia para impulsionar a sustentabilidade de sua infraestrutura de TI e criar soluções baseadas em dados que permitem operações sustentáveis ​​em suas respectivas verticais. Karsten ingressou na AWS após seus estudos de doutorado em aprendizado de máquina aplicado e gerenciamento de operações. Ele é verdadeiramente apaixonado por soluções baseadas em tecnologia para desafios sociais e adora se aprofundar nos métodos e arquiteturas de aplicativos subjacentes a essas soluções.

Reduza o consumo de energia de suas cargas de trabalho de machine learning em até 90% com aceleradores específicos da AWS | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Kamran Khan é gerente de produto técnico sênior no AWS Annapurna Labs. Ele trabalha em estreita colaboração com clientes de IA/ML para moldar o roteiro para as inovações de silício específicas da AWS que saem do Annapurna Labs da Amazon. Seu foco específico é em chips de aprendizagem profunda acelerada, incluindo AWS Trainium e AWS Inferentia. Kamran tem 18 anos de experiência na indústria de semicondutores. Kamran tem mais de uma década de experiência ajudando desenvolvedores a atingirem suas metas de ML.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS