Synapseml(以前はMMLSparkとして知られていました)は、非常にスケーラブルな機械学習(ML)パイプラインの作成を簡素化するオープンソースライブラリです。 SynapsEMLは、テキスト分析、ビジョン、異常検出など、さまざまな機械学習タスクに、シンプルで構成可能なAPIを提供します。 Synapsemlは、Apache Spark分散コンピューティングフレームワーク上に構築されており、SparkMl/Mllibライブラリと同じAPIを共有しているため、Synapsemlモデルを既存のApache Sparkワークフローにシームレスに埋め込むことができます。
SynapsEMLを使用すると、スケーラブルでインテリジェントなシステムを構築して、異常検出、コンピュータービジョン、ディープラーニング、テキスト分析などのドメインの課題を解決できます。 Synapsemlは、シングルノード、マルチノード、およびエラスティックに再生可能なコンピューターのクラスターでモデルをトレーニングおよび評価できます。これにより、リソースを無駄にすることなく作業を拡大することができます。 Synapsemlは、Python、R、Scala、Java、および.Netで使用可能です。さらに、そのAPIは、さまざまなデータベース、ファイルシステム、クラウドデータストアを抽象化して、データがどこにあるかに関係なく実験を簡素化します。
Synapsemlには、Scala 2.12、Spark 3.4+、およびPython 3.8+が必要です。
| トピック | リンク |
|---|---|
| 建てる | |
| バージョン | |
| ドキュメント | |
| サポート | |
| バインダー | |
| 使用法 |
| SparkのVowpal Wabbit | ビッグデータの認知サービス | SparkのLightGBM | スパークサービング |
| 高速で、まばらで、効果的なテキスト分析 | 既存のSparkMLパイプラインの前例のないスケールでMicrosoft認知サービスを活用する | LightGBMを使用して勾配勾配ブーストマシン | サブミリ秒レイテンシのWebサービスとしてSpark Computationを提供する |
| SparkのHTTP | SparkのONNX | 責任あるAI | スパークバインディングオートオブエジェレーション |
| SparkとHTTPプロトコルの統合、分散マイクロサービスオーケストレーションを有効にする | Sparkでの分散およびハードウェアがモデル推論を加速しました | 不透明なボックスモデルを理解し、データセットバイアスを測定します | PysparkとSparklyrのSpark Bindingsを自動的に生成します |
| 火花の隔離森 | CyberMl | 条件付きknn |
| 分散非線形外れ値検出 | サイバーセキュリティのための機械学習ツール | 条件付きクエリを備えたスケーラブルKNNモデル |
クイックスタート、ドキュメント、デモ、および例については、当社のウェブサイトをご覧ください。
まず、Synapsemlをインストールする正しいプラットフォームを選択します。
Microsoft Fabric Notebooks 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クラウドにSynapsemlをインストールするには、ワークスペースにMaven Coordinatesから新しいライブラリを作成します。
座標の場合: com.microsoft.azure:synapseml_2.12:1.0.8 :synapseml_2.12:1.0.8リゾルバー: https://mmlspark.azureedge.net/maven 。このライブラリがターゲットクラスターに接続されていることを確認してください。
最後に、Spark Clusterに少なくともSpark 3.2とScala 2.12があることを確認してください。ネット依存関係の問題が発生した場合は、DBR 10.1を使用してください。
Synapsemlは、ScalaとPysparkノートブックの両方で使用できます。例を始めるには、ノートブックをインポートします。
https://mmlspark.blob.core.windows.net/dbcs/SynapseMLExamplesv1.0.8.dbc
Python(またはConda)のインストールでSynapsemlを試すには、PIPをインストールし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 synapsemlは、 --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コンテナを使用することです。これを行うには、次のコマンドを実行します。
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes mcr.microsoft.com/mmlspark/release jupyter notebookWebブラウザでhttp:// localhost:8888/に移動して、サンプルノートブックを実行します。 Docker使用の詳細については、ドキュメントを参照してください。
Docker画像を使用するためにEULAを読むには、
docker run -it -p 8888:8888 mcr.microsoft.com/mmlspark/release eula実行してください
r自動生成ラッパーを使用してsynapsemlを試すには、指示を参照してください。注:この機能はまだ開発中であり、必要なカスタムラッパーが欠落している可能性があります。
Synapsemlは最近、新しいビルドインフラストラクチャに移行しました。詳細な開発者ドキュメントについては、開発者のREADMEをご覧ください
既存のSynapsemldeveloperである場合は、開発セットアップを再構成する必要があります。現在、プラットフォーム独立開発をサポートし、IntellijおよびSBTとの統合を改善しています。問題が発生した場合は、サポートメールにご連絡ください!
大規模なインテリジェントマイクロサービス
条件付き画像検索
MMLSPARK:大規模な機械学習エコシステムを統一します
Synapsemlを使用した柔軟でスケーラブルな深い学習
大規模な自動オーディオブック作成
当社のウェブサイトにアクセスしてください。
Spark+AI Summit 2019、The Spark+AI European Summit 2018、Spark+AI Summit 2018、Spark SummitのSynapsemlで基調講演のデモをご覧ください。
Synapsemlが絶滅危species種を支援するためにどのように使用されるかをご覧ください。
MetとMITとのコラボレーションで、生成的な敵対アートワークを探索してください。
画像分析でApache Sparkとのコラボレーションを調べてください。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
貢献ガイドラインについては、converting.mdを参照してください。
フィードバックを提供したり、問題を報告するには、GitHubの問題を開きます。
Vowpal Wabbit
LightGBM
DMTK:Microsoft分散機械学習ツールキット
推薦者
Synapseml LightGBMモデルをPMMLに変換するためのJPMML-SPARKMLプラグイン
Microsoft Cognitive Toolkit
Apache®、Apache Spark、Spark®は、米国および/または他の国のApache Software Foundationの登録商標または商標です。