Azure Synapse Analytics 中的機器學習功能

Azure Synapse Analytics 提供各種機器學習功能。 本文提供如何在 Azure Synapse 內容中套用 機器學習 的概觀。

本概觀涵蓋 Synapse 中與機器學習相關的不同功能,從數據科學程序的觀點來看。

您可能已熟悉一般數據科學程序的外觀。 這是一個已知的程式,大部分的機器學習專案都遵循此程式。

概括而言,此程式包含下列步驟:

  • 商業理解(本文未討論)
  • 資料獲取與理解
  • 建立模型
  • 模型部署和評分

本文說明不同分析引擎中的 Azure Synapse 機器學習功能,從數據科學程序的觀點來看。 針對數據科學程式中的每個步驟,摘要說明可協助的 Azure Synapse 功能。

資料獲取與理解

大部分的機器學習專案都牽涉到已建立的步驟,其中一個步驟是存取和了解數據。

數據源和管線

由於 Azure Data Factory 是 Azure Synapse 的原生整合部分,因此有一組功能強大的工具可供數據擷取和數據協調流程管線使用。 這可讓您輕鬆地建置數據管線,以存取數據,並將數據轉換成可用於機器學習的格式。 深入了解 Synapse 中的資料管線

數據準備和探索/視覺效果

機器學習程式的重要部分是藉由探索和視覺效果來了解數據。

根據數據的儲存位置,Synapse 提供一組不同的工具來探索並準備分析與機器學習。 開始使用數據探索的最快速方式之一,就是直接在 Data Lake 中的數據上使用 Apache Spark 或無伺服器 SQL 集區。

建立模型

在 Azure Synapse 中,您可以使用 PySpark/Python、Scala 或 .NET 等工具,在 Apache Spark 集區上執行定型機器學習模型。

使用 MLlib 在 Spark 集區上定型模型

機器學習模型可以透過各種演算法和連結庫的協助來定型。 Spark MLlib 提供可調整的機器學習演算法,可協助解決大部分的傳統機器學習問題。 如需如何在 Synapse 中使用 MLlib 定型模型的教學課程,請參閱 使用 Apache Spark MLlib 和 Azure Synapse Analytics 建置機器學習應用程式。

除了 MLlib 之外,Scikit Learn熱門連結庫也可以用來開發模型。 如需如何在 Synapse Spark 集區上安裝連結庫的詳細資訊,請參閱 在 Azure Synapse Analytics 中管理 Apache Spark 的連結庫。

使用 Azure 機器學習 自動化 ML 將模型定型

訓練機器學習模型的另一種方式,不需要事先熟悉機器學習,就是使用自動化 ML。 自動化 ML 是一項功能,可自動定型一組機器學習模型,並可讓用戶根據特定計量選取最佳模型。 由於 Azure Synapse Notebooks 與 Azure 機器學習 緊密整合,使用者可以輕鬆地利用 Synapse 中的自動化 ML 與傳遞 Microsoft Entra 驗證。 這表示您只需要指向 Azure 機器學習 工作區,且不需要輸入任何認證。 本教學課程使用自動化機器學習在 Python 中定型模型,說明如何在 Synapse Spark 集區上使用 Azure 機器學習 自動化 ML 來定型模型。

警告

  • 自 2023 年 9 月 29 日起,Azure Synapse 將會停止對 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 儲存體 Gen2 (ADLSg2) 帳戶。 您可以從該處順暢地透過 Azure 機器學習 (AzureML) 存取 AutoML 體驗。 如需此因應措施的詳細資訊,請參閱 這裡

模型部署和評分

已在 Azure Synapse 或 Azure Synapse 外部定型的模型,可以輕鬆地用於批次評分。 目前在 Synapse 中,有兩種方式可讓您執行批次評分。

  • 您可以使用 Synapse SQL 集區中的 TSQL PREDICT 函 式,在數據所在的位置執行預測。 這項強大且可調整的功能可讓您直接擴充資料,而無須將任何資料移出資料倉儲。 Synapse Studio 中引進了新的引導式機器學習模型體驗,您可以從 Synapse SQL 集區中的 Azure 機器學習 模型登錄部署 ONNX 模型,以使用 PREDICT 進行批次評分。

  • Azure Synapse 中批次評分機器學習模型的另一個選項是利用適用於 Azure Synapse 的 Apache Spark 集區。 根據用來定型模型的連結庫,您可以使用程式代碼體驗來執行批次評分。

SynapseML

SynapseML(先前稱為 MMLSpark),是一個開放原始碼連結庫,可簡化大規模可調整機器學習管線的建立。 它是一種工具生態系統,可用來以數個新方向擴充Apache Spark架構。 SynapseML 會將數個現有的機器學習架構和新 Microsoft 演算法統一成單一可調整的 API,可在 Python、R、Scala、.NET 和 Java 之間使用。 若要深入瞭解,請參閱 SynapseML 的主要功能。

下一步