Preparar modelos de machine learning
O Apache Spark no Azure Synapse Analytics permite o aprendizado de máquina com big data, fornecendo a capacidade de obter informações valiosas de grandes quantidades de dados estruturados, não estruturados e em rápida movimentação. 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 de código aberto.
Apache SparkML e MLlib
O Apache Spark no Azure Synapse Analytics é uma das implementações da Microsoft do Apache Spark na cloud. Ele fornece uma estrutura de processamento de dados unificada, de código aberto e paralela que suporta o processamento na memória para impulsionar a análise de big data. O mecanismo de processamento Spark foi criado para velocidade, facilidade de uso e análises sofisticadas. Os recursos de computação distribuída em memória do Spark o tornam uma boa escolha para os algoritmos iterativos usados em aprendizado de máquina e cálculos gráficos.
Há duas bibliotecas escaláveis de aprendizado de máquina que trazem recursos de modelagem algorítmica para esse ambiente distribuído: MLlib e SparkML. MLlib contém a API original construída sobre RDDs. O SparkML é um pacote mais recente que fornece uma API de nível mais alto construída sobre DataFrames para construir pipelines de ML. O SparkML ainda não suporta todos os recursos do MLlib, mas está substituindo o MLlib como a biblioteca padrão de aprendizado de máquina do Spark.
Nota
Você pode saber mais sobre como criar um modelo SparkML seguindo este tutorial.
Bibliotecas populares
Cada pool do Apache Spark no Azure Synapse Analytics vem com um conjunto de bibliotecas de aprendizado de máquina pré-carregadas e populares. Essas bibliotecas fornecem código reutilizável que você pode querer incluir em seus programas ou projetos. Algumas das bibliotecas de aprendizado de máquina relevantes incluídas por padrão incluem:
O Scikit-learn é uma das bibliotecas de aprendizado de máquina de nó único mais populares para algoritmos clássicos de ML. O Scikit-learn suporta a maioria dos algoritmos de aprendizagem supervisionada e não supervisionada e também pode ser usado para mineração e análise de dados.
XGBoost é uma biblioteca de aprendizado de máquina popular que contém algoritmos otimizados para treinar árvores de decisão e florestas aleatórias.
PyTorch & Tensorflow são poderosas bibliotecas de aprendizagem profunda em Python. Dentro de 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. Mesmo que o Apache Spark não seja funcional nessa configuração, é uma maneira simples e econômica de criar modelos de máquina única.
Você pode saber mais sobre as bibliotecas disponíveis e versões relacionadas exibindo o tempo de execução publicado do Azure Synapse Analytics.
MMLSpark
A biblioteca do Microsoft Machine Learning para Apache Spark é MMLSpark. Esta biblioteca foi projetada para tornar os cientistas de dados mais produtivos no Spark, aumentar a taxa de experimentação e aproveitar técnicas de aprendizado de máquina de ponta, incluindo aprendizado profundo, em grandes conjuntos de dados.
O MMLSpark fornece uma camada sobre as APIs de baixo nível do SparkML ao criar modelos de ML escaláveis, como indexação de cadeias de caracteres, coerção de dados em um layout esperado por algoritmos de aprendizado de máquina e montagem de vetores de recursos. A biblioteca MMLSpark simplifica essas e outras tarefas comuns para a construção de modelos no PySpark.
Serviços de IA do Azure
Os serviços de IA do Azure fornecem recursos de aprendizado de máquina para resolver problemas gerais, como analisar texto em busca de sentimento emocional ou analisar imagens para reconhecer objetos ou rostos. Não precisa de conhecimentos de machine learning ou ciência de dados para utilizar estes serviços. Um Serviço Cognitivo fornece parte ou todos os componentes de uma solução de aprendizado de máquina: dados, algoritmo e modelo treinado. Esses serviços destinam-se a exigir conhecimento geral sobre seus dados sem a necessidade de experiência com aprendizado de máquina ou ciência de dados. Você pode aproveitar esses serviços de IA do Azure pré-treinados automaticamente no Azure Synapse Analytics.
Próximos passos
Este artigo fornece uma visão geral das várias opções para treinar modelos de aprendizado de máquina em pools do Apache Spark no Azure Synapse Analytics. Você pode aprender mais sobre o treinamento de modelo seguindo o tutorial abaixo:
- Executar experimentos de ML automatizados usando o Azure Machine Learning e o Azure Synapse Analytics: Tutorial de ML automatizado
- Executar experimentos do SparkML: Apache SparkML Tutorial
- Exibir as bibliotecas padrão: tempo de execução do Azure Synapse Analytics