什麼是 SynapseML?

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.0+ 和 Python 3.6+。

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 的背景工作角色機器會與 Spark 新非同步平行處理原則基本項目同步運作。 非同步平行處理原則可讓背景工作角色機器在等候伺服器回應時傳送要求,而且輸送量可以增加十倍。

與 ONNX 的廣泛生態系統相容性

SynapseML 可讓開發人員透過 Open Neural Network Exchange (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) 和本機可解譯模型無關說明 (LIME) 的分散式實作,以說明視覺、文字和表格式模型的預測。 其也包括個別條件式預期 (ICE) 和用於已辨識偏差資料集的部分相依性分析這類工具。

Azure Synapse Analytics 的企業支援

SynapseML 已在具有企業支援的 Azure Synapse Analytics 上正式推出。 您可以使用 Azure AI 服務、LightGBM、ONNX 和其他選取的 SynapseML 功能來建置大規模的機器學習管線。 其甚至包括範本,可快速建立分散式機器學習系統的原型,例如視覺搜尋引擎、預測性維護管線、文件翻譯等等。

下一步