Implantação do Amazon SageMaker

O Amazon SageMaker facilita a geração de previsões, fornecendo tudo o que você precisa para implantar modelos de machine learning em produção e monitorar a qualidade do modelo.

Recursos

Monitoramento de modelos

Os modelos de Machine learning normalmente são treinados e avaliados usando dados históricos, mas sua qualidade diminui após serem implantados na produção. Isso ocorre porque a distribuição dos dados enviados aos modelos para previsões pode ser diferente da distribuição dos dados usados durante o treinamento. A validade dos resultados da previsão pode mudar com o tempo e erros podem ser introduzidos durante o processo, o que pode afetar a qualidade do modelo. Para evitar isso, você precisa monitorar a qualidade dos modelos em produção, identificar problemas rapidamente e tomar ações corretivas, como modelos de auditoria ou reciclagem. Para conseguir isso, você precisa criar ferramentas para armazenar dados relacionados à previsão de forma segura, seguido pela implementação de várias técnicas estatísticas para analisar esses dados e avaliar a qualidade do modelo. Por fim, você precisa detectar desvios na qualidade do modelo para executar as ações corretivas corretas. Como alternativa à construção de ferramentas adicionais, é feito um novo treinamento de modelos com frequência regular, o que pode ser caro.

O Amazon SageMaker Model Monitor elimina a necessidade de criar ferramentas para monitorar modelos em produção e detectar quando ações corretivas precisam ser tomadas. O SageMaker Model Monitor monitora continuamente a qualidade dos modelos de machine learning na produção e alerta quando há desvios na qualidade do modelo.

O SageMaker Model Monitor analisa os dados coletados com base em regras internas ou em suas próprias regras fornecidas personalizadas com frequência regular para determinar se há alguma violação das regras. As regras internas podem ser usadas para analisar dados tabulares e detectar problemas comuns, como eventos atípicos em dados de previsão, desvio na distribuição de dados em comparação a conjuntos de dados de treinamento e alterações na precisão da previsão com base em observações do mundo real. O SageMaker Model Monitor pode ser usado no SageMaker Studio, e as métricas podem ser emitidas no Amazon CloudWatch para que você possa configurar alarmes para auditar e treinar novamente os modelos. Você pode visualizar os alertas para entender quais dados estão causando as oscilações para que você possa ajustar seus dados de treinamento de acordo. As solicitações e respostas de previsão são armazenadas com segurança para todos os modelos implantados no SageMaker sem exigir nenhuma alteração no código.

Monitor de modelos

Implantação com um clique

O Amazon SageMaker facilita a implantação de seu modelo treinado na produção com um único clique para que você possa começar a gerar previsões para dados em lotes ou em tempo real. Também é possível implantar seu modelo em instâncias do Amazon Machine Learning com escalabilidade automática entre várias zonas de disponibilidade para obter alta redundância. Basta especificar o tipo de instância e os números mínimo e máximo desejados e o SageMaker cuidará do resto. O SageMaker inicia as instâncias, implanta o modelo e configura o endpoint HTTPS seguro para o aplicativo. O aplicativo precisa apenas incluir uma chamada à API para esse endpoint a fim de obter inferência de baixa latência e alto throughput. Essa arquitetura permite integrar seus novos modelos ao aplicativo em minutos, já que as alterações do modelo não exigem mais alterações de código.

Batch Transform

Na maior parte do tempo, o processamento de lotes de dados para previsões em tempo não real precisava ser feito com o redimensionamento de grandes conjuntos de dados em pequenos blocos de dados e com o gerenciamento de endpoints em tempo real. Isso pode ser caro e propenso a erros. Com o recurso Batch Transform do Amazon SageMaker, não é necessário dividir o conjunto de dados em vários blocos ou gerenciar endpoints em tempo real. O recurso Batch Transform permite que você execute previsões em conjuntos de dados de lotes grandes ou pequenos. Usando uma API simples, você pode solicitar previsões para um grande número de registros de dados e transformar os dados de maneira rápida e fácil. Os dados podem ser grandes como petabytes ou pequenos como bytes para executar explorações ou qualquer outro local.

Treine uma vez, implante em qualquer lugar

Para obter alto desempenho de inferência em uma variedade de dispositivos de borda, você normalmente precisa passar semanas ou meses ajustando de forma manua um modelo para cada dispositivo de destino, pois cada configuração de hardware tem um conjunto exclusivo de recursos e restrições. Com o Amazon SageMaker Neo, você pode treinar seus modelos de machine learning uma vez e implantá-los em qualquer lugar na nuvem e na borda.

O SageMaker Neo usa machine learning para otimizar automaticamente um modelo treinado para executar com até o dobro da velocidade e consumir menos de um décimo da área ocupada pela memória, sem perda de precisão no ambiente de implantação de destino. Você começa com um modelo de machine learning criado usando MXNet, TensorFlow, PyTorch ou XGBoost e treinado usando o SageMaker. Em seguida, você escolhe sua plataforma de hardware de destino na qual deseja que o modelo seja implantado. Com um único clique, o SageMaker Neo compilará o modelo treinado em um executável. O compilador usa uma rede neural para descobrir e aplicar todas as otimizações de performance específicas que farão com que seu modelo seja executado com mais eficiência na plataforma de hardware de destino. Então o modelo pode ser implantado para começar a fazer previsões na nuvem ou na borda. Os recursos de computação local e de inferência de ML podem ser levados para a borda com o AWS IoT Greengrass.

