Criar com o Amazon SageMaker

O Amazon SageMaker facilita a criação de modelos de machine learning (ML) em escala e os prepara para o treinamento, fornecendo tudo o que você precisa para rotular dados de treinamento, acessar e compartilhar notebooks e usar algoritmos e estruturas integrados.

Recursos

Experiência colaborativa em blocos de anotações

O Amazon SageMaker Studio usa blocos de anotações do Jupyter com computação elástica que podem ser iniciados rapidamente com um clique. Os blocos de anotações contêm tudo que se precisa para executar ou recriar um fluxo de trabalho de machine learning e são integrados ao Amazon SageMaker Studio. Os notebooks são pré-carregados com todos os drivers CUDA e cuDNN comuns, pacotes Anaconda e bibliotecas de estrutura.

O ambiente de notebooks permite explorar e visualizar seus dados e documentar suas descobertas em fluxos de trabalho reutilizáveis. No notebook, você pode importar seus dados armazenados no Amazon S3. Você também pode usar o AWS Glue para mover dados facilmente do Amazon RDS, do Amazon DynamoDB e do Amazon Redshift para o S3 para fins de análise.

Sem os notebooks elásticos, você precisa criar uma instância de computação para visualizar, executar ou compartilhar um notebook. Se você precisar de mais poder computacional, precisará ativar uma nova instância, transferir o notebook e desligar a instância antiga. E, como o bloco de anotações geralmente é acoplado à instância de computação e normalmente ficava na estação de trabalho de um usuário, não há uma maneira fácil de compartilhar blocos de anotações e realizar iterações colaborativamente.

Os blocos de anotações do SageMaker Studio superam esses desafios. Você não precisa mais perder tempo desligando a instância antiga e recriando o trabalho em uma nova instância. Isso torna muito mais rápido começar a criar um modelo.

Você pode gravar ou importar seu notebooks ou usar um dos vários notebooks pré-criados que acompanham o SageMaker para diferentes casos de uso. Depois de iniciado, você pode aumentar e diminuir os recursos de computação (incluindo recursos da GPU) sem interrupção. Além disso, seu estado é salvo automaticamente, permitindo que você retome exatamente de onde parou na próxima vez que voltar ao bloco de anotações.

É fácil compartilhar os blocos de anotações do SageMaker Studio com colegas para que eles possam visualizar e reproduzir seus resultados.

Blocos de anotações

Crie conjuntos de dados de treinamento precisos

O Amazon SageMaker Ground Truth ajuda você a criar rapidamente conjuntos de dados de treinamento altamente precisos usando machine learning e reduzir os custos de rotulagem de dados em até 70%. Os modelos de machine learning bem-sucedidos são treinados usando dados que foram rotulados para instruir o modelo sobre como tomar decisões corretas. Esse processo pode levar meses e precisar de grandes equipes de pessoas para ser concluído. O SageMaker Ground Truth fornece uma solução inovadora para reduzir o custo e a complexidade, além de aumentar a precisão da rotulagem de dados, ao reunir a rotulagem humana com um processo de machine learning chamado aprendizado ativo.

Como funciona

Processamento de dados totalmente gerenciado em escala

Frequentemente, as cargas de trabalho de análise e processamento de dados para machine learning são executadas em infraestrutura autogerenciada, difícil de alocar e dimensionar, à medida que os requisitos de negócios mudam. O uso de diferentes ferramentas para conseguir isso se torna complicado, resultando em desempenho abaixo do ideal e aumento de despesas operacionais e de capital. O Amazon SageMaker Processing supera esse desafio estendendo a facilidade, a dimensionabilidade e a confiabilidade do SageMaker para uma experiência gerenciada completa de execução de cargas de trabalho de processamento de dados em escala. O SageMaker Processing permite conectar-se a fontes de dados de armazenamento ou sistema de arquivos existentes, aumentar os recursos necessários para executar seu trabalho, salvar a saída em armazenamento persistente e fornecer os logs e métricas. Você também pode trazer seus próprios contêineres usando estruturas de sua escolha e tirar proveito da execução de cargas de trabalho de processamento e análise de dados.

Algoritmos internos de alto desempenho

O Amazon SageMaker oferece algoritmos de machine learning dimensionáveis e de alto desempenho, otimizados para velocidade, escala e precisão e que podem executar treinamentos em conjuntos de dados em escala de petabytes. Você pode escolher entre algoritmos supervisionados, em que as respostas corretas são conhecidas durante o treinamento e é possível instruir o modelo quando ele comete erros. O SageMaker inclui algoritmos supervisionados, como XGBoost e regressão ou classificação linear/lógica, para resolver problemas de recomendação e previsão de série temporal. O SageMaker também inclui suporte a aprendizado não supervisionado (ou seja, os algoritmos precisam descobrir as respostas certas por conta própria), por exemplo, com o clustering de k-means e a análise de componente principal (PCA), para resolver problemas como a identificação de agrupamentos de clientes com base no comportamento de compra.

O SageMaker disponibiliza automaticamente os algoritmos de machine learning mais comuns para você. Especifique sua fonte de dados e comece a executar clustering k-means para segmentação de dados, máquinas de fatoração para recomendações, previsão de série temporal, regressão linear ou análise de componente principal, ou muitos outros algoritmos prontos para uso imediato.

Algoritmo Descrição
Word2Vec na BlazingText A implementação do algoritmo Word2Vec pela BlazingText para escalabilidade e aceleração da geração de incorporação de palavras de um grande número de documentos.
DeepAR Um algoritmo que gera previsões precisas aprendendo padrões de várias séries temporais relacionadas usando redes neurais recorrentes (RNN).
Máquinas de fatoração Um modelo com a capacidade de estimar todas as interações entre recursos mesmo com pouquíssimos dados
Gradient Boosted Trees (XGBoost) Abreviação de "Extreme Gradient Boosting", XGBoost é uma biblioteca de gradient boosting distribuída.
Classificação de imagens (ResNet) Uma rede neural popular para desenvolver sistemas de classificação de imagens.
Informações sobre IP Um algoritmo para detectar usuários mal-intencionados ou aprender a usar padrões de endereços IP.
Clustering de k-means Um dos algoritmos mais simples de ML, é usado para encontrar grupos dentro de dados não rotulados.
K-Nearest Neighbor (k-NN) Um algoritmo baseado em índice para resolver problemas baseados em classificação e regressão.
Latent Dirichlet Allocation (LDA) Um modelo adequado para descobrir automaticamente os principais tópicos presentes em um conjunto de arquivos de texto.
Aprendiz linear (classificação) A classificação linear usa características de um objeto para identificar o grupo correto a que ele pertence.
Aprendiz linear (regressão) A regressão linear é usada para prever o relacionamento linear entre duas variáveis.
NTM (Modelagem tópica neural) Uma abordagem baseada em rede neural para aprender tópicos a partir de conjuntos de dados de imagens e textos.
Object2Vec Um algoritmo de incorporação neural para computar vizinhos mais próximos e visualizar clusters naturais.
Detecção de objetos Detecta, classifica e coloca caixas delimitadores em volta de vários objetos em uma imagem.
Análise de componente principal (PCA) Normalmente usado no pré-processamento dos dados, esse algoritmo usa uma tabela ou matriz de vários recursos e a reduz ao menor número de recursos representativos.
Random Cut Forest Um algoritmo de Machine Learning não supervisionado para detecção de anomalias.
Segmentação de semântica Particiona uma imagem para identificar locais de interesse atribuindo um rótulo aos pixels individuais da imagem.
Sequence2Sequence Um codificador-decodificador de propósito geral para texto que costuma ser usado em tradução automática de idiomas, resumo de textos e muito mais.

Saiba mais »

Você também pode trazer sua própria estrutura ou algoritmo por meio de um contêiner do Docker ou selecionar dentre centenas de algoritmos e modelos pré-treinados disponíveis no Mercado AWS

Amplo suporte a estruturas

O Amazon SageMaker oferece suporte a diversas estruturas populares para aprendizagem profunda, como TensorFlow, Apache MXNet, PyTorch, Chainer e muito outros. Essas estruturas são configuradas e otimizadas automaticamente para alto desempenho. Você não precisa configurar manualmente essas estruturas e pode usá-las nos contêineres internos. Você também pode importar a qualquer momento a estrutura que quiser para o SageMaker. Basta incorporá-la a um contêiner do Docker que você pode armazenar no Amazon EC2 Container Registry.

Saiba mais »

Teste e crie protótipos localmente

Os contêineres Docker de código aberto do Apache MXNet e do Tensorflow usados no Amazon SageMaker estão disponíveis no GitHub. Você pode fazer download desses contêineres para seu ambiente local e usar o SageMaker Python SDK para testar seus scripts antes de implantá-los nos ambientes de treinamento ou de hospedagem do SageMaker. Quando você estiver pronto para passar dos testes locais para o treinamento e hospedagem em produção, basta alterar uma única linha de código. 

Aprendizado por reforço

O Amazon SageMaker oferece suporte ao aprendizado por reforço, além do aprendizado tradicional supervisionado e não supervisionado. O SageMaker possui algoritmos de aprendizado por reforço integrados e totalmente gerenciados, incluindo alguns dos mais recentes e de melhor desempenho na literatura acadêmica. O SageMaker oferece suporte ao RL em várias estruturas, incluindo o TensorFlow e o MXNet, bem como novas estruturas desenvolvidas a partir do zero para reforço de conhecimento, como Intel Coach e Ray RL. Diversos ambientes de simulação física 2D e 3D são compatíveis, inclusive ambientes baseados na interface OpenGym de código aberto. Além disso, o SageMaker RL permite treinar usando ambientes 3D virtuais criados no Amazon Sumerian e no Amazon RoboMaker. Para ajudar você a começar, o SageMaker também fornece uma variedade de exemplos de bloco de anotações e tutoriais.

A maioria dos modelos de machine learning se enquadra em uma categoria denominada aprendizado supervisionado. Esse método exige muitos dados de treinamento rotulados, mas os modelos que você cria são capazes de tomar decisões sofisticadas. É a abordagem comum com modelos de visão computacional, fala e linguagem. Outra categoria comum de machine learning, mas menos usada, é denominada aprendizado não supervisionado. Aqui, os algoritmos tentam identificar uma estrutura oculta em dados não rotulados. O impedimento para treinar um modelo não supervisionado é muito menor, mas a desvantagem é que o modelo toma decisões menos sofisticadas. Frequentemente, modelos não supervisionados são usados ​​para identificar anomalias nos dados, como flutuações anormais na temperatura ou sinais de invasão de rede.

O aprendizado por reforço (RL) surgiu como uma terceira abordagem complementar ao machine learning. O RL tem uma abordagem muito diferente para os modelos de treinamento. Virtualmente, ele precisa de dados de treinamento não rotulados, mas ainda pode atender (e em alguns casos exceder) níveis humanos de sofisticação. A melhor coisa sobre o RL é que ele pode aprender a modelar uma variedade complexa de comportamentos para chegar a um resultado desejado, em invés de simplesmente tomar uma decisão única. Atualmente, um dos aplicativos mais comuns do RL é a formação de veículos autônomos para navegar até um destino.

Uma maneira fácil de entender como o RL funciona é pensar em um videogame simples em que um personagem precisa passar por um labirinto coletando bandeiras e evitando inimigos. Em vez de um jogo humano, o algoritmo controla o personagem e joga milhões de jogos. Tudo o que ele precisa saber para começar é que o personagem pode se mover para cima, para baixo, para a esquerda e para a direita e que será recompensado com a pontuação. Em seguida, o algoritmo aprenderá a jogar para obter a maior pontuação possível. Ele aprenderá comportamentos que melhoram a pontuação (como pegar bandeiras ou aproveitar multiplicadores de pontuação) e minimizar as penalidades (como ser atingido por um inimigo.) Com o tempo, os algoritmos do RL podem aprender estratégias avançadas para dominar o jogo, como esvaziar primeiro a parte inferior do labirinto, como e quando ganhar energia e como explorar os comportamentos do inimigo.

O RL pode ser um multiplicador de força em técnicas tradicionais de machine learning. Por exemplo, o RL e o aprendizado supervisionado foram combinados para criar esquemas personalizados de tratamento em saúde, otimizar cadeias de suprimento de fabricação, melhorar o desempenho de turbinas eólicas, dirigir carros autônomos, operar robôs com segurança e até mesmo criar aulas personalizadas e planos de aprendizado para os alunos.

Recursos

Um guia detalhado para criar modelos de ML

Aprenda a criar modelos de ML no Amazon SageMaker.

Notebooks de amostra do Amazon SageMaker

Acesse um repositório avançado de amostra de notebooks do Amazon SageMaker no GitHub.

Crie ambientes seguros de machine learning
 
Explore os recursos de segurança do Amazon SageMaker