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 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.

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.

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.

Serviços de IA do Azure

Os serviços de IA do Azure fornecem funcionalidades de machine learning para solucionar problemas de caráter geral, como uma análise de texto para sentimentos emocionais ou uma 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 de IA do Azure pré-treinados no Azure Synapse Analytics automaticamente .

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: