Compilar modelos de aprendizado de máquina

O Apache Spark, no Azure Synapse Analytics, permite o machine learning com Big Data, proporcionando a capacidade de obter insights valiosos de grandes quantidades de dados estruturados, não estruturados e em movimento rápido. Há várias opções ao treinar modelos de machine learning usando o Azure Spark no Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning e várias outras bibliotecas open-source.

Apache SparkML e MLLib

O Apache Spark no Azure Synapse Analytics é uma das implementações da Microsoft do Apache Spark na nuvem. Ele fornece uma estrutura de processamento de dados unificada, paralela e de open-source que dá suporte ao processamento na memória para aumentar a análise de Big Data. O mecanismo de processamento do Spark foi desenvolvido para velocidade, facilidade de uso e análise sofisticada. 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.

Há três bibliotecas de aprendizado de máquina escalonáveis que oferecem recursos de modelagem de algoritmo para esse ambiente distribuído: MLlib e SparkML. O MLlib contém a API original criada com base em RDDs. O SparkML é um pacote mais recente que fornece uma API de nível superior criada com base em DataFrames para a construção de pipelines do ML. O SparkML ainda não fornece suporte a todos os recursos do MLlib, mas está substituindo o MLlib como biblioteca de machine learning padrão do Spark.

Observação

Você pode saber mais sobre como criar um modelo SparkML seguindo este tutorial.

Cada pool do Apache Spark no Azure Synapse Analytics acompanha um conjunto de bibliotecas pré-carregadas e populares de machine learning. Essas bibliotecas fornecem código reutilizável que você talvez queira incluir em seus programas ou projetos. Algumas bibliotecas de machine learning 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 & 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.

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

MMLSpark

A biblioteca do Microsoft Azure Machine Learning para Apache Spark é MMLSpark. Essa biblioteca é projetada para tornar os cientistas de dados mais produtivos no Spark, aumentar a taxa de experimentação e aproveitar técnicas de machine learning avançadas, incluindo aprendizado profundo, em conjuntos de dados muito grandes.

O MMLSpark fornece uma camada com base em APIs de baixo nível do SparkML ao construir modelos de ML escalonáveis, como indexação de cadeias de caracteres, forçar dados em um layout esperado por algoritmos de aprendizado de máquina e montagem de vetores de recursos. A biblioteca do MMLSpark simplifica essas e outras tarefas comuns para criação de modelos no PySpark.

ML automatizado no Azure Machine Learning

O Azure Machine Learning é um ambiente baseado em nuvem que permite treinar, implantar, automatizar, gerenciar e acompanhar modelos de machine learning. O ML automatizado no Azure Machine Learning aceita dados de treinamento e configurações e itera automaticamente por meio de combinações de configurações de hiperparâmetro, modelos e métodos de normalização/padronização de diferentes recursos para chegar ao melhor modelo.

Ao usar ML automatizado no Azure Synapse Analytics, você pode aproveitar a integração profunda entre os diferentes serviços para simplificar a autenticação e o treinamento de modelo.

Observação

Você pode saber mais sobre como criar um experimento de ML automatizado do Azure Machine Learning seguindo este tutorial.

Serviços Cognitivos do Azure

Os Serviços Cognitivos do Azure fornecem funcionalidades de machine learning para resolver problemas gerais, como a análise de texto para sentimentos emocionais ou a análise de imagens para reconhecimento de objetos ou rostos. Você não precisa de machine learning especial nem de conhecimento de ciência de dados para usar esses serviços. Um Serviço Cognitivo fornece uma parte ou todos os componentes de uma solução de machine learning: dados, algoritmo e modelo treinado. Esses serviços destinam-se a exigir conhecimento geral sobre seus dados sem a necessidade de experiência com machine learning nem ciência de dados. Você pode aproveitar esses Serviços Cognitivos pré-treinados automaticamente no Azure Synapse Analytics.

Próximas etapas

Este artigo fornece uma visão geral das várias opções para treinar modelos de machine learning em pools do Apache Spark no Azure Synapse Analytics. Você pode saber mais sobre o treinamento de modelo seguindo o tutorial abaixo: