O que é SynapseML?

O SynapseML (anteriormente conhecido como MMLSpark) é uma biblioteca de software livre que simplifica a criação de pipelines de ML (machine learning) e LLM massivamente escalonáveis. O SynapseML fornece APIs simples, composáveis e distribuídas para tarefas de aprendizado de máquina, como análise de texto, pesquisa visual computacional e detecção de anomalias. O SynapseML é criado na estrutura de computação distribuída do Apache Spark e usa a mesma API que a biblioteca Spark MLlib. Esse alinhamento permite inserir modelos SynapseML em fluxos de trabalho do Apache Spark existentes.

Com o SynapseML, crie sistemas escalonáveis e inteligentes para resolver desafios em domínios como detecção de anomalias, pesquisa visual computacional, aprendizado profundo e análise de texto. O SynapseML treina e avalia modelos em clusters de nó único, vários nós e elasticamente redimensionáveis. Essa abordagem permite dimensionar seu trabalho sem desperdiçar recursos. O SynapseML funciona com Python, R, Scala, Java e .NET. Sua API funciona com muitos bancos de dados, sistemas de arquivos e armazenamentos de dados de nuvem para simplificar experimentos, independentemente de onde os dados estejam.

Para incorporar transformações baseadas em IA em seus fluxos de trabalho de dados, recomendamos o Fabric AI Functions como a abordagem mais simples. Para processamento distribuído com controle total, consulte Usar o Azure OpenAI com SynapseML.

Installation

O SynapseML é pré-instalado em runtimes do Fabric PySpark. Uma versão específica pode ser instalada referenciando a página de instalação.

Vá para o Início Rápido: seus modelos iniciais para criar seu pipeline inicial. Consulte OpenAI.ipynb para ver exemplos de como usar o Azure OpenAI com SynapseML.

Principais recursos do SynapseML

O SynapseML oferece integração fácil e recursos pré-treinados para ajudá-lo a entender melhor e aplicar dados às suas necessidades de negócios. O SynapseML unifica várias estruturas de ML existentes e estende as chamadas à API llm em escala, juntamente com novos algoritmos da Microsoft em uma única API escalonável que é utilizável em Python, R, Scala e Java. O SynapseML também ajuda os desenvolvedores a entender as previsões de modelo introduzindo novas ferramentas para revelar por que os modelos fazem determinadas previsões e como melhorar o conjunto de dados de treinamento para eliminar preconceitos.

Uma API unificada para criar, treinar e pontuar modelos

O SynapseML oferece uma API unificada que simplifica o desenvolvimento de programas distribuídos tolerantes a falhas. Em particular, o SynapseML expõe muitas estruturas de machine learning diferentes em uma única API que é escalonável, independente de dados e linguagem, e funciona para aplicativos em lote, streaming e serviço.

Uma API unificada padroniza muitas ferramentas, estruturas e algoritmos e simplifica a experiência de aprendizado de máquina distribuída. Ele permite que os desenvolvedores componham rapidamente estruturas diferentes de machine learning, mantém o código limpo e dá suporte a fluxos de trabalho que exigem mais de uma estrutura. Por exemplo, fluxos de trabalho, como aprendizado supervisionado pela Web ou criação do mecanismo de pesquisa, exigem vários serviços e estruturas. O SynapseML protege os usuários dessa complexidade extra.

Usar modelos inteligentes predefinidos

Muitas ferramentas no SynapseML não exigem um grande conjunto de dados de treinamento rotulado. Em vez disso, o SynapseML fornece APIs simples para serviços inteligentes predefinidos, como o Foundry Tools, para resolver rapidamente desafios de IA em larga escala relacionados a negócios e pesquisas. O SynapseML permite que os desenvolvedores insiram mais de 50 diferentes serviços de ML de última geração diretamente em seus sistemas e bancos de dados. Esses algoritmos prontos para uso podem analisar uma ampla variedade de documentos, transcrever conversas de vários locutores em tempo real e traduzir texto em mais de 100 idiomas.

Para obter a abordagem mais simples de usar o Azure OpenAI no Fabric, considere o AI Functions, que fornece extensões Pandas e PySpark DataFrame com código mínimo. Para processamento distribuído com controle total, consulte Usar o Azure OpenAI com SynapseML. Para obter mais exemplos de como usar a IA pré-criada para resolver tarefas rapidamente, consulte os exemplos "cognitivos" do SynapseML.

Para tornar a integração do SynapseML com o Foundry Tools rápida e eficiente, o SynapseML apresenta muitas otimizações para fluxos de trabalho orientados a serviços. Em particular, o SynapseML analisa automaticamente respostas comuns de limitação para garantir que os trabalhos não sobrecarreguem os serviços de back-end. Além disso, ele usa retiradas exponenciais para lidar com conexões de rede não confiáveis e respostas com falha. Por fim, as máquinas de trabalho do Spark permanecem ocupadas com novos primitivos de paralelismo assíncrono. O paralelismo assíncrono permite que os computadores de trabalho enviem solicitações enquanto aguardam uma resposta do servidor e podem produzir um aumento de dez vezes na taxa de transferência.

Ampla compatibilidade do ecossistema com o ONNX

O SynapseML permite que os desenvolvedores usem modelos de vários ecossistemas de ML diferentes por meio da estrutura do ONNX (Open Neural Network Exchange). Com essa integração, você pode executar uma ampla variedade de modelos clássicos e de aprendizado profundo em escala com apenas algumas linhas de código. O SynapseML manipula automaticamente a distribuição de modelos ONNX para nós de trabalho, além de agrupar e armazenar em buffer os dados de entrada para maximizar o desempenho e agendar tarefas em aceleradores de hardware.

Trazer o ONNX para o Spark não só ajuda os desenvolvedores a dimensionar modelos de aprendizado profundo, mas também permite a inferência distribuída em uma ampla variedade de ecossistemas de ML. Em particular, ONNXMLTools converte modelos do TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O e PyTorch em ONNX para inferência acelerada e distribuída usando SynapseML.

Criar sistemas de IA responsáveis

Depois de criar um modelo, é imperativo que pesquisadores e engenheiros entendam suas limitações e comportamento antes da implantação. O SynapseML ajuda desenvolvedores e pesquisadores a criar sistemas de IA responsáveis introduzindo novas ferramentas que revelam por que os modelos fazem determinadas previsões e como melhorar o conjunto de dados de treinamento para eliminar preconceitos. O SynapseML acelera drasticamente o processo de compreensão do modelo treinado de um usuário, permitindo que os desenvolvedores distribuam a computação entre centenas de computadores. Mais especificamente, o SynapseML inclui implementações distribuídas de SHAP (Explicações Aditivas Shapley) e LIME (Explicações Interpretáveis Localmente sem Dependência do Modelo) para explicar as previsões de modelos de visão computacional, texto e tabulares. Ele também inclui ferramentas como ICE (Expectativa Condicional Individual) e análise de dependência parcial para reconhecer conjuntos de dados tendenciosos.

Suporte corporativo no Azure Synapse Analytics

O SynapseML geralmente está disponível no Azure Synapse Analytics com suporte corporativo. Crie pipelines de machine learning em grande escala usando Ferramentas Foundry, LightGBM, ONNX e outros recursos selecionados do SynapseML. Use modelos para prototipar rapidamente sistemas distribuídos de aprendizado de máquina, como mecanismos de busca visual, fluxos de trabalho de manutenção preditiva e tradução de documentos.

Usando serviços de IA no Fabric

Recursos do SynapseML