Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Blocos de anotações ilustrativos no Amazon SageMaker JumpStart

JumpStart do Amazon SageMaker é o hub de aprendizado de máquina (ML) do SageMaker que fornece modelos pré-treinados e disponíveis ao público para uma ampla variedade de tipos de problemas para ajudá-lo a começar a usar o aprendizado de máquina.

O JumpStart também oferece notebooks de exemplo que usam Amazon Sage Maker recursos como treinamento de instâncias pontuais e experimentos em uma grande variedade de tipos de modelos e casos de uso. Esses notebooks de exemplo contêm código que mostra como aplicar soluções de ML usando SageMaker e JumpStart. Eles podem ser adaptados para atender às suas próprias necessidades e, assim, acelerar o desenvolvimento de aplicativos.

Recentemente, adicionamos 10 novos notebooks ao JumpStart em Estúdio Amazon SageMaker. Este post se concentra nesses novos notebooks. No momento da redação deste livro, o JumpStart oferece 56 notebooks, desde o uso de modelos de processamento de linguagem natural (NLP) de última geração até a correção de viés em conjuntos de dados ao treinar modelos.

Os 10 novos cadernos podem ajudá-lo das seguintes maneiras:

  • Eles oferecem código de exemplo para você executar como está na IU do JumpStart no Studio e ver como o código funciona
  • Eles mostram o uso de várias APIs SageMaker e JumpStart
  • Eles oferecem uma solução técnica que você pode personalizar ainda mais com base em suas próprias necessidades

O número de notebooks oferecidos pelo JumpStart aumenta regularmente à medida que mais notebooks são adicionados. Esses cadernos também estão disponíveis em github.

Visão geral dos notebooks

Os 10 novos cadernos são os seguintes:

  • Aprendizagem no contexto com AlexaTM 20B – Demonstra como usar o AlexaTM 20B para aprendizado no contexto com aprendizado zero e poucos tiros em cinco tarefas de exemplo: resumo de texto, geração de linguagem natural, tradução automática, resposta extrativa a perguntas e inferência e classificação de linguagem natural.
  • Aprendiz linear justo no SageMaker - Recentemente, houve preocupações sobre o viés nos algoritmos de ML como resultado da imitação de preconceitos humanos existentes. Este notebook aplica conceitos de imparcialidade para ajustar as previsões do modelo de forma adequada.
  • Gerencie a experimentação de ML usando o SageMaker Search – A pesquisa do Amazon SageMaker permite que você encontre e avalie rapidamente as execuções de treinamento de modelo mais relevantes de potencialmente centenas e milhares de trabalhos de treinamento de modelo do SageMaker.
  • Modelo de tópico neural do SageMaker - O SageMaker Neural Topic Model (NTM) é um algoritmo de aprendizado não supervisionado que tenta descrever um conjunto de observações como uma mistura de categorias distintas.
  • Prever violações de velocidade de condução - O algoritmo SageMaker DeepAR pode ser usado para treinar um modelo para várias ruas simultaneamente e prever violações para várias câmeras de rua.
  • Previsão do câncer de mama - Este notebook usa o conjunto de dados de diagnóstico de câncer de mama da UCI para construir um modelo preditivo de se uma imagem de massa de mama indica um tumor benigno ou maligno.
  • Previsões de conjunto de vários modelos - Ao combinar ou calcular a média das previsões de várias fontes e modelos, normalmente obtemos uma previsão melhorada. Este caderno ilustra este conceito.
  • Inferência assíncrona do SageMaker – A inferência assíncrona é uma nova opção de inferência para necessidades de inferência quase em tempo real. As solicitações podem levar até 15 minutos para serem processadas e têm tamanhos de carga útil de até 1 GB.
  • TensorFlow traga seu próprio modelo – Aprenda a treinar um modelo do TensorFlow localmente e implantar no SageMaker usando este notebook.
  • Scikit-learn traga seu próprio modelo – Este notebook mostra como usar um modelo Scikit-learn pré-treinado com o contêiner SageMaker Scikit-learn para criar rapidamente um endpoint hospedado para esse modelo.

Pré-requisitos

Para usar esses notebooks, certifique-se de ter acesso ao Studio com uma função de execução que permita executar a funcionalidade do SageMaker. O pequeno vídeo abaixo irá ajudá-lo a navegar para os notebooks JumpStart.

Nas seções a seguir, analisamos cada uma das 10 novas soluções e discutimos alguns de seus detalhes interessantes.

Aprendizagem no contexto com AlexaTM 20B

O AlexaTM 20B é um modelo sequencial (seq2seq) multitarefa, multilíngue e em larga escala, treinado em uma mistura de Common Crawl (mC4) e dados da Wikipedia em 12 idiomas, usando tarefas de redução de ruído e modelagem de linguagem causal (CLM). Ele alcança desempenho de ponta em tarefas comuns de linguagem no contexto, como resumo e tradução automática de uma só vez, superando modelos somente de decodificador, como o GPT3 da Open AI e o PaLM do Google, que são oito vezes maiores.

Aprendizagem em contexto, também conhecida como alertando, refere-se a um método em que você usa um modelo de PNL em uma nova tarefa sem precisar ajustá-lo. Alguns exemplos de tarefas são fornecidos ao modelo apenas como parte da entrada de inferência, um paradigma conhecido como aprendizado em contexto de poucas fotos. Em alguns casos, o modelo pode funcionar bem sem nenhum dado de treinamento, apenas com uma explicação do que deve ser previsto. Isso é chamado aprendizado em contexto zero-shot.

Este notebook demonstra como implantar o AlexaTM 20B por meio da API JumpStart e executar a inferência. Ele também demonstra como o AlexaTM 20B pode ser usado para aprendizado no contexto com cinco tarefas de exemplo: resumo de texto, geração de linguagem natural, tradução automática, resposta extrativa a perguntas e inferência e classificação de linguagem natural.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Resumo de texto único, geração de linguagem natural e tradução automática usando um único exemplo de treinamento para cada uma dessas tarefas
  • Resposta a perguntas de tiro zero e inferência de linguagem natural mais classificação usando o modelo como está, sem a necessidade de fornecer exemplos de treinamento.

Tente executar seu próprio texto neste modelo e veja como ele resume o texto, extrai perguntas e respostas ou traduz de um idioma para outro.

Aprendiz linear justo no SageMaker

Recentemente, houve preocupações sobre o viés nos algoritmos de ML como resultado da imitação de preconceitos humanos existentes. Atualmente, vários métodos de ML têm fortes implicações sociais, por exemplo, são usados ​​para prever empréstimos bancários, taxas de seguro ou publicidade. Infelizmente, um algoritmo que aprende com dados históricos herdará naturalmente vieses do passado. Este caderno apresenta como superar esse problema usando o SageMaker e algoritmos justos no contexto de aprendizes lineares.

Ele começa apresentando alguns dos conceitos e matemática por trás da imparcialidade, depois baixa os dados, treina um modelo e, finalmente, aplica os conceitos de imparcialidade para ajustar as previsões do modelo adequadamente.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Executando um modelo linear padrão no conjunto de dados Adulto da UCI.
  • Mostrando injustiça nas previsões do modelo
  • Corrigindo dados para remover viés
  • Retreinando o modelo

Tente executar seus próprios dados usando este código de exemplo e detecte se há viés. Depois disso, tente remover o viés, se houver, em seu conjunto de dados usando as funções fornecidas neste notebook de exemplo.

Gerencie a experimentação de ML usando a pesquisa do SageMaker

