微軟發佈SynapseML一個用於創建可擴展機器學習管道的開源引擎庫
本週三,微軟宣佈開源一個簡單、多語言的、大規模並行的機器學習庫SynapseML(以前稱為MMLSpark),以幫助開發人員簡化機器學習開發與部署。 即使對於最有經驗的開發人員來說,構建機器學習管道也會很困難。
對於初學者來說,組合來自不同生態系統的工具需要大量代碼,而且許多框架在設計時並沒有考慮到伺服器集群。 數據科學團隊在使用更多機器學習模型方面也面臨越來越大的壓力。
微軟表示,藉助SynapseML,開發人員可以構建可擴展的智慧系統來解決跨領域的挑戰,包括文本分析、翻譯和語音處理。
SynapseML使開發人員能夠將超過45種不同的最先進機器學習服務直接嵌入到他們的系統和資料庫中。
其最新版本增加了對分散式表單識別、對話轉錄和翻譯的支持,這些即用型演算法可以解析各種文檔、實時轉錄多個對話者的聲音和翻譯100多種不同的語言。
代碼庫連結為:
一、五年沉澱,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技術發展。