Visão geral do Machine Learning - Amazon Redshift

Visão geral do Machine Learning

Com o Amazon Redshift, você pode aproveitar os recursos de machine learning para obter insights valiosos dos seus dados. Esta visão geral sobre machine learning (ML) mostra como explorar, visualizar e preparar seus dados para treinamento e implantação de um modelo de ML. As seções a seguir orientarão você pelo processo de utilização do Amazon Redshift ML para aproveitar o potencial de seus dados por meio de machine learning.

Usando o Amazon Redshift ML, é possível treinar modelos de Machine Learning usando instruções SQL e chamá-los em consultas SQL para previsão.

Para ajudá-lo a aprender a usar o Amazon Redshift ML, você pode assistir ao vídeo a seguir.

Para ter informações sobre os pré-requisitos para configurar clusters ou grupos de trabalho sem servidor, permissões e propriedade do Redshift para usar o Amazon Redshift ML, leia as seções a seguir. Essas seções também descrevem como o treinamento simples e as previsões funcionam no Amazon Redshift ML.

Como o machine learning pode resolver seu problema

Um modelo de Machine Learning gera previsões encontrando padrões em seus dados de treinamento e aplicando esses padrões a novos dados. No Machine Learning, você treina esses modelos aprendendo os padrões que melhor explicam seus dados. Em seguida, você usa os modelos para fazer previsões (também chamadas inference) sobre novos dados. Machine Learning normalmente é um processo iterativo no qual você pode continuar a melhorar a precisão das previsões alterando os parâmetros e melhorando os dados de treinamento. Se os dados forem alterados, o novo treinamento de novos modelos com o novo conjunto de dados acontece.

Para atender a vários objetivos de negócios, existem diferentes abordagens fundamentais de Machine Learning.

Aprendizado supervisionado no Amazon Redshift ML

O Amazon Redshift oferece suporte à aprendizagem supervisionada, que é a abordagem mais comum para análises empresariais avançadas. O aprendizado supervisionado é a abordagem preferida de Machine Learning quando você tem um conjunto estabelecido de dados e uma compreensão de como os dados de entrada específicos prevêem vários resultados de negócios. Esses resultados às vezes são chamados de rótulos. Em particular, seu conjunto de dados é uma tabela com atributos que compreendem feições (entradas) e destinos (saídas). Por exemplo, suponha que você tenha uma tabela que forneça a idade e o código postal para clientes passados e presentes. Suponha que você também tenha um campo “ativo” que seja true para clientes presentes e false para clientes que suspenderam sua associação. O objetivo do machine learning supervisionado é identificar os padrões de idade e código postal que levam à rotatividade de clientes, como representado por clientes cujos destinos são “False”. Você pode usar esse modelo para prever clientes com probabilidade de rotatividade, como suspender sua associação, e potencialmente oferecer incentivos de retenção.

O Amazon Redshift oferece suporte ao aprendizado supervisionado que inclui regressão, classificação binária e classificação multiclasse. Regressão refere-se ao problema da previsão de valores contínuos, como o gasto total dos clientes. Classificação binária refere-se ao problema de prever um de dois resultados, como prever se um cliente rotula ou não. Classificação multiclasse refere-se ao problema de prever um de muitos resultados, como prever o item que um cliente pode estar interessado. Analistas de dados e cientistas de dados podem usá-lo para executar o aprendizado supervisionado para lidar com problemas que vão desde previsão, personalização ou previsão de rotatividade de clientes. Também é possível usar o aprendizado supervisionado em problemas como previsão de quais vendas serão fechadas, previsão de receita, detecção de fraude e previsão de valor de vida do cliente.

Aprendizado não supervisionado no Amazon Redshift ML

O aprendizado não supervisionado usa algoritmos de machine learning para analisar e agrupar dados de treinamento não rotulados. Os algoritmos detectam padrões ou agrupamentos ocultos. O objetivo é modelar a estrutura ou distribuição subjacente nos dados para saber mais sobre os dados.

O Amazon Redshift é compatível com o algoritmo de cluster K-Means para resolver um problema de aprendizado não supervisionado. Esse algoritmo resolve problemas de clusterização em que você deseja detectar agrupamentos nos dados. O algoritmo K-Means tenta encontrar agrupamentos discretos dentro dos dados. Os dados não classificados são agrupados e particionados de acordo com suas semelhanças e diferenças. Por meio do agrupamento, o algoritmo K-Means determina iterativamente os melhores centroides e atribui cada membro ao centroide mais próximo. Os membros mais próximos do mesmo centroide pertencem ao mesmo grupo. Os membros de um grupo são o mais semelhantes possível a outros membros do mesmo grupo e o mais diferentes possível de membros de outros grupos. Por exemplo, o algoritmo de clusterização K-Means pode ser usado para classificar cidades afetadas por uma pandemia ou classificar cidades de acordo com a popularidade dos produtos de consumo.