A Pesquisa do SageMaker permite que você encontre e avalie rapidamente as execuções de treinamento de modelo mais relevantes de potencialmente centenas e milhares de trabalhos de treinamento de modelo do SageMaker. O desenvolvimento de um modelo de ML requer experimentação contínua, experimentando novos algoritmos de aprendizado e ajustando hiperparâmetros, enquanto se observa o impacto de tais mudanças no desempenho e na precisão do modelo. Esse exercício iterativo geralmente leva a uma explosão de centenas de experimentos de treinamento de modelos e versões de modelos, retardando a convergência e a descoberta de um modelo vencedor. Além disso, a explosão de informações torna muito difícil rastrear a linhagem de uma versão do modelo - a combinação exclusiva de conjuntos de dados, algoritmos e parâmetros que criaram esse modelo em primeiro lugar.

Este notebook mostra como usar a Pesquisa do SageMaker para organizar, rastrear e avaliar de forma rápida e fácil seus trabalhos de treinamento de modelo no SageMaker. Você pode pesquisar todos os atributos de definição do algoritmo de aprendizado usado, configurações de hiperparâmetros, conjuntos de dados de treinamento usados ​​e até mesmo as tags que você adicionou nos trabalhos de treinamento do modelo. Você também pode comparar e classificar rapidamente suas execuções de treinamento com base em suas métricas de desempenho, como perda de treinamento e precisão de validação, criando assim tabelas de classificação para identificar os modelos vencedores que podem ser implantados em ambientes de produção. O SageMaker Search pode rastrear rapidamente a linhagem completa de uma versão de modelo implantada em um ambiente ativo, até os conjuntos de dados usados ​​no treinamento e validação do modelo.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Treinando um modelo linear três vezes
  • Usando o SageMaker Search para organizar e avaliar esses experimentos
  • Visualizando os resultados em uma tabela de classificação
  • Como implantar um modelo em um endpoint
  • Rastreando a linhagem do modelo a partir do endpoint

Em seu próprio desenvolvimento de modelos preditivos, você pode estar executando vários experimentos. Tente usar o SageMaker Search em tais experimentos e veja como ele pode ajudá-lo de várias maneiras.

Modelo de tópico neural do SageMaker

O SageMaker Neural Topic Model (NTM) é um algoritmo de aprendizado não supervisionado que tenta descrever um conjunto de observações como uma mistura de categorias distintas. O NTM é mais comumente usado para descobrir um número especificado pelo usuário de tópicos compartilhados por documentos dentro de um corpus de texto. Aqui cada observação é um documento, as características são a presença (ou contagem de ocorrências) de cada palavra e as categorias são os tópicos. Como o método não é supervisionado, os tópicos não são especificados antecipadamente e não há garantia de alinhamento com a forma como um ser humano pode categorizar naturalmente os documentos. Os tópicos são aprendidos como uma distribuição de probabilidade sobre as palavras que ocorrem em cada documento. Cada documento, por sua vez, é descrito como uma mistura de tópicos.

Este notebook usa o algoritmo SageMaker NTM para treinar um modelo no conjunto de dados 20NewsGroups. Este conjunto de dados tem sido amplamente utilizado como benchmark de modelagem de tópicos.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Criando um trabalho de treinamento do SageMaker em um conjunto de dados para produzir um modelo NTM
  • Usando o modelo para realizar inferência com um endpoint do SageMaker
  • Explorando o modelo treinado e visualizando tópicos aprendidos

Você pode facilmente modificar este notebook para executar em seus documentos de texto e dividi-los em vários tópicos.

Prever violações de velocidade de condução

Este bloco de anotações demonstra a previsão de séries temporais usando o algoritmo SageMaker DeepAR analisando o conjunto de dados de violação de radares de trânsito da cidade de Chicago. O conjunto de dados é hospedado por Data.gov e é gerenciado pela Administração de Serviços Gerais dos EUA, Serviço de Transformação de Tecnologia.

