將機器學習模型訓練
Azure Synapse Analytics 中的 Apache Spark 能以巨量資料實現機器學習服務,有能力從大量的結構化、非結構化和快速移動的資料中,取得寶貴的深度見解分析。 在 Azure Synapse Analytics 中使用 Azure Spark 定型機器學習模型時有數個選項:Apache Spark MLlib、Azure Machine Learning,以及各種其他開放原始碼程式庫。
Apache SparkML 和 MLlib
Azure Synapse Analytics 中的 Apache Spark 是 Microsoft 在雲端中的其中一種 Apache Spark 實作。 其提供統一的開放原始碼平行數據處理架構,可支援記憶體內部處理來提升巨量數據分析。 Spark 處理引擎是專為速度、易用性及精密分析打造的產品。 Spark 的記憶體內分散式計算功能,使其成為機器學習和圖表計算中所使用反覆演算法的絕佳選擇。
有兩個可將演算法模型化功能導入此分散式環境的可調整機器學習服務程式庫:MLlib 與 SparkML。 MLlib 包含建置在 RDD 上的原始 API。 SparkML 是較新的套件,可提供建置在 DataFrames 上的較高階 API 來建構 ML 管線。 SparkML 尚未支援 MLlib 的所有功能,但正在逐漸取代 MLlib 成為 Spark 的標準機器學習程式庫。
熱門程式庫
Azure Synapse Analytics 中的每個 Apache Spark 集區都隨附一組預先載入且熱門的機器學習程式庫。 這些程式庫提供您可能想要包含在程式或專案中的可重複使用程式碼。 預設包含的一些相關機器學習程式庫包括:
Scikit-learn 是經典 ML 演算法最熱門的單一節點機器學習程式庫之一。 Scikit-learn 支援大部分的監督式和非監督式學習演算法,也可用於資料採礦和資料分析。
XGBoost 是熱門的機器學習程式庫,其中包含訓練決策樹和隨機樹系的最佳化演算法。
PyTorch 和 Tensorflow 是功能強大的 Python 深度學習連結庫。 在 Azure Synapse Analytics 的 Apache Spark 集區中,您可以利用這些程式庫來將集區的執行程式數目設定為零,藉此建立出單一機器模型。 雖然 Apache Spark 在此設定下不能正常運作,但建立單一電腦模型是簡單且符合成本效益的方式。
您可以檢視已發佈 的 Azure Synapse Analytics 運行時間,以深入瞭解可用的連結庫和相關版本。
MMLSpark
適用於 Apache Spark 的 Microsoft Machine Learning 程式庫為 MMLSpark。 此程式庫是設計來提升資料科學家在 Spark 上的生產力,不僅可提高實驗率,還可在大型的資料集上運用最先進的機器學習服務技術,包括深度學習。
建立可調整的 ML 模型時 (例如,編製索引字串),MMLSpark 會在 SparkML 的低階 API 上提供一個層級,將資料強制轉型成機器學習服務演算法預期的版面配置,並組合功能向量。 MMLSpark 程式庫簡化了這些流程,以及在 PySpark 中建立模型的常見工作。
Azure 中的自動化 ML 機器學習 (已淘汰)
Azure 機器學習 是雲端式環境,可讓您定型、部署、自動化、管理及追蹤機器學習模型。 Azure 機器學習 中的自動化 ML 會接受定型數據和組態設定,並自動逐一查看不同功能正規化/標準化方法、模型和超參數設定的組合,以達到最佳模型。
在 Azure Synapse Analytics 中使用自動化 ML 時,您可以利用不同服務之間的深度整合來簡化驗證和模型定型。
警告
- 自 2023 年 9 月 29 日起,Azure Synapse Analytics 將中止對 Spark 2.4 執行階段 (部分機器翻譯) 的官方支援。 在 2023 年 9 月 29 日之後,我們不會再解決任何與 Spark 2.4 相關的支援票證。 Spark 2.4 的 BUG 或安全性修正不會再有發行管線。 在支援截止日期過後使用 Spark 2.4 須自行承擔風險。 由於有潛在的安全性和功能疑慮,我們非常不建議您繼續使用。
- 作為 Apache Spark 2.4 淘汰流程的一部分,我們想要通知您 Azure Synapse Analytics 中的 AutoML 也會被淘汰。 淘汰項目包括低程式碼介面和用來透過程式碼建立 AutoML 試用版的 API。
- 請注意,AutoML 功能是透過 Spark 2.4 執行階段獨家提供的。
- 客戶若想繼續使用 AutoML 功能,我們的建議是將資料儲存至 Azure Data Lake Storage Gen2 (ADLSg2) 帳戶。 您可以從該帳戶透過 Azure Machine Learning (AzureML) 順暢地存取 AutoML 體驗。 如需有關此因應措施的進一步資訊,請參閱這裡 (英文)。
Azure AI 服務
Azure AI 服務 提供機器學習功能來解決一般問題,例如分析文字以進行情感情感,或分析影像來辨識物件或臉部。 您不需要具備機器學習或資料科學的專門知識,即可使用這些服務。 認知服務會在機器學習解決方案中提供部分或所有元件:資料、演算法和定型的模型。 這些服務的目的是要要求有關您資料的一般知識,而不需要使用機器學習或資料科學的經驗。 您可以在 Azure Synapse Analytics 內自動運用這些預先定型的 Azure AI 服務。
下一步
本文將概述在 Azure Synapse Analytics 的 Apache Spark 集區中訓練機器學習模型的各種選項。 您可以依照下列教學課程來深入瞭解模型定型:
- 使用 Azure 機器學習 和 Azure Synapse Analytics 執行自動化 ML 實驗:自動化 ML 教學課程
- 執行 SparkML 實驗:Apache SparkML 教學課程
- 檢視默認連結庫: Azure Synapse Analytics 運行時間