Funcionalidades do Machine Learning no Azure Synapse Analytics

O Azure Synapse Analytics oferece várias funcionalidades de machine learning. Este artigo fornece uma visão geral de como você pode aplicar Machine Learning no contexto do Azure Synapse.

Esta visão geral aborda as diferentes funcionalidades do Azure Synapse, relacionadas a machine learning, de uma perspectiva do processo de ciência de dados.

Você talvez já tenha familiaridade com a aparência de um processo típico de ciência de dados. É um processo bem conhecido, que a maioria dos projetos de machine learning segue.

Em um alto nível, o processo contém as seguintes etapas:

  • Reconhecimento comercial (não discutido neste artigo)
  • Compreensão e aquisição de dados
  • Modelagem
  • Implantação de modelo e pontuação

Este artigo descreve as funcionalidades de machine learning do Azure Synapse em diferentes mecanismos de análise, de uma perspectiva do processo de ciência de dados. Para cada etapa no processo de ciência de dados, as funcionalidades do Azure Synapse que podem ajudar são resumidas.

Compreensão e aquisição de dados

A maioria dos projetos de machine learning envolvem etapas bem estabelecidas e uma dessas etapas é acessar e entender os dados.

Fonte de dados e pipelines

Graças ao Azure Data Factory, uma parte nativamente integrada do Azure Synapse, há um avançado conjunto de ferramentas disponível para pipelines de orquestração e ingestão de dados. Isso permite que você crie facilmente pipelines de dados para acessar e transformar os dados em um formato que possa ser consumido para machine learning. Saiba mais sobre pipelines de dados no Azure Synapse.

Preparação e exploração/visualização de dados

Uma parte importante do processo de machine learning é entender os dados por exploração e visualizações.

Dependendo de onde os dados são armazenados, o Azure Synapse oferece um conjunto de ferramentas diferentes para explorá-los e prepará-los para análise e machine learning. Uma das maneiras mais rápidas de começar a explorar dados é usar os pools de SQL sem servidor ou do Apache Spark diretamente sobre os dados no data lake.

Modelagem

No Azure Synapse, os modelos de machine learning de treinamento podem ser executados nos pools do Apache Spark com ferramentas como PySpark/Python, Scala ou .NET.

Treinar modelos em pools do Spark com MLlib

Os modelos de machine learning podem ser treinados com a ajuda de vários algoritmos e bibliotecas. O Spark MLlib oferece algoritmos de machine learning escalonáveis que podem ajudar a resolver os problemas de machine learning mais clássicos. Para obter um tutorial sobre como treinar um modelo usando o MLlib no Synapse, consulte Criar um aplicativo de Machine Learning com o Apache Spark MLlib e o Azure Synapse Analytics.

Além do MLlib, bibliotecas populares, como Scikit Learn, também podem ser usadas para desenvolver modelos. Confira Gerenciar bibliotecas para Apache Spark no Azure Synapse Analytics para obter detalhes sobre como instalar bibliotecas em pools do Synapse Spark.

Treinar modelos com o ML automatizado do Azure Machine Learning

Outro modo de treinar modelos de machine learning, que não requer muita familiaridade com machine learning, é usar o ML automatizado. O ML automatizado é um recurso que treina automaticamente um conjunto de modelos de machine learning e permite que o usuário selecione o melhor modelo com base em métricas específicas. Graças a uma integração perfeita com o Azure Machine Learning a partir dos Notebooks do Azure Synapse, os usuários podem aproveitar facilmente o ML automatizado no Synapse com autenticação do Microsoft Entra. Isso significa que você só precisa apontar para seu Workspace do Azure Machine Learning e não precisa inserir nenhuma credencial. O tutorial, Treine um modelo em Python com machine learning automatizado que descreve como treinar modelos usando o ML automatizado do Azure Machine Learning em Pools do Spark do Azure 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.

Implantação de modelo e pontuação

Os modelos que foram treinados no Azure Synapse ou fora dele podem ser facilmente usados para a pontuação de lote. Atualmente, há dos modos de execução de pontuação de lote no Azure Synapse.

  • Você pode usar a função PREDICT do TSQL em pools de SQL do Synapse para executar suas previsões no local em que seus dados residem. Essa função avançada e escalonável permite enriquecer seus dados sem mover dados para fora do seu data warehouse. Uma nova experiência guiada de modelo de machine learning no Synapse Studio foi introduzida. Nela, você pode implantar um modelo ONNX do registro de modelos do Azure Machine Learning em pools de SQL do Synapse para a pontuação de lote usando PREDICT.

  • Outra opção para a pontuação de lote de modelos de machine learning no Azure Synapse é aproveitar os pools do Apache Spark para o Azure Synapse. Dependendo das bibliotecas usadas para treinar os modelos, você pode usar uma experiência de código para executar a pontuação de lote.

SynapseML

O SynapseML (anteriormente conhecido como MMLSpark) é uma biblioteca de código aberto que simplifica a criação de pipelines de ML (aprendizado de máquina) massivamente escalonáveis. É um ecossistema de ferramentas usado para expandir a estrutura do Apache Spark em várias direções novas. O SynapseML unifica várias estruturas de aprendizado de máquina existentes e novos algoritmos da Microsoft em uma API única e escalonável que pode ser utilizada em Python, R, Scala, .NET e Java. Para saber mais, confira os principais recursos do SynapseML.

Próximas etapas