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的註冊商標或商標。