Capacidades de Machine Learning no Azure Synapse Analytics
O Azure Synapse Analytics oferece vários recursos de aprendizado de máquina. Este artigo fornece uma visão geral de como você pode aplicar o Machine Learning no contexto do Azure Synapse.
Esta visão geral abrange os diferentes recursos do Synapse relacionados ao aprendizado de máquina, de uma perspetiva de processo de ciência de dados.
Você pode estar familiarizado 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:
- Compreensão de negócios (não discutida neste artigo)
- Aquisição e compreensão de dados
- Modelação
- Implantação e pontuação do modelo
Este artigo descreve os recursos de aprendizado de máquina do Azure Synapse em diferentes mecanismos de análise, de uma perspetiva de processo de ciência de dados. Para cada etapa do processo de ciência de dados, os recursos do Azure Synapse que podem ajudar são resumidos.
Aquisição e compreensão de dados
A maioria dos projetos de aprendizado de máquina envolve 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 poderoso conjunto de ferramentas disponíveis para pipelines de ingestão e orquestração de dados. Isso permite que você crie facilmente pipelines de dados para acessar e transformar os dados em um formato que pode ser consumido para aprendizado de máquina. Saiba mais sobre pipelines de dados no Synapse.
Preparação de dados e exploração/visualização de dados
Uma parte importante do processo de aprendizado de máquina é entender os dados por exploração e visualizações.
Dependendo de onde os dados são armazenados, a Synapse oferece um conjunto de ferramentas diferentes para explorá-los e prepará-los para análises e aprendizado de máquina. Uma das maneiras mais rápidas de começar com a exploração de dados é usar o Apache Spark ou pools SQL sem servidor diretamente sobre os dados no data lake.
O Apache Spark for Azure Synapse oferece recursos para transformar, preparar e explorar seus dados em escala. Esses pools de faíscas oferecem ferramentas como PySpark/Python, Scala e .NET para processamento de dados em escala. Usando poderosas bibliotecas de visualização, a experiência de exploração de dados pode ser aprimorada para ajudar a entender melhor os dados. Saiba mais sobre como explorar e visualizar dados no Synapse usando o Spark.
Os pools SQL sem servidor oferecem uma maneira de explorar dados usando TSQL diretamente no data lake. Os pools SQL sem servidor também oferecem algumas visualizações internas no Synapse Studio. Saiba mais sobre como explorar dados com pools SQL sem servidor.
Modelação
No Azure Synapse, o treinamento de modelos de aprendizado de máquina pode ser executado nos Apache Spark Pools com ferramentas como PySpark/Python, Scala ou .NET.
Modelos de trem em piscinas de faísca com MLlib
Os modelos de aprendizado de máquina podem ser treinados com a ajuda de vários algoritmos e bibliotecas. O Spark MLlib oferece algoritmos de aprendizado de máquina escaláveis que podem ajudar a resolver a maioria dos problemas clássicos de aprendizado de máquina. Para obter um tutorial sobre como treinar um modelo usando MLlib no Synapse, consulte Criar um aplicativo de aprendizado de máquina com o Apache Spark MLlib e o Azure Synapse Analytics.
Além do MLlib, bibliotecas populares como o Scikit Learn também podem ser usadas para desenvolver modelos. Consulte Gerenciar bibliotecas para o Apache Spark no Azure Synapse Analytics para obter detalhes sobre como instalar bibliotecas no Synapse Spark Pools.
Implantação e pontuação do modelo
Os modelos que foram treinados no Azure Synapse ou fora do Azure Synapse podem ser facilmente usados para pontuação em lote. Atualmente no Synapse, há duas maneiras de executar a pontuação em lote.
Você pode usar a função TSQL PREDICT em pools SQL Synapse para executar suas previsões exatamente onde seus dados estão. Esta função poderosa e escalável permite-lhe enriquecer os seus dados sem mover quaisquer dados para fora do seu armazém de dados. Foi introduzida uma nova experiência de modelo de aprendizagem automática guiada no Synapse Studio , onde pode implementar um modelo ONNX a partir do registo do modelo do Azure Machine Learning nos Pools SQL do Synapse para pontuação em lote utilizando PREDICT.
Outra opção para modelos de aprendizado de máquina de pontuação em lote no Azure Synapse é usar os Apache Spark Pools para Azure Synapse. Dependendo das bibliotecas usadas para treinar os modelos, você pode usar uma experiência de código para executar sua pontuação em lote.
SinapseML
SynapseML (anteriormente conhecido como MMLSpark), é uma biblioteca de código aberto que simplifica a criação de pipelines de aprendizado de máquina (ML) massivamente escaláveis. É um ecossistema de ferramentas usadas para expandir a estrutura do Apache Spark em várias novas direções. O SynapseML unifica várias estruturas de aprendizado de máquina existentes e novos algoritmos da Microsoft em uma única API escalável que pode ser usada em Python, R, Scala, .NET e Java. Para saber mais, consulte os principais recursos do SynapseML.