Amazon SageMaker Neo
Execute modelos de ML em qualquer lugar com performance até 25 vezes melhor
O Amazon Sagemaker Neo permite aos desenvolvedores otimizarem modelos de machine learning (ML) para inferência no Sagemaker na nuvem e dispositivos suportados na borda.
A inferência de ML é o processo de usar um modelo de machine learning treinado para fazer previsões. Após o treinamento de um modelo de alta precisão, os desenvolvedores normalmente passam muito tempo e esforço aprimorando o modelo de alto desempenho. Para inferência na nuvem, os desenvolvedores normalmente transformam grandes instâncias com muita memória e capacidades poderosas de processamento em custos maiores para obter máximo rendimento. Para inferência em dispositivos de borda com computação e memória limitada, os desenvolvedores normalmente passam meses aprimorando o modelo para obter desempenho aceitável dentro das restrições de hardware do dispositivo.
O Amazon Sagemaker Neo automaticamente otimiza os modelos de machine learning para inferência em instâncias de nuvem e dispositivos de borda para operarem mais rápido sem perda de precisão. Você começa com um modelo de machine learning já embutido no DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX ou XGBoost e treinado no Amazon Sagemaker ou outra plataforma. Em seguida, você escolhe sua plataforma de hardware de destino, que pode ser uma instância de hospedagem do SageMaker ou um dispositivo de borda baseado em processadores da Ambarella, Apple, ARM, Intel, MediaTek, Nvidia, NXP, Qualcomm, RockChip ou Texas Instruments. Com um único clique, o Sagemaker Neo otimiza o modelo treinado e o compila em um executável. O compilador usa um modelo de machine learning para aplicar as otimizações de desempenho que extraem o melhor desempenho disponível para o seu modelo na instância de nuvem ou dispositivo de borda. Então você implanta o modelo como endpoint do SageMaker ou em dispositivos de suporte de borda e começa a fazer previsões.
Para inferência na nuvem, o SageMaker Neo acelera a inferência e economiza gastos criando um contêiner de inferência otimizada no hosting do SageMaker. Para inferência na borda, o SageMaker Neo economiza meses de depuramento manual pelos desenvolvedores automaticamente depurando o modelo para o sistema operacional selecionado e hardware do processador.
O Amazon Sagemaker Neo usa o Apache TVM e compiladores de parceiros, e bibliotecas de aceleração para fornecer o melhor desempenho disponível para um determinado modelo e alvo de hardware. O AWS contribui com o código do compilador para o projeto Apache TVM e o código de tempo de operação para o projeto de origem aberta do Neo-AI, sob a Licença de Software Apache, para permitir que fornecedores de processadores e fabricantes de dispositivos inovarem rapidamente em um tempo de operação comum compacto.
Como ele funciona
Benefícios
Melhore o seu desempenho em até 25x
O Amazon SageMaker Neo otimiza automaticamente os modelos de Machine Learning para executar até 25x a velocidade sem perder a precisão. O Sagemaker Neo usa a cadeia de ferramentas melhor adequadas para o seu modelo e plataforma de hardware alvo enquanto fornece uma compilação de modelo simples e padrão para API.
Menos de 1/10 da pegada do tempo de operação
O tempo de operação do Amazon Sagemaker Neo consome cerca de 1/10 da pegada de uma estrutura de aprendizado profundo, como o TensorFlow ou PyTorch. Ao invés de instalar a estrutura no seu hardware alvo, você carrega a biblioteca do tempo operacional do Neo compacto em sua aplicação ML. E diferente de uma estrutura compacta como o TensorFlow-Lite, o tempo de operação do Neo pode executar um modelo treinado em qualquer uma das estruturas suportadas pelo compilador do Neo.
Tempo mais rápido para a produção
O Amazon Sagemaker Neo facilita a preparação do seu modelo para implantação em praticamente qualquer plataforma de hardware com apenas alguns cliques no console do Amazon SageMaker. Você obtém todos os benefícios do depuramento manual sem esforço nenhum.
Principais recursos
Otimiza a inferência sem comprometer a precisão
O Amazon Sagemaker Neo usa técnicas lideradas por pesquisas em compiladores de machine learning para otimizar seu modelo para o hardware alvo. Ao aplicar essas técnicas de otimização sistemática automaticamente, o Sagemaker Neo acelera seus modelos sem perda de precisão.
Suporte às estruturas populares de machine learning
O Amazon Sagemaker Neo converte um modelo do formato específico da estrutura do DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX, ou XGBoost em uma representação comum, otimiza os cálculos, e gera um executável específico do hardware para a instância de hosting alvo do Sagemaker ou dispositivo de borda.
Fornece um tempo de operação compacto com APIs padrões
O tempo de operação do Amazon Sagemaker Neo ocupa 1MB de armazenamento e 2MB de memória, que é muitas vezes menor que o armazenamento e pegada de memória de uma estrutura, enquanto fornece uma API comum e simples para executar um modelo compilado originando-se em qualquer estrutura.
Suporte a plataformas de destino populares
O tempo de execução do Amazon Sagemaker Neo é compatível com os sistemas operacionais Android, Linux e Windows e com os processadores Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm e Texas Instruments. O Sagemaker Neo também converte os modelos do PyTorch e TensorFlow para o formato Core ML para implantação no macOS, iOS, iPadOS, watchOS e tvOS nos dispositivos Apple.
Contêineres de inferência otimizados para as instâncias de hosting do o Amazon Sagemaker
Para inferência na nuvem, o Amazon Sagemaker Neo fornece contêineres de inferência otimizada que incluem MxNET, PyTorch e TensorFlow integrados com o tempo de operação do Neo. Anteriormente, o Sagemaker Neo havia falhado em compilar modelos que usavam operadores sem suporte. Agora, o Sagemaker Neo otimiza cada modelo na extensão em que o compilador suporta os operadores no modelo e usa a estrutura para executar o restante do modelo não compilado. Como resultado, você pode executar qualquer modelo MXNet, PyTorch ou TensorFlow nos contêineres de inferência otimizados enquanto obtém melhor desempenho para os modelos que podem ser compilados.
Particionamento de modelo para hardware heterogêneo
O Amazon Sagemaker Neo aproveita as bibliotecas de aceleradores fornecidas por parceiros para fornecer o melhor desempenho disponível para um modelo de aprendizado profundo em plataformas de hardware heterogêneas com acelerador de hardware e também CPU. Bibliotecas de aceleração como Ambarella CV Tools, Nvidia Sensor RT e Texas Instruments TIDL suportam um conjunto específico de funções e operadores. O Sagemaker Neo automaticamente particiona o seu modelo para que a parte dos operadores suportada pelo acelerador possa ser executada no acelerador enquanto o resto do modelo é executado na CPU. Desta forma, o Sagemaker Neo aproveita o máximo do acelerador de hardware, aumentando os tipos de modelos que podem ser executados no hardware enquanto melhoram o desempenho do modelo na extensão em que seus operadores são suportados pelo acelerador.
Suporte para instâncias do Amazon Sagemaker INF1
O Amazon Sagemaker Neo agora compila modelos para os alvos da instância do Amazon Sagemaker INF1. O hosting do Sagemaker fornece um serviço gerenciado para inferência nas instâncias INF1, que são baseadas no chip do AWS Inferentia. O Sagemaker Neo fornece a API de compilação do modelo padrão usando o compilador Neuron específico ao processador da Inferentia dentro do estojo, simplificando a tarefa de preparar um modelo para implantação na instância do Sagemaker INF1 enquanto fornece o melhor desempenho disponível e economias de custo da instância INF1.
Blogs
Colhendo o sucesso usando o Amazon Sagemaker para promover a unidade de plantio digital da Bayer
Marisa Messina | 05 AGO 2019
O Amazon Sagemaker Neo promove o aprendizado de máquina da Pioneer em carros
Satadal Bhattacharjee | 11 JUN 2019
O Amazon Sagemaker ajuda a detectar objetos e classificar imagens nos dispositivos de borda
Satadal Bhattacharjee | 12 JUN 2019
Sukwon Kim e Vin Sharma | 23 JAN 2019