Azure Databricks 中的機器學習
Azure Databricks 會為機器學習模型開發提供完整的雲端式環境。 Machine Learning 是一個專業領域,涉及「資料科學家」(分析資料並建立模型) 與「機器學習工程師」(部署及管理模型) 之間的共同作業。 Azure Databricks 可讓資料科學家執行資料擷取、探索和準備工作,以及模型訓練、評估和管理工作。
機器學習的 Databricks 執行階段
當您在 Azure Databricks 工作區中建立叢集時,您可以指定要在叢集中安裝的 Databricks 執行階段。 Azure Databricks 包含了一些針對機器學習最佳化的 databricks 執行階段。 其中包括經常用於機器學習工作負載的程式庫支援,包括用於管理機器學習作業的機器學習架構和公用程式。
如果您要實作機器學習解決方案,請使用其中一個 ML 執行階段建立叢集。 您可以選擇適用於傳統機器學習案例的 CPU 型執行階段,或是,如果您需要使用深度學習架構建置複雜的神經網路,則可以選擇 GPU 型執行階段,以利用 GPU 可有效率處理矩陣和向量型資料的能力。
Azure Databricks 中的機器學習架構
Azure Databricks 以 Apache Spark 作為建置基礎,這是一個可高度擴充的平台,可用於分散式資料處理。 在 Spark 上,資料科學家和機器學習工程師通常會在互動式筆記本中工作,其中用來準備資料及以此訓練機器學習模型的程式碼會以 PySpark 撰寫 (針對 Spark 最佳化的 Python 變體)。 在 Python 生態系統中,有許多常用的機器學習架構,包括:
- Scikit-Learn:機器學習的熱門架構,可提供各種不同的演算法和其他程式庫,有助於您訓練及評估預測模型。
- Spark MLlib:專為 Spark 建置的機器學習程式庫。 MLlib 提供兩種方式來定型和評估機器學習模型:
- 以 Spark 可復原分散式資料集 (RDD) 結構為基礎的類別。
- 以 Spark 資料框架結構為基礎的類別。 此架構 (通常稱為 Spark ML) 是使用 MLlib 時的慣用架構。
- PyTorch:一種深度學習架構,用來建置複雜預測、電腦視覺和自然語言處理工作負載的「神經網路」模型。
- TensorFlow:另一個常用的深度學習架構。
您可以在 Azure Databricks 中使用這些架構 (和更多其他架構) 來訓練和評估機器學習模型。