SynapsEML (anteriormente conocido como MMLSpark) es una biblioteca de código abierto que simplifica la creación de tuberías de aprendizaje automático masivamente escalable (ML). SynapSeml proporciona API simples, compuestas y distribuidas para una amplia variedad de diferentes tareas de aprendizaje automático, como análisis de texto, visión, detección de anomalías y muchas otras. Synapseml se basa en el marco informático distribuido Apache Spark y comparte la misma API que la biblioteca SparkML/MLLIB, lo que le permite incrustar a la perfección los modelos SynapSeml en los flujos de trabajo de Apache Spark existentes.
Con SynapsEML, puede construir sistemas escalables e inteligentes para resolver desafíos en dominios como la detección de anomalías, la visión por computadora, el aprendizaje profundo, el análisis de texto y otros. SynapsEML puede entrenar y evaluar modelos en grupos de computadoras de un solo nodo, nodo múltiple y elásticamente reinichos. Esto le permite escalar su trabajo sin desperdiciar recursos. Synapseml se puede usar en Python, R, Scala, Java y .NET. Además, su API resume en una amplia variedad de bases de datos, sistemas de archivos y tiendas de datos en la nube para simplificar los experimentos sin importar dónde se encuentren los datos.
Synapseml requiere Scala 2.12, Spark 3.4+ y Python 3.8+.
| Temas | Campo de golf |
|---|---|
| Construir | |
| Versión | |
| Documento | |
| Apoyo | |
| Aglutinante | |
| Uso |
| Vowpal Wabbit en Spark | Los servicios cognitivos para big data | Lightgbm en chispa | Chispa por servicio |
| Análisis de texto rápido, escaso y efectivo | Aproveche los servicios cognitivos de Microsoft a escalas sin precedentes en sus tuberías SparkML existentes | Máquinas impulsadas por el gradiente de tren con LightGBM | Servir cualquier cálculo de chispa como servicio web con latencia sub-milisegundos |
| Http en chispa | Onnx en Spark | AI responsable | Autogeneración de unión a chispa |
| Una integración entre Spark y el protocolo HTTP, que permite la orquestación de microservicio distribuido | Inferencia del modelo distribuido y acelerado de hardware en Spark | Comprender los modelos de caja opaca y medir los sesgos del conjunto de datos | Genere automáticamente enlaces de chispa para Pyspark y Sparklyr |
| Bosque de aislamiento en Spark | Cyberml | Knn condicional |
| Detección distribuida no lineal | Herramientas de aprendizaje automático para la seguridad cibernética | Modelos KNN escalables con consultas condicionales |
Para obtener servicios rápidos, documentación, demostraciones y ejemplos, consulte nuestro sitio web.
Primero seleccione la plataforma correcta en la que está instalando SynapSeml en:
En Microsoft Fabric Notebooks Synapseml ya está instalado. Para cambiar la versión, coloque lo siguiente en la primera celda de su cuaderno.
%%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 "
}
}En los cuadernos de sinapsis de Azure, coloque lo siguiente en la primera celda de su cuaderno.
%%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 en el nivel de la piscina en lugar del nivel del cuaderno, agregue las propiedades de Spark enumeradas anteriormente a la configuración del grupo.
Para instalar Synapseml en la nube de Databricks, cree una nueva biblioteca a partir de coordenadas de Maven en su espacio de trabajo.
Para el uso de las coordenadas: com.microsoft.azure:synapseml_2.12:1.0.8 con el resolución: https://mmlspark.azureedge.net/maven . Asegúrese de que esta biblioteca esté conectada a su clúster de destino.
Finalmente, asegúrese de que su clúster Spark tenga al menos Spark 3.2 y Scala 2.12. Si encuentra problemas de dependencia de Netty, use DBR 10.1.
Puede usar SynapSeml en sus cuadernos Scala y Pyspark. Para comenzar con nuestros cuadernos de ejemplo, importe el siguiente archivo de Databricks:
https://mmlspark.blob.core.windows.net/dbcs/SynapseMLExamplesv1.0.8.dbc
Para probar SynapSeml en una instalación de Python (o conda), puede instalar Spark a través de PIP con pip install pyspark . Luego puede usar pyspark como en el ejemplo anterior, o desde 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 SynapsEml se puede instalar convenientemente en los clústeres de chispa existentes a través de la opción --packages , ejemplos:
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 Si está creando una aplicación Spark en Scala, agregue las siguientes líneas a su build.sbt :
libraryDependencies + = " com.microsoft.azure " % " synapseml_2.12 " % " 1.0.8 "Para instalar SynapsEML desde dentro de un cuaderno Jupyter servido por Apache Livy, se puede usar la siguiente magia de configuración. Deberá iniciar una nueva sesión después de ejecutar esta celda de configuración.
Excluir ciertos paquetes de la biblioteca puede ser necesario debido a problemas actuales con 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 "
}
}La forma más fácil de evaluar Synapseml es a través de nuestro contenedor de Docker pre-construido. Para hacerlo, ejecute el siguiente comando:
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes mcr.microsoft.com/mmlspark/release jupyter notebookNavegue a http: // localhost: 8888/en su navegador web para ejecutar los cuadernos de muestra. Vea la documentación para obtener más información sobre el uso de Docker.
Para leer el EULA para usar la imagen Docker, ejecutar
docker run -it -p 8888:8888 mcr.microsoft.com/mmlspark/release eula
Para probar SynapSeml utilizando los envoltorios R autogenados, consulte nuestras instrucciones. Nota: Esta característica aún está en desarrollo y se pueden faltar algunos envoltorios personalizados necesarios.
Synapseml ha pasado recientemente a una nueva infraestructura de compilación. Para obtener documentos de desarrollador detallados, consulte el desarrollador ReadMe
Si es un SynapSemLDegeloper existente, deberá reconfigurar su configuración de desarrollo. Ahora apoyamos el desarrollo independiente de la plataforma e integramos mejor con IntelliJ y SBT. Si encuentra problemas, comuníquese con nuestro correo electrónico de soporte.
Microservicios inteligentes a gran escala
Recuperación de imágenes condicionales
MMLSpark: unificadores de ecosistemas de aprendizaje automático a escamas masivas
Aprendizaje profundo flexible y escalable con Synapseml
Creación automática de audiolibros a gran escala
Visite nuestro sitio web.
Mire nuestras demostraciones clave en la Spark+AI Summit 2019, la Spark+AI European Summit 2018, The Spark+AI Summit 2018 y Synapseml en la Spark Summit.
Vea cómo se usa Synapseml para ayudar a las especies en peligro de extinción.
Explore obras de arte adversas generativas en nuestra colaboración con el Met y el MIT.
Explore nuestra colaboración con Apache Spark en el análisis de imágenes.
Este proyecto ha adoptado el Código de Conducta Open Open Microsoft. Para obtener más información, consulte el Código de Conducta Preguntas frecuentes o comuníquese con [email protected] con cualquier pregunta o comentario adicional.
Ver contribuyente. MD para las pautas de contribución.
Para dar retroalimentación y/o informar un problema, abra un problema de GitHub.
Vowpal Wabbit
Lightgbm
DMTK: Microsoft Distributed Machine Learning Toolkit
Recomendadores
Complemento JPMML-SPARKML para convertir modelos SynapSeml LightGBM en PMML
Kit de herramientas cognitivas de Microsoft
Apache®, Apache Spark y Spark® son marcas registradas o marcas registradas de la Fundación Apache Software en los Estados Unidos y/u otros países.