Para ajudar a tornar as implantações de borda mais fáceis, o Greengrass oferece suporte aos modelos otimizados para o Neo para que você possa implantar seus modelos diretamente na borda com as atualizações remotas. O Neo também está disponível como código aberto com o nome de projeto Neo-AI sob a Licença de software Apache, permitindo que os desenvolvedores personalizem o software para diferentes dispositivos e aplicativos.

2 vezes

MAIS DESEMPENHO

1/10

DO TAMANHO DA ESTRUTURA ORIGINAL

Integração com o Kubernetes

O Kubernetes é um sistema de código aberto usado para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos conteinerizados. Muitos clientes desejam usar os recursos totalmente gerenciados do Amazon SageMaker para machine learning, mas também querem que as equipes de plataforma e infraestrutura continuem usando o Kubernetes para orquestração e gerenciamento de pipelines. O SageMaker atende a esse requisito, permitindo que os usuários do Kubernetes treinem e implantem modelos no SageMaker usando operações e pipelines do SageMaker-Kubeflow. Com operadores e pipelines, os usuários do Kubernetes podem acessar ferramentas e mecanismos de ML do SageMaker totalmente gerenciados, nativamente do Kubeflow. Isso elimina a necessidade de gerenciar e otimizar manualmente a infraestrutura de ML nos Kubernetes, preservando o controle da orquestração geral por meio do Kubernetes. Usando operadores e pipelines do SageMaker para o Kubernetes, você pode obter os benefícios de um serviço totalmente gerenciado para machine learning no Kubernetes, sem migrar cargas de trabalho.

Processamento de dados além do treinamento

As cargas de trabalho de ML da vida real geralmente exigem mais do que treinamento e previsão. Os dados precisam ser pré-processados e pós-processados, às vezes em várias etapas. Pode ser necessário treinar e implantar usando uma sequência de algoritmos que precisam colaborar na entrega de previsões usando dados brutos. O SageMaker permite implantar pipelines de inferência para que você possa transmitir dados de entrada brutos e executar pré-processamento, previsões e pós-processamento em solicitações de inferência em lote e em tempo real. Os pipelines de inferência podem ser compostos de qualquer estrutura de machine learning, algoritmo integrado ou contêineres personalizados utilizáveis no Amazon SageMaker. Você pode criar pipelines de processamento de dados de recursos e de engenharia de recursos com um conjunto de transformadores de recursos disponíveis nos contêineres de estruturas SparkML e Scikit-learn no Amazon SageMaker, além de implantá-los como parte dos pipeline de inferência para reutilizar o código de processamento de dados e facilitar o gerenciamento dos processos de machine learning.

Endpoints para vários modelos

Cada vez mais as empresas estão treinando modelos de machine learning com base em dados de usuários individuais. Por exemplo, um serviço de streaming de música treina modelos personalizados com base no histórico musical de cada ouvinte para personalizar as recomendações de músicas ou um serviço de táxi treina modelos personalizados com base nos padrões de tráfego de cada cidade para prever o tempo de espera dos passageiros. A criação de modelos de ML personalizados para cada caso de uso leva a uma precisão de inferência mais alta, mas o custo de implantação e gerenciamento de modelos aumenta significativamente. Esses desafios se tornam mais acentuados quando nem todos os modelos são acessados na mesma taxa, mas ainda precisam estar disponíveis o tempo todo.

Os Endpoints para vários modelos do Amazon SageMaker fornecem uma maneira escalável e econômica de implantar um grande número de modelos personalizados de machine learning. Os endpoints para vários modelos do SageMaker permitem implantar vários modelos com um único clique em um único terminal e atendê-los usando um único contêiner de veiculação. Basta especificar o tipo de instância e os números mínimo e máximo desejados, e o SageMaker cuidará do resto. O SageMaker inicia as instâncias, implanta o modelo e configura o endpoint HTTPS seguro para o aplicativo. Seu aplicativo precisa incluir apenas uma chamada à API com o modelo de destino para esse endpoint a fim de obter inferência de baixa latência e alto throughput.

Obtenha alto desempenho e inferência de baixo custo na nuvem

Usando o Amazon SageMaker, você pode implantar seus modelos de machine learning treinados nas instâncias do Amazon Inf1, criadas usando o chip AWS Inferentia, para fornecer alto desempenho e inferência de baixo custo. Usando instâncias Inf1, você pode executar aplicativos de inferência de machine learning em larga escala como reconhecimento de imagem, reconhecimento de fala, processamento de linguagem natural, personalização e detecção de fraude. Com o Amazon SageMaker Neo, você pode compilar seus modelos de machine learning treinados para executar de maneira ideal nas instâncias Inf1 e implantar facilmente os modelos compilados nas instâncias Inf1 para inferência em tempo real.

Quero saber mais

Processe seus modelos de ML da experimentação à produção

Aprenda como implantar modelos de ML na produção usando o SageMaker

Implante modelos treinados de Keras ou TensorFlow usando o Amazon SageMaker

Aprenda como implantar um Keras ou TensorFlow treinado usando o Amazon SageMaker

Automatize os modelos ML personalizados do Amazon SageMaker  

Siga estes exemplos no GitHub e automatize a construção, o treinamento e a implantação de modelos ML personalizados.