A Python library that explains predictions of any machine learning model using Shapley values from game theory.
microsoft/SynapseML
An open-source library that adds distributed machine learning, deep learning and Azure AI services to Apache Spark pipelines.
- Stars
- 5,254
- Forks
- 869
- Open issues
- 144
- Last commit
- 3 days ago
What is it?
SynapseML (formerly MMLSpark) is a library for building large-scale machine learning pipelines on Apache Spark. It exposes composable APIs that share the same style as Spark MLlib, so its estimators and transformers can be dropped into existing Spark workflows. Covered tasks include text analytics, computer vision, anomaly detection, gradient boosting with LightGBM, and Vowpal Wabbit.
Beyond training, it includes Spark Serving for exposing Spark computations as web services, ONNX-based distributed model inference, and HTTP-on-Spark for calling arbitrary web APIs from a cluster. It also provides wrappers for Azure Cognitive Services so they can be called at scale from Spark DataFrames.
The library is published as JVM artifacts for specific Spark versions (Spark 3.5 on Scala 2.12, Spark 4.0 and 4.1 on Scala 2.13), with Python wrappers on PyPI. It runs on Microsoft Fabric, Azure Synapse, Databricks, EMR, HDInsight and standalone Spark.
Key features
- 01Estimators and transformers that follow the SparkML/MLlib API
- 02LightGBM gradient boosting and Vowpal Wabbit text models on Spark
- 03Spark Serving to expose Spark computations as low-latency web services
- 04Distributed ONNX model inference on Spark
- 05Wrappers for Azure Cognitive Services called from DataFrames
- 06Isolation Forest for distributed anomaly detection
Use cases
- Training gradient boosted models on very large datasets in an existing Spark cluster
- Running text analytics or vision services over large tables stored in a data lake
- Deploying Spark pipelines as HTTP endpoints for online scoring
- Scoring ONNX models at scale inside Spark jobs
Topics
FAQ
- What is SynapseML?
- An open-source library that adds distributed machine learning, deep learning and Azure AI services to Apache Spark pipelines. SynapseML (formerly MMLSpark) is a library for building large-scale machine learning pipelines on Apache Spark. It exposes composable APIs that share the same style as Spark MLlib, so its estimators and transformers can be dropped into existing Spark workflows. Covered tasks include text analytics, computer vision, anomaly detection, gradient boosting with LightGBM, and Vowpal Wabbit.
- Is SynapseML free to use? What license does it have?
- SynapseML is open source under the MIT license. Check the license terms before using it in commercial products.
- Is SynapseML still maintained?
- Actively maintained. The last commit to SynapseML was on Nov 4, 2026.
- What can I use SynapseML for?
- Training gradient boosted models on very large datasets in an existing Spark cluster Running text analytics or vision services over large tables stored in a data lake Deploying Spark pipelines as HTTP endpoints for online scoring Scoring ONNX models at scale inside Spark jobs
- Where can I get SynapseML?
- The source code and installation instructions are on GitHub: https://github.com/microsoft/SynapseML
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
PySpark helper functions for DataFrame validation, column transformations, and schema utilities to speed up Spark development.
A unified analytics engine for large-scale data processing, with APIs in Scala, Java, Python and R.
Viewer for neural network, deep learning and machine learning models, supporting ONNX, TensorFlow, PyTorch, Core ML and many other formats.
An engine-agnostic deep learning framework for Java that lets developers build, train, and run models with a native Java API.
A drop-in Apache Spark replacement written in Rust that runs existing PySpark code over the Spark Connect protocol.