SynapseML(前称为 MMLSpark)是一个开源库,可简化构建大规模可缩放的机器学习(ML)管道。 SynapseML 为机器学习任务(如文本分析、计算机视觉和异常情况检测)提供简单、可组合和分布式 API。 SynapseML 基于 Apache Spark 分布式计算框架 构建,使用与 Spark MLlib 库相同的 API。 通过这种对齐方式,可以在现有 Apache Spark 工作流中嵌入 SynapseML 模型。
借助 SynapseML,构建可缩放的智能系统,以解决异常情况检测、计算机视觉、深度学习和文本分析等领域的挑战。 SynapseML 在单节点、多节点和弹性可调整大小的群集上训练和评估模型。 使用此方法,无需浪费资源即可缩放工作。 SynapseML 适用于 Python、R、Scala、Java 和 .NET。 其 API 适用于许多数据库、文件系统和云数据存储,以简化试验,而不管数据在哪里。
Installation
在 安装页上选择一种方法,并按照步骤作。
转到 快速入门:创建第一个管道的第一个模型 。
SynapseML 的主要功能
SynapseML 提供简单的集成和预先训练的资源,可帮助你更好地了解数据并将其应用于业务需求。 SynapseML 在单个可缩放的 API 中统一了多个现有的 ML 框架和新Microsoft算法,该 API 可在 Python、R、Scala 和 Java 中使用。 SynapseML 还通过引入新工具来揭示模型做出某些预测的原因以及如何改进训练数据集来消除偏差,从而帮助开发人员了解模型预测。
用于创建、训练和评分模型的统一 API
SynapseML 提供了一个统一的 API,可简化开发容错分布式程序。 具体而言,SynapseML 在单个 API 下公开许多不同的机器学习框架,该 API 可缩放、与数据和语言无关,适用于批处理、流式处理和服务应用程序。
统一 API 可标准化许多工具、框架和算法,并简化分布式机器学习体验。 它使开发人员能够快速编写不同的机器学习框架,使代码保持干净,并支持需要多个框架的工作流。 例如,Web 监督学习或搜索引擎创建等工作流需要多个服务和框架。 SynapseML 保护用户免受这种额外复杂性的防护。
使用预生成的智能模型
SynapseML 中的许多工具不需要大型标记训练数据集。 相反,SynapseML 为预生成的智能服务(如 Azure AI 服务)提供简单的 API,以快速解决与业务和研究相关的大规模 AI 挑战。 SynapseML 使开发人员能够将 50 多个不同的最先进的 ML 服务直接嵌入其系统和数据库中。 这些现成的算法可以分析各种文档、实时转录多说话人对话,并将文本翻译为 100 多种语言。 有关如何使用预建 AI 快速解决任务的更多示例,请参阅 SynapseML“认知”示例。
为了使 SynapseML 与 Azure AI 服务的集成快速高效,SynapseML 为面向服务的工作流引入了许多优化。 具体而言,SynapseML 会自动分析常见的限制响应,以确保作业不会使后端服务不堪重负。 此外,它使用指数退避来处理不可靠的网络连接和失败的响应。 最后,Spark 辅助角色计算机仍忙于新的异步并行基元。 异步并行度允许辅助角色计算机在等待来自服务器的响应时发送请求,并可能导致吞吐量增加 10 倍。
与 ONNX 的广泛生态系统兼容性
通过 SynapseML,开发人员可以通过开放神经网络交换(ONNX)框架使用来自许多不同的 ML 生态系统的模型。 通过此集成,只需几行代码即可大规模执行各种经典和深度学习模型。 SynapseML 会自动处理将 ONNX 模型分发到工作器节点、批处理和缓冲输入数据,以便实现高吞吐量,并计划硬件加速器上的工作。
将 ONNX 引入 Spark 不仅有助于开发人员缩放深度学习模型,还可以跨各种 ML 生态系统实现分布式推理。 具体而言,ONNXMLTools 将模型从 TensorFlow、scikit-learn、Core ML、LightGBM、XGBoost、H2O 和 PyTorch 转换为 ONNX,以便使用 SynapseML 进行加速和分布式推理。
构建负责任的 AI 系统
构建模型后,研究人员和工程师在部署之前必须了解其限制和行为。 SynapseML 通过引入新的工具来帮助开发人员和研究人员构建负责任的 AI 系统,这些工具揭示了模型为何进行某些预测以及如何改进训练数据集以消除偏见。 SynapseML 通过使开发人员能够跨数百台计算机分发计算,极大地加快了理解用户训练的模型的过程。 更具体地说,SynapseML 包括 Shapley 累加性解释(SHAP)和本地可解释 Model-Agnostic 解释(LIME)的分布式实现,以解释视觉、文本和表格模型的预测。 它还包括单个条件期望(ICE)和部分依赖分析等工具,用于识别有偏见的数据集。
Azure Synapse Analytics 上的企业支持
SynapseML 已在 Azure Synapse Analytics 上正式发布,支持企业。 使用 Azure AI 服务、LightGBM、ONNX 和其他 选定的 SynapseML 功能构建大规模机器学习管道。 使用模板快速构建分布式机器学习系统的原型,例如视觉搜索引擎、预测性维护管道和文档翻译。