Compartilhar via


Aprendizado de máquina com Apache Spark

O Apache Spark, no Azure Synapse Analytics, permite o aprendizado de máquina com Big Data, proporcionando a capacidade de obter insights valiosos de grandes quantidades de dados estruturados, não estruturados e em movimento rápido.

Esta seção inclui uma visão geral e tutoriais para fluxos de trabalho de aprendizado de máquina, incluindo análise de dados exploratória, engenharia de recursos, treinamento de modelo, pontuação de modelo e implantação.

Runtime do Synapse

O Runtime do Synapse é um ambiente organizado e otimizado para ciência de dados e aprendizado de máquina. Ele oferece uma variedade de bibliotecas open-source populares e compila no SDK do Azure Machine Learning por padrão. O Runtime do Synapse também inclui muitas bibliotecas externas, como PyTorch, Scikit-Learn, XGBoost, entre outras.

Para saber mais sobre as bibliotecas disponíveis e as versões relacionadas, leia a publicação sobre Runtime do Azure Synapse Analytics.

Análise exploratória de dados

Ao usar Apache Spark no Azure Synapse Analytics, há várias opções internas para ajudá-lo a visualizar seus dados, incluindo opções de gráfico do notebook Synapse, acesso a bibliotecas open-source populares, como Seaborn e Matplotlib, e a integração com o Synapse SQL e Power BI.

Para saber mais sobre as opções de visualização de dados e análise de dados, leia o artigo sobre como Visualizar dados usando notebooks Azure Synapse.

Engenharia de recursos

Por padrão, o Runtime do Synapse inclui um conjunto de bibliotecas que são comumente usadas para a engenharia de recursos. Em conjuntos de dados grandes, use o Spark SQL, o MLlib e o Koalas para a engenharia de recursos. Quanto aos conjuntos de dados menores, as bibliotecas de terceiros como NumPy, Pandas e Scikit-learn, também fornecem métodos úteis para esses cenários.

Treinar modelos

Há várias opções ao treinar modelos de aprendizado de máquina usando o Azure Spark no Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning e várias outras bibliotecas open-source.

Para saber mais sobre as funcionalidades de aprendizado de máquina, leia o artigo sobre como Treinar modelos no Azure Synapse Analytics.

SparkML e MLlib

As funcionalidades de computação distribuídas na memória do Spark fazem dele uma boa escolha para algoritmos iterativos usados em cálculos de grafo e aprendizado de máquina. spark.ml fornece um conjunto uniforme de APIs de alto nível que ajudam os usuários a criar e ajustar pipelines de aprendizado de máquina. Para saber mais sobre spark.ml, visite o guia de programação do Apache Spark ML.

Bibliotecas open-source

Cada pool do Apache Spark no Azure Synapse Analytics acompanha um conjunto de bibliotecas pré-carregadas e populares de aprendizado de máquina. Algumas bibliotecas de aprendizado de máquina relevantes que são incluídas por padrão são:

  • Scikit-Learn é uma das bibliotecas mais populares de machine learning de nó único para algoritmos clássicos de ML. O Scikit-Learn é compatível com a maioria dos algoritmos de aprendizado supervisionados e não supervisionados, podendo ainda ser usado para mineração de dados e análise de dados.

  • O XGBoost é uma biblioteca de machine learning popular que contém algoritmos otimizados para árvores de decisão de treinamento e florestas aleatórias.

  • PyTorch e Tensorflow são bibliotecas avançadas de aprendizado profundo do Python. Em um pool do Apache Spark no Azure Synapse Analytics, você pode usar essas bibliotecas para criar modelos de máquina única definindo o número de executores em seu pool como zero. Embora o Apache Spark não seja funcional nessa configuração, é uma maneira simples e econômica de criar modelos de máquina única.

Acompanhar o desenvolvimento de modelos

O MLFlow é uma biblioteca de open-source para gerenciar o ciclo de vida dos experimentos de aprendizado de máquina. MLFlow Tracking é um componente do MLflow que registra e rastreia suas métricas de execução de treinamento e artefatos do modelo. Para saber mais sobre como usar o MLFlow Tracking no Azure Synapse Analytics e Azure Machine Learning, consulte este tutorial sobre Como usar o MLFlow.

Pontuação do modelo

A pontuação do modelo, ou inferência, é a fase em que um modelo é usado para fazer previsões. Para pontuação de modelos com SparkML ou MLLib, você pode aproveitar os métodos nativos do Spark para fazer a inferência diretamente em um DataFrame Spark. Para outras bibliotecas e tipos de modelos open-source, você também pode criar uma UDF do Spark para escalar horizontalmente a inferência em conjuntos de dados grandes. Para conjuntos de dados menores, use as rotinas de inferência de modelo nativo fornecidas pela biblioteca.

Registrar e fornecer modelos

O registro de um modelo permite que você armazene, versione e rastreie metadados sobre modelos em seu espaço de trabalho. Depois de concluir o treinamento do modelo, você poderá registrar seu modelo no registro de modelo de Azure Machine Learning. Depois de registrados, os modelos ONNX também podem ser usados para enriquecer os dados armazenados em pools de SQL dedicados.

Próximas etapas

Para começar a usar o aprendizado de máquina no Azure Synapse Analytics, consulte os seguintes tutoriais: