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.

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.

ML automatizado no Azure Machine Learning (preterido)

O Azure Machine Learning é um ambiente baseado na nuvem que lhe permite treinar, implementar, automatizar, gerir e acompanhar modelos de aprendizagem automática. O ML automatizado no Azure Machine Learning aceita dados de treinamento e definições de configuração e itera automaticamente por meio de combinações de diferentes métodos de normalização/padronização de recursos, modelos e configurações de hiperparâmetros para chegar ao melhor modelo.

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

Aviso

  • A partir de 29 de setembro de 2023, o Azure Synapse descontinuará o suporte oficial para o Spark 2.4 Runtimes. Após 29 de setembro de 2023, não abordaremos nenhum tíquete de suporte relacionado ao Spark 2.4. Não haverá pipeline de lançamento para bugs ou correções de segurança para o Spark 2.4. A utilização do Spark 2.4 após a data de corte do suporte é realizada por sua conta e risco. Desencorajamos fortemente o seu uso continuado devido a potenciais preocupações de segurança e funcionalidade.
  • Como parte do processo de substituição do Apache Spark 2.4, gostaríamos de notificá-lo de que o AutoML no Azure Synapse Analytics também será preterido. Isso inclui a interface low code e as APIs usadas para criar avaliações do AutoML por meio do código.
  • Observe que a funcionalidade AutoML estava disponível exclusivamente através do tempo de execução do Spark 2.4.
  • Para os clientes que desejam continuar aproveitando os recursos do AutoML, recomendamos salvar seus dados em sua conta do Azure Data Lake Storage Gen2 (ADLSg2). A partir daí, você pode acessar diretamente a experiência do AutoML por meio do Azure Machine Learning (AzureML). Mais informações sobre essa solução alternativa estão disponíveis aqui.

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: