Processamento de atributos com SparkML e Scikit-learn - Amazon SageMaker

Processamento de atributos com SparkML e Scikit-learn

Antes de treinar um modelo com algoritmos pré-compilados ou algoritmos personalizados do Amazon SageMaker, você pode usar os pré-processadores Spark e scikit-learn para transformar seus dados e atributos de engenharia.

Processamento de atributos com o SparkML

Você pode executar trabalhos do SparkML com o AWSGlue, um serviço ETL (extração, transformação, carregamento) sem servidor, do seu caderno do SageMaker. Você também pode se conectar a clusters do EMR existentes para executar tarefas do SparkML com o Amazon EMR. Para fazê-lo, você precisa de uma função AWS Identity and Access Management (IAM) que concede permissão para fazer chamadas do seu caderno do SageMaker para AWS Glue.

nota

Para ver quais versões do Python e do Spark são compatíveis com o AWS Glue, consulte Notas da versão do AWS Glue.

Após a criação dos atributos, você empacota e serializa as tarefas do SparkML com MLeap em contêineres MLeap que você pode adicionar a um pipeline de inferência. Você não precisa usar clusters do Spark gerenciados externamente. Com essa abordagem, você pode dimensionar sem problemas de uma amostra de linhas a terabytes de dados. Como os mesmos transformadores funcionam tanto para treinamento quanto para inferência, você não precisa duplicar a lógica de pré-processamento e engenharia de atributos ou desenvolver uma solução única para fazer os modelos persistirem. Com os pipelines de inferência, você não precisa manter a infraestrutura externa e pode fazer predições diretamente das entradas de dados.

Quando você executa uma tarefa do SparkML no AWS Glue, um pipeline do SparkML é serializado no formato MLeap. Em seguida, você pode usar o trabalho com o SparkML Model Serving Container em um pipeline de inferência do SageMaker. O MLeap é um formato de serialização e um mecanismo de execução para pipelines de machine learning. Ele oferece apoio para Spark, Scikit-learn e TensorFlow para treinar pipelines e os exportar para um pipeline serializado chamado de pacote MLeap. Você pode desserializar os pacotes de volta no Spark para o escore no modo em lote ou no runtime do MLeap para fornecer serviços de API em tempo real.

Para ver um exemplo que mostra como criar atributos de processo com o Spark ML, consulte Treinar um modelo de ML usando o Apache Spark no Amazon EMR e implantar no caderno de amostra do SageMaker.

Processamento de atributos com Scikit-Learn

Você pode executar e empacotar trabalhos do scikit-learn em contêineres diretamente no Amazon SageMaker. Para um exemplo de código Python para a construção de um modelo de featurizer scikit-learn que é treinado no conjunto de dados de íris de Fisher (em inglês) e prevê as espécies de íris com base em medições morfológicas, consulte o tópico sobre Treinamento e predição IRIS com o Scikit-learn no Sagemaker (em inglês).