A sinapseml (anteriormente conhecida como MMLSpark), é uma biblioteca de código aberto que simplifica a criação de pipelines de aprendizado de máquina (ML) em massa escalável. A sinapseml fornece APIs simples, compostas e distribuídas para uma ampla variedade de tarefas diferentes de aprendizado de máquina, como análise de texto, visão, detecção de anomalia e muitos outros. A Synapseml é criada na estrutura de computação distribuída do Apache Spark e compartilha a mesma API que a biblioteca Sparkml/Mllib, permitindo que você incorpore os modelos de sinapseml incorporados perfeitamente nos fluxos de trabalho do Apache Spark existentes.
Com a sinapseml, você pode criar sistemas escaláveis e inteligentes para resolver desafios em domínios como detecção de anomalias, visão computacional, aprendizado profundo, análise de texto e outros. A sinapseml pode treinar e avaliar modelos em clusters de computadores de computadores de computadores. Isso permite escalar seu trabalho sem desperdiçar recursos. A sinapseml é utilizável em Python, R, Scala, Java e .Net. Além disso, sua API abstrai em uma ampla variedade de bancos de dados, sistemas de arquivos e lojas de dados em nuvem para simplificar os experimentos, independentemente de onde os dados estejam localizados.
A sinapseml requer Scala 2.12, Spark 3.4+ e Python 3.8+.
| Tópicos | Links |
|---|---|
| Construir | |
| Versão | |
| Documentos | |
| Apoiar | |
| Fichário | |
| Uso |
| Vowpal Wabbit na faísca | Os serviços cognitivos para big data | LightGBM na faísca | Spark porção |
| Análise de texto rápida, escassa e eficaz | Aproveite os serviços cognitivos do Microsoft em escalas sem precedentes em seus pipelines Sparkml existentes | Máquinas aumentadas de gradiente de trem com luz | Sirva qualquer cálculo de faísca como um serviço da web com latência sub-milissegunda |
| Http na faísca | Onnx no Spark | AI responsável | Autogeneração de ligação à faísca |
| Uma integração entre Spark e o protocolo HTTP, permitindo que a orquestração de microsserviço distribuída | Inferência do modelo distribuído e de hardware acelerado no Spark | Entenda os modelos de caixa opaca e meça vieses de conjunto de dados | Gere automaticamente ligações de faísca para Pyspark e Sparklyr |
| Floresta de isolamento em faísca | CyberMl | KNN condicional |
| Detecção externa não linear distribuída | Ferramentas de aprendizado de máquina para segurança cibernética | Modelos KNN escaláveis com consultas condicionais |
Para iniciantes rápidos, documentação, demos e exemplos, consulte nosso site.
Primeiro selecione a plataforma correta na qual você está instalando sinapseml:
No Microsoft Fabric Notebooks Synapseml já está instalado. Para alterar a versão, coloque o seguinte na primeira célula do seu notebook.
%%configure -f
{
" name " : " synapseml " ,
" conf " : {
" spark.jars.packages " : " com.microsoft.azure:synapseml_2.12:<THE_SYNAPSEML_VERSION_YOU_WANT> " ,
" spark.jars.repositories " : " https://mmlspark.azureedge.net/maven " ,
" spark.jars.excludes " : " org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind " ,
" spark.yarn.user.classpath.first " : " true " ,
" spark.sql.parquet.enableVectorizedReader " : " false "
}
}Nos cadernos do Azure Synapse, coloque o seguinte na primeira célula do seu notebook.
%%configure -f
{
" name " : " synapseml " ,
" conf " : {
" spark.jars.packages " : " com.microsoft.azure:synapseml_2.12:1.0.8 " ,
" spark.jars.repositories " : " https://mmlspark.azureedge.net/maven " ,
" spark.jars.excludes " : " org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind " ,
" spark.yarn.user.classpath.first " : " true " ,
" spark.sql.parquet.enableVectorizedReader " : " false "
}
}%%configure -f
{
" name " : " synapseml " ,
" conf " : {
" spark.jars.packages " : " com.microsoft.azure:synapseml_2.12:0.11.4-spark3.3 " ,
" spark.jars.repositories " : " https://mmlspark.azureedge.net/maven " ,
" spark.jars.excludes " : " org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind " ,
" spark.yarn.user.classpath.first " : " true " ,
" spark.sql.parquet.enableVectorizedReader " : " false "
}
}Para instalar no nível da piscina, em vez do nível de notebook, adicione as propriedades do Spark listadas acima à configuração do pool.
Para instalar o SynaSeml na nuvem Databricks, crie uma nova biblioteca a partir de coordenadas do MAVEN em seu espaço de trabalho.
Para as coordenadas, use: com.microsoft.azure:synapseml_2.12:1.0.8 com o resolvedor: https://mmlspark.azureedge.net/maven . Verifique se esta biblioteca está anexada ao (s) cluster (s) de destino (s).
Por fim, verifique se o seu cluster de faísca possui pelo menos o Spark 3.2 e o Scala 2.12. Se você encontrar problemas de dependência da rede, use o DBR 10.1.
Você pode usar sinapseml nos notebooks Scala e Pyspark. Para começar com nossos notebooks de exemplo, importe o seguinte Arquivo de Databricks:
https://mmlspark.blob.core.windows.net/dbcs/SynapseMLExamplesv1.0.8.dbc
Para experimentar a SynaSeml em uma instalação Python (ou CONDA), você pode instalar o Spark via Pip com pip install pyspark . Você pode usar pyspark como no exemplo acima, ou do Python:
import pyspark
spark = pyspark . sql . SparkSession . builder . appName ( "MyApp" )
. config ( "spark.jars.packages" , "com.microsoft.azure:synapseml_2.12:1.0.8" )
. getOrCreate ()
import synapse . ml A sinapseml pode ser convenientemente instalada nos clusters de faísca existentes através da opção --packages , exemplos:
spark-shell --packages com.microsoft.azure:synapseml_2.12:1.0.8
pyspark --packages com.microsoft.azure:synapseml_2.12:1.0.8
spark-submit --packages com.microsoft.azure:synapseml_2.12:1.0.8 MyApp.jar Se você estiver construindo um aplicativo Spark em Scala, adicione as seguintes linhas à sua build.sbt :
libraryDependencies + = " com.microsoft.azure " % " synapseml_2.12 " % " 1.0.8 "Para instalar a sinapseml a partir de um notebook Jupyter servido pelo Apache Livy, a seguinte configuração mágica pode ser usada. Você precisará iniciar uma nova sessão depois que esta célula configurada for executada.
Excluindo certos pacotes da biblioteca pode ser necessária devido a problemas atuais com Livy 0,5.
%%configure -f
{
" name " : " synapseml " ,
" conf " : {
" spark.jars.packages " : " com.microsoft.azure:synapseml_2.12:1.0.8 " ,
" spark.jars.excludes " : " org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind "
}
}A maneira mais fácil de avaliar a sinapseml é através do nosso recipiente pré-construído. Para fazer isso, execute o seguinte comando:
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes mcr.microsoft.com/mmlspark/release jupyter notebookNavegue para http: // localhost: 8888/no seu navegador da web para executar os notebooks de amostra. Consulte a documentação para saber mais sobre o uso do Docker.
Para ler o Eula para usar a imagem do Docker, execute
docker run -it -p 8888:8888 mcr.microsoft.com/mmlspark/release eula
Para experimentar a sinapseml usando os invólucros autogenerados, veja nossas instruções. Nota: Esse recurso ainda está em desenvolvimento e alguns invólucros personalizados necessários podem estar faltando.
A sinapseml passou recentemente para uma nova infraestrutura de construção. Para documentos detalhados do desenvolvedor, consulte o desenvolvedor Readme
Se você é um Sinapsemldeveloper existente, precisará reconfigurar sua configuração de desenvolvimento. Agora, apoiamos o desenvolvimento independente da plataforma e integramos melhor com o Intellij e o SBT. Se você encontrar problemas, entre em contato com nosso e -mail de suporte!
Microsserviços inteligentes em larga escala
Recuperação de imagem condicional
MMLSPARK: UNIFICAÇÃO DE ECOSSistemas de aprendizado de máquina em escalas maciças
Aprendizado profundo flexível e escalável com sinapseml
Criação automática de audiolivro em larga escala
Visite nosso site.
Assista às nossas demos principais na cúpula Spark+AI 2019, The Spark+AI European Summit 2018, The Spark+AI Summit 2018 e Synapseml no Spark Summit.
Veja como a sinapseml é usada para ajudar as espécies ameaçadas de extinção.
Explore obras de arte adversárias generativas em nossa colaboração com o Met e o MIT.
Explore nossa colaboração com o Apache Spark na análise de imagem.
Este projeto adotou o Código de Conduta Open Microsoft. Para obter mais informações, consulte o Código de Conduta Perguntas frequentes ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.
Consulte Contribuindo.md para diretrizes de contribuição.
Para fornecer feedback e/ou relatar um problema, abra um problema do GitHub.
Vowpal Wabbit
LightGBM
DMTK: Microsoft Distributed Machine Learning Toolkit
Recomendadores
Plugin jpmml-sparkml para converter modelos de sinapseml lâmpada para pmml
Microsoft Cognitive Toolkit
Apache®, Apache Spark e Spark® são marcas registradas ou marcas comerciais da Apache Software Foundation nos Estados Unidos e/ou em outros países.