Ao usar o algoritmo K-Means, especifique uma entrada k que especifique o número de clusters a serem encontrados nos dados. A saída desse algoritmo é um conjunto de centroides k. Cada ponto de dados pertence a um dos clusters k mais próximos a ele. Cada cluster é descrito por seu centroide. Pode-se pensar no centroide como a média multidimensional do cluster. O algoritmo K-Means compara as distâncias para ver o quanto os clusters diferem uns dos outros. Uma distância maior geralmente indica uma diferença maior entre os clusters.

O pré-processamento dos dados é importante para o K-Means, pois garante que os recursos do modelo permaneçam na mesma escala e produzam resultados confiáveis. O Amazon Redshift é compatível com alguns pré-processadores K-Means para a instrução CREATE MODEL, como StandardScaler, MinMax e NumericPassThrough. Caso não queira aplicar nenhum pré-processamento para K-means, escolha NumericPassthrough explicitamente como um transformador. Para obter mais informações sobre como configurar parâmetros K-Means, consulte CREATE MODEL com parâmetros K-MEANS.

Para ajudá-lo a saber como realizar treinamento não supervisionado com o cluster K-Means, assista ao vídeo a seguir.

Termos e conceitos do Amazon Redshift ML

Os seguintes termos são usados para descrever alguns conceitos do Amazon Redshift ML:

  • Machine Learning no Amazon Redshift treina um modelo com um comando SQL. O Amazon Redshift ML e o Amazon SageMaker AI gerenciam todas as conversões de dados, permissões, uso de recursos e descoberta do modelo adequado.

  • Treinamento é a fase em que o Amazon Redshift cria um modelo de Machine Learning executando um subconjunto especificado de dados no modelo. O Amazon Redshift inicia automaticamente um trabalho de treinamento no Amazon SageMaker AI e gera um modelo.

  • A previsão (também chamada de inferência) é o uso do modelo em consultas SQL do Amazon Redshift para prever resultados. No momento da inferência, o Amazon Redshift usa uma função de previsão baseada em modelo como parte de uma consulta maior para produzir previsões. As previsões são calculadas no local, no cluster do Redshift, proporcionando assim alta taxa de transferência, baixa latência e nenhum custo adicional.

  • Com o traga seu próprio modelo (BYOM), você pode usar um modelo treinado fora do Amazon Redshift com o Amazon SageMaker AI para inferência no banco de dados localmente no Amazon Redshift. O Amazon Redshift ML oferece suporte ao uso de BYOM para inferência local.

  • A inferência local é usada quando os modelos são pré-treinados no Amazon SageMaker AI, compilados pelo Amazon SageMaker AI Neo e localizados no Amazon Redshift ML. Para importar modelos compatíveis com inferência local para o Amazon Redshift, use o comando CREATE MODEL. O Amazon Redshift importa os modelos pré-treinados do SageMaker AI chamando o Amazon SageMaker AI Neo. Você compila o modelo lá e importa o modelo compilado para o Amazon Redshift. Use inferência local para uma velocidade mais rápida e custos mais baixos.

  • A inferência remota é usada quando o Amazon Redshift invoca um endpoint de modelo implantado no SageMaker AI. Ela oferece a flexibilidade de invocar todos os tipos de modelo personalizado e de modelo de aprendizado profundo, como modelos TensorFlow que você criou e implantou no Amazon SageMaker AI.

Os seguintes fatores também são importantes:

  • O Amazon SageMaker é um serviço de machine learning totalmente gerenciado. Com o Amazon SageMaker AI, cientistas de dados e desenvolvedores podem facilmente criar, treinar e implantar modelos diretamente em um ambiente hospedado pronto para produção. Para obter informações sobre o Amazon SageMaker, consulte What is Amazon SageMaker AI no Guia do desenvolvedor do Amazon SageMaker AI.

  • O Amazon SageMaker AI Autopilot é um conjunto de recursos que treina e ajusta automaticamente os melhores modelos de machine learning para classificação ou regressão, com base em seus dados. Você mantém total controle e visibilidade. O Amazon SageMaker AI Autopilot aceita dados de entrada em formato tabular. O Amazon SageMaker AI Autopilot oferece limpeza e pré-processamento automáticos de dados, seleção automática de algoritmos para regressão linear, classificação binária e classificação multiclasse. Ele também comporta otimização automática de hiperparâmetros (HPO), treinamento distribuído, instância automática e seleção de tamanho de cluster. Para obter informações sobre o Amazon SageMaker AI Autopilot, consulte Automate model development with Amazon SageMaker AI Autopilot no Guia do desenvolvedor do Amazon SageMaker AI.

  • O Amazon Bedrock é um serviço totalmente gerenciado que oferece uma variedade de modelos de base (FMs) de alto desempenho das principais empresas de IA, como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI e Amazon, por meio de uma única API, além de um amplo conjunto de recursos necessários para criar aplicações de IA generativa.