Essas violações são capturadas por sistemas de câmeras e estão disponíveis para melhorar a vida do público por meio do portal de dados da cidade de Chicago. O conjunto de dados de violação de radares de velocidade pode ser usado para discernir padrões nos dados e obter insights significativos.

O conjunto de dados contém várias localizações de câmeras e contagens de violações diárias. Cada contagem de violação diária para uma câmera pode ser considerada uma série temporal separada. Você pode usar o algoritmo SageMaker DeepAR para treinar um modelo para várias ruas simultaneamente e prever violações para várias câmeras de rua.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Treinando o algoritmo SageMaker DeepAR no conjunto de dados de série temporal usando instâncias pontuais
  • Fazendo inferências no modelo treinado para fazer previsões de violação de trânsito

Com este notebook, você pode aprender como problemas de séries temporais podem ser resolvidos usando o algoritmo DeepAR no SageMaker e tentar aplicá-lo em seus próprios conjuntos de dados de séries temporais.

Previsão de câncer de mama

Este notebook usa um exemplo para previsão de câncer de mama usando o conjunto de dados de diagnóstico de câncer de mama da UCI. Ele usa esse conjunto de dados para construir um modelo preditivo de se uma imagem de massa mamária indica um tumor benigno ou maligno.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Configuração básica para usar o SageMaker
  • Converter conjuntos de dados para o formato Protobuf usado pelos algoritmos do SageMaker e fazer upload para Serviço de armazenamento simples da Amazon (Amazon S3)
  • Treinando um modelo de aprendizado linear do SageMaker no conjunto de dados
  • Hospedando o modelo treinado
  • Pontuação usando o modelo treinado

Você pode ler este notebook para aprender como resolver um problema de negócios usando o SageMaker e entender as etapas envolvidas para treinar e hospedar um modelo.

Previsões de conjunto de vários modelos

Em aplicações práticas de ML em tarefas preditivas, um modelo muitas vezes não é suficiente. A maioria das competições de previsão geralmente exige a combinação de previsões de várias fontes para obter uma previsão melhorada. Ao combinar ou calcular a média das previsões de várias fontes ou modelos, normalmente obtemos uma previsão melhorada. Isso acontece porque há uma incerteza considerável na escolha do modelo e não há um modelo verdadeiro em muitas aplicações práticas. Portanto, é benéfico combinar previsões de diferentes modelos. Na literatura bayesiana, essa ideia é chamada de média do modelo bayesiano e tem funcionado muito melhor do que apenas escolher um modelo.

Este notebook apresenta um exemplo ilustrativo para prever se uma pessoa ganha mais de $ 50,000 por ano com base em informações sobre sua educação, experiência de trabalho, gênero e muito mais.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Preparando seu notebook SageMaker
  • Carregando um conjunto de dados do Amazon S3 usando o SageMaker
  • Investigar e transformar os dados para que possam ser alimentados com os algoritmos do SageMaker
  • Estimando um modelo usando o algoritmo SageMaker XGBoost (Extreme Gradient Boosting)
  • Hospedando o modelo no SageMaker para fazer previsões contínuas
  • Estimando um segundo modelo usando o método de aprendizado linear do SageMaker
  • Combinando as previsões de ambos os modelos e avaliando a previsão combinada
  • Gerando previsões finais no conjunto de dados de teste

Tente executar este notebook em seu conjunto de dados e usar vários algoritmos. Tente experimentar várias combinações de modelos oferecidos pelo SageMaker e JumpStart e veja qual combinação de agrupamento de modelos oferece os melhores resultados em seus próprios dados.

Inferência assíncrona do SageMaker

A inferência assíncrona do SageMaker é um novo recurso do SageMaker que enfileira as solicitações recebidas e as processa de forma assíncrona. Atualmente, o SageMaker oferece duas opções de inferência para os clientes implantarem modelos de ML: uma opção em tempo real para cargas de trabalho de baixa latência e transformação em lote, uma opção offline para processar solicitações de inferência em lotes de dados disponíveis antecipadamente. A inferência em tempo real é adequada para cargas de trabalho com tamanhos de carga útil inferiores a 6 MB e exige que as solicitações de inferência sejam processadas em 60 segundos. A transformação em lote é adequada para inferência offline em lotes de dados.

