Synapseml(以前称为MMLSpark)是一个开源库,简化了大规模可扩展机器学习(ML)管道的创建。 Synapseml为各种不同的机器学习任务(例如文本分析,视觉,异常检测等)提供简单,组合和分布式的API。 SynapSeml建立在Apache Spark分布式计算框架上,并共享与SparkML/MLLIB库相同的API,从而使您可以无缝嵌入Synapseml模型中的现有Apache Spark Workfrows。
使用SynapSeml,您可以构建可扩展的智能系统,以解决诸如异常检测,计算机视觉,深度学习,文本分析等领域的挑战。 Synapseml可以在单节,多节点和可弹性解析的计算机簇上训练和评估模型。这使您可以扩展工作而不会浪费资源。突触可在Python,R,Scala,Java和.Net中使用。此外,其API在各种数据库,文件系统和云数据存储中都摘要,无论数据的位置如何,都可以简化实验。
Synapseml需要Scala 2.12,Spark 3.4+和Python 3.8+。
| 主题 | 链接 |
|---|---|
| 建造 | |
| 版本 | |
| 文档 | |
| 支持 | |
| 活页夹 | |
| 用法 |
| vowpal wabbit在火花 | 大数据的认知服务 | 火花上的lightgbm | 火花服务 |
| 快速,稀疏且有效的文本分析 | 在您现有的SparkML管道中,以前所未有的量表利用Microsoft认知服务 | 火车梯度提升机器带LightGBM | 将任何Spark Compution作为带有子毫秒延迟的Web服务 |
| http在火花上 | onnx在火花上 | 负责人AI | 火花结合自动化 |
| SPARK与HTTP协议之间的集成,启用分布式微服务编排 | Spark上的分布式和硬件加速模型推断 | 了解不透明的框模型并测量数据集偏见 | 自动生成Pyspark和Sparklyr的火花绑定 |
| 火花上的隔离森林 | Cyberml | 有条件的knn |
| 分布式非线性异常值检测 | 网络安全的机器学习工具 | 可伸缩的KNN模型和条件查询 |
有关快速启动,文档,演示和示例,请参阅我们的网站。
首先选择要安装Synapseml的正确平台:
在Microsoft Fabric Notebook中,Synapseml已安装。要更改版本,请将以下内容放在笔记本的第一个单元格中。
%%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 "
}
}在Azure Synapse笔记本中,请在笔记本的第一个单元格中放置以下内容。
%%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 "
}
}要在池级安装而不是笔记本电脑级别添加上面列出的火花属性到池配置。
要在Databricks Cloud上安装Synapseml,请在工作区中的Maven坐标创建一个新库。
对于坐标使用: com.microsoft.azure:synapseml_2.12:1.0.8 :synapseml_2.12:1.0.8与解析器: https://mmlspark.azureedge.net/maven 。确保将此库附加到您的目标群集上。
最后,确保您的火花簇至少具有Spark 3.2和Scala 2.12。如果您遇到Netty依赖性问题,请使用DBR 10.1。
您可以在Scala和Pyspark笔记本中使用Synapseml。首先,我们的示例笔记本导入以下数据核心存档:
https://mmlspark.blob.core.windows.net/dbcs/SynapseMLExamplesv1.0.8.dbc
要在Python(或Conda)安装上尝试突触,您可以使用PIP安装Pyspark通过pip install pyspark 。然后,您可以如上示例中使用pyspark ,也可以从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突触可以通过--packages选项,示例:
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如果您要在Scala中构建Spark应用程序,请在您的build.sbt中添加以下行:
libraryDependencies + = " com.microsoft.azure " % " synapseml_2.12 " % " 1.0.8 "要在Apache Livy提供的Jupyter笔记本中安装Synapseml,可以使用以下配置魔术。执行此配置单元格之后,您将需要启动新的会话。
由于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 "
}
}评估Synapseml的最简单方法是通过我们的预建码头容器。为此,运行以下命令:
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes mcr.microsoft.com/mmlspark/release jupyter notebook导航到http:// localhost:8888/在您的Web浏览器中运行示例笔记本。有关Docker使用的更多信息,请参见文档。
要阅读用于使用Docker映像的EULA,请运行
docker run -it -p 8888:8888 mcr.microsoft.com/mmlspark/release eula
要使用R自动化包装器尝试突触,请参阅我们的说明。注意:此功能仍在开发中,并且可能缺少一些必要的自定义包装器。
Synapseml最近已过渡到新的构建基础架构。有关详细的开发人员文档,请参阅开发人员readme
如果您是现有的SynapseMldeveloper,则需要重新配置开发设置。现在,我们支持平台独立开发,并更好地与Intellij和SBT集成。如果您遇到问题,请联系我们的支持电子邮件!
大规模智能微服务
有条件的图像检索
MMLSpark:统一机器学习生态系统大规模
灵活且可扩展的深度学习与Synapseml
大规模自动有声读物创建
访问我们的网站。
在2019年Spark+AI峰会,2018年Spark+AI欧洲峰会,Spark+AI Summit 2018和Synapseml上观看我们的主题演示。
查看突触如何用来帮助濒危物种。
在我们与大都会和麻省理工学院的合作中探索生成的对抗艺术品。
在图像分析上探索我们与Apache Spark的合作。
该项目采用了Microsoft开源的行为代码。有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系[email protected]。
有关贡献指南,请参见贡献。
要提供反馈和/或报告问题,请打开GitHub问题。
Vowpal Wabbit
Lightgbm
DMTK:微软分布式机器学习工具包
推荐人
JPMML-Sparkml插件,用于将Synapseml LightGBM型号转换为PMML
微软认知工具包
Apache®,Apache Spark和Spark®是美国和/或其他国家/地区的Apache Software Foundation的注册商标或商标。