Share 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. Para conjuntos de valores menores, 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 machine learning. Para saber mais sobre spark.ml, acesse o Guia de programação de ML do Apache Spark.

ML automatizado do Azure Machine Learning (preterido)

O ML automatizado do Azure Machine Learning (aprendizado automatizado de máquina) ajuda a automatizar o processo de desenvolvimento de modelos de aprendizado de máquina. Com ele, cientistas de dados, analistas e desenvolvedores podem criar modelos de ML com alta escala, eficiência e produtividade, ao mesmo tempo em que dão suporte à qualidade do modelo. Os componentes para executar o SDK do ML automatizado do Azure Machine Learning são criados diretamente no Runtime do Synapse.

Aviso

  • A partir de 29 de setembro de 2023, o Azure Synapse interromperá o suporte oficial para Runtimes do Spark 2.4. Após 29 de setembro de 2023, não abordaremos nenhum tíquete de suporte relacionado ao Spark 2.4. Não haverá nenhum pipeline de lançamento em vigor para correções de bug ou de segurança do Spark 2.4. O uso do Spark 2.4 após a data de corte do suporte é por conta própria e risco do usuário. Desencorajamos fortemente seu uso contínuo devido a possíveis preocupações de segurança e funcionalidade.
  • Como parte do processo de substituição do Apache Spark 2.4, gostaríamos de notificar você de que o AutoML no Azure Synapse Analytics também será preterido. Isso inclui a interface de código baixo e as APIs usadas para criar avaliações do AutoML por meio de código.
  • Observe que a funcionalidade AutoML estava disponível exclusivamente por meio do runtime do Spark 2.4.
  • Para clientes que desejam continuar aproveitando as funcionalidades do AutoML, recomendamos salvar seus dados em sua conta do Azure Data Lake Storage Gen2 (ADLSg2). A partir daí, você pode acessar perfeitamente a experiência do AutoML por meio do Azure ML (Azure Machine Learning). Mais informações sobre essa solução alternativa estão disponíveis aqui.

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: