1. 程式人生 > 資訊 >為 AI 程式設計師減負:微軟開源深度學習庫 SynapseML,支援可擴充套件的智慧

為 AI 程式設計師減負:微軟開源深度學習庫 SynapseML,支援可擴充套件的智慧

本週三,微軟宣佈開源一個簡單、多語言的、大規模並行的機器學習庫 SynapseML(以前稱為 MMLSpark),以幫助開發人員簡化機器學習開發與部署

即使對於最有經驗的開發人員來說,構建機器學習管道也會很困難。對於初學者來說,組合來自不同生態系統的工具需要大量程式碼,而且許多框架在設計時並沒有考慮到伺服器叢集。資料科學團隊在使用更多機器學習模型方面也面臨越來越大的壓力。

微軟表示,藉助 SynapseML,開發人員可以構建可擴充套件的智慧系統來解決跨領域的挑戰,包括文字分析、翻譯和語音處理。

SynapseML 使開發人員能夠將超過 45 種不同的最先進機器學習服務直接嵌入到他們的系統和資料庫中。

其最新版本增加了對分散式表單識別、對話轉錄和翻譯的支援,這些即用型演算法可以解析各種文件、實時轉錄多個對話者的聲音和翻譯 100 多種不同的語言。

▲ 開源機器學習庫 SynapseML 介面

開源連結為:https://github.com/microsoft/SynapseML

一、五年沉澱,SynapseML 直擊 AI 落地痛點

SynapseML 的構建基於微軟強大的 Spark(計算引擎)生態系統,包括工業大資料處理領域的“網紅”計算引擎 Apache Spark、SparkML 等。

SynapseML 為 Spark 生態系統添加了許多深度學習和資料科學工具,包括 Spark 機器學習構建流程以及其他深度學習工具的無縫整合。這些工具可為各種資料來源提供強大且高度可擴充套件的預測和分析模型。

SynapseML 庫可用於 Azure Synapse Analytics 工具上,該工具能夠按照演算法執行需求或根據開發人員提前配置的資源,為 AI 模型收集、處理資料。

“在過去的五年中,我們一直致力於改進和穩定用於生產工作負載的 SynapseML 庫。使用 Azure Synapse Analytics 的開發人員將很高興得知 SynapseML 現在在這項服務上普遍可用,並提供企業服務。”微軟軟體工程師 Mark Hamilton 在一篇部落格文章中寫道。

AI 技術的使用和分析能力逐漸增強,但大約 87% 的資料科學專案仍未產業化落地。根據美國 AI 演算法交易服務平臺 Algorithmia 最近的調查,22% 的公司需要一到三個月的時間來部署模型以實現業務價值,而 18% 的公司需要三個月以上的時間。

SynapseML 將現有的機器學習框架和微軟開發的演算法打包,統一放到一個 API 中,以此來解決資料專案無法落地的挑戰,該 API 可用在 Python、R、Scala 和 Java 中。SynapseML 使開發人員能夠幫助需要多個框架的使用案例實現組合,例如建立搜尋引擎,同時在可調整大小的計算機叢集上訓練和評估模型。

二、無監督學習功能,可填補研究空白

正如微軟在該專案的網站上所解釋的那樣:“SynapseML 中的工具允許使用者製作跨越多個機器學習生態系統的強大且高度可擴充套件的模型。SynapseML 還為 Spark 生態系統帶來了新的網路功能。通過 HTTP on Spark 專案,使用者可以將任何 Web 服務嵌入到他們的 SparkML 模型中,並使用他們的 Spark 叢集進行大規模的工作。”

▲ 引擎庫 SynapseML 架構

SynapseML 還集成了開放神經網路交換 (ONNX),這是一個由微軟和 Meta(原 Facebook)共同開發的框架,可以在執行時使用來自不同機器學習生態系統的模型。通過整合,開發人員只需幾行程式碼即可執行各種經典機器學習模型。

該 API 具有“無監督學習 AI”的功能,包括用於理解資料集不平衡的功能,例如種族或性別等敏感資料集特徵是否被過度解讀或無法識別,而無需標記訓練資料和模型的可解釋性,也就是說明為什麼模型會做出某些預測以及如何改進訓練資料集。

SynapseML 引入可以用於個性化推薦的 Vowpal Wabbit 框架,以及強化學習的新演算法模型 contextual bandit,幫助開發人員訓練 AI 模型。

在不需要標記資料集的情況下,無監督學習可以幫助填補某些領域知識的空白。例如,Facebook 最近釋出的無監督模型 SEER,可以在 10 億張影象上進行訓練,並能在一系列計算機視覺基準測試中取得較優秀的結果。

然而,無監督學習並不能消除系統預測中存在偏差或缺陷的可能性。一些專家認為,消除這些偏差可能需要對無監督模型進行專門培訓,並使用額外的、較小的資料集來消除偏差。

“我們的目標是讓開發人員免於擔心分散式實現細節的麻煩,並能夠將它們部署到各種資料庫、叢集和程式語言中,而無需更改開發人員的程式碼。”Hamilton 補充道。

結語:開源引擎庫,促進演算法落地

伴隨著科技發展突飛猛進,AI 所引發的技術革命也在飛速發展,包括機器學習等領域的 AI 研究在效能、效率上不斷升級的同時,其演算法落地仍面臨困境,無法大規模投入使用。

微軟此次開源 SynapseML 庫,不斷改進機器學習演算法,將現有的機器學習框架和微軟開發的演算法統一,提高 AI 的資料處理和分析能力,進一步促進 AI 技術發展。