A inferência assíncrona é uma nova opção de inferência para necessidades de inferência quase em tempo real. As solicitações podem levar até 15 minutos para serem processadas e têm tamanhos de carga útil de até 1 GB. A inferência assíncrona é adequada para cargas de trabalho que não têm requisitos de latência de subsegundos e têm requisitos de latência relaxados. Por exemplo, pode ser necessário processar uma inferência em uma imagem grande de vários MBs em 5 minutos. Além disso, os endpoints de inferência assíncrona permitem que você controle os custos reduzindo a contagem de instâncias de endpoint para zero quando estão ociosas, para que você pague apenas quando seus endpoints estiverem processando solicitações.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Criando um modelo SageMaker
  • Criando um endpoint usando este modelo e configuração de inferência assíncrona
  • Fazendo previsões contra este endpoint assíncrono

Este bloco de anotações mostra um exemplo de trabalho de criação de um endpoint assíncrono para um modelo SageMaker.

TensorFlow traga seu próprio modelo

Um modelo do TensorFlow é treinado localmente em uma tarefa de classificação em que este notebook está sendo executado. Em seguida, ele é implantado em um endpoint do SageMaker.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai. Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Treinando um modelo TensorFlow localmente no conjunto de dados IRIS
  • Importando esse modelo para o SageMaker
  • Hospedá-lo em um endpoint

Se você tiver modelos do TensorFlow desenvolvidos por você, este notebook de exemplo pode ajudá-lo a hospedar seu modelo em um endpoint gerenciado pelo SageMaker.

Scikit-learn traga seu próprio modelo

O SageMaker inclui funcionalidade para oferecer suporte a um ambiente de notebook hospedado, treinamento distribuído e sem servidor e hospedagem em tempo real. Funciona melhor quando todos esses três serviços são usados ​​juntos, mas também podem ser usados ​​independentemente. Alguns casos de uso podem exigir apenas hospedagem. Talvez o modelo tenha sido treinado antes da existência do SageMaker, em um serviço diferente.

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O notebook demonstra o seguinte:

  • Usando um modelo Scikit-learn pré-treinado com o contêiner SageMaker Scikit-learn para criar rapidamente um endpoint hospedado para esse modelo

Se você tiver modelos Scikit-learn desenvolvidos por você mesmo, este notebook de exemplo pode ajudá-lo a hospedar seu modelo em um endpoint gerenciado pelo SageMaker.

Limpe os recursos

Depois de terminar de executar um bloco de anotações no JumpStart, certifique-se de Excluir todos os recursos para que todos os recursos que você criou no processo sejam excluídos e seu faturamento seja interrompido. A última célula nesses blocos de anotações geralmente exclui os pontos de extremidade criados.

Resumo

Esta postagem o guiou por 10 novos blocos de anotações de exemplo que foram adicionados recentemente ao JumpStart. Embora esta postagem se concentre nesses 10 novos notebooks, há um total de 56 notebooks disponíveis até o momento. Incentivamos você a fazer login no Studio e explorar os blocos de anotações do JumpStart por conta própria e começar a extrair valor imediato deles. Para mais informações, consulte Estúdio Amazon SageMaker e SageMaker JumpStart.


Sobre o autor

Cadernos ilustrativos no Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Dr. Raju Penmatcha é arquiteto de soluções especialista em AI/ML em AI Platforms na AWS. Ele recebeu seu PhD da Universidade de Stanford. Ele trabalha de perto nos serviços de suíte de baixo/sem código no SageMaker que ajudam os clientes a criar e implantar modelos e soluções de aprendizado de máquina com facilidade.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS