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.
Treinar modelos com o ML automatizado do Azure Machine Learning
Outra maneira de treinar modelos de aprendizado de máquina, que não requer muita familiaridade prévia com o aprendizado de máquina, é usar ML automatizado. O ML automatizado é um recurso que treina automaticamente um conjunto de modelos de aprendizado de máquina 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 dos Blocos de Anotações Synapse do Azure, os usuários podem facilmente aproveitar o ML automatizado no Synapse com a autenticação de passagem do Microsoft Entra. Isso significa que você só precisa apontar para seu espaço de trabalho do Azure Machine Learning e não precisa inserir nenhuma credencial. O tutorial, Train a model in Python with automated machine learning, descreve como treinar modelos usando o ML automatizado do Azure Machine Learning em Synapse Spark Pools.
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.
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 é aproveitar 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.