解決方案構想
本文是解決方案概念。 如果您想要以詳細資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。
此架構示範如何使用 Azure Databricks、Delta Lake 和 MLflow 來改善作業,以進行資料科學和機器學習。 您可以藉由開發、定型和部署機器學習模型來改善整體效率與客戶體驗。
架構
此圖表包含三個灰色矩形:一個標示為 Process、一個標示為 Serve,另一個標示為 Store。 [處理] 和 [服務] 矩形位於圖表上方的彼此旁邊。 [服務] 矩形包含一個白色方塊,其中包含機器學習和Azure Kubernetes Service圖示。 另一個白色方塊會跨 Process 和 Serve 矩形。 其中包含 Azure Databricks 和 MLflow 的圖示。 箭號會從該方塊指向 [服務] 矩形中的白色方塊。 [處理] 矩形下方是 [存放區] 矩形。 其中包含一個白方塊,其中包含標示為銅級、銀級和金級三個資料庫資料表的圖示Data Lake Storage、Delta Lake 和三個資料庫資料表。 三行會連接 Process 和 Store 矩形,並在每一行的每個結尾加上箭號。
下載這個架構的 Visio 檔案 。
解決方案會儲存、處理及提供資料:
資料流程
商店
Data Lake Storage會以 Delta Lake 格式儲存資料。 Delta Lake 形成 Data Lake 的策劃層。 獎牌架構會將資料組織成三層:
- 銅級資料表會保存原始資料。
- 銀級資料表包含已清除、篩選的資料。
- 金級資料表會儲存已準備好進行分析和報告的匯總資料。
處理序
來自各種語言、架構和程式庫的程式碼會準備、精簡及清理原始資料, (1) 。 編碼可能性包括 Python、R、SQL、Spark、Pandas 和 Koalas。
Azure Databricks 會執行資料科學工作負載。 此平臺也會 (2 個) 建置和定型機器學習模型。 Azure Databricks 使用預先安裝的優化程式庫。 範例包括 scikit-learn、TensorFlow、PyTorch 和 XGBoost。
MLflow 追蹤會擷取機器學習實驗、模型執行和結果 (3) 。 當最佳模型準備好用於生產環境時,Azure Databricks 會將該模型部署到 MLflow 模型存放庫。 此集中式登錄會將資訊儲存在生產模型上。 登錄也會讓模型可供其他元件使用:
- Spark 和 Python 管線可以內嵌模型。 這些管線會處理批次工作負載或串流 ETL 進程。
- REST API 會針對許多用途提供模型的存取權。 範例包括行動裝置和 Web 應用程式中的測試與互動式評分。
伺服器
Azure Databricks 可以將模型部署到其他服務,例如 Machine Learning 和 AKS (4) 。
單元
Azure Databricks 是資料分析平台。 其完全受控 Spark 叢集會執行資料科學工作負載。 Azure Databricks 也會使用預先安裝的優化程式庫來建置和定型機器學習模型。 MLflow 與 Azure Databricks 整合提供一種方式來追蹤實驗、將模型儲存在存放庫中,以及讓模型可供其他服務使用。 Azure Databricks 提供延展性:
- 單一節點計算叢集會處理小型資料集和單一模型執行。
- 對於大型資料集,可以使用多節點計算叢集或圖形處理單位, (GPU) 叢集。 這些叢集會使用 HorovodRunner 和 Hyperopt 等程式庫和架構來進行平行模型執行。
Data Lake Storage 是適用於高效能分析工作負載的可大規模調整且安全的資料湖。 此服務可管理數 PB 的資訊,同時維持數百 GB 的輸送量。 資料可以具有下列特性:
- 結構化、半結構化或非結構化。
- 來自多個異質來源,例如記錄、檔案和媒體。
- 為靜態、來自批次或串流。
Delta Lake 是使用開放式檔案格式的儲存層。 此層會在雲端儲存體上執行,例如 Data Lake Storage。 Delta Lake 已針對轉換和清理批次和串流資料進行優化。 此平臺支援這些功能:
- 資料版本設定和復原。
- 不可部分完成性、一致性、隔離和持久性, (ACID) 交易的可靠性。
- 資料準備、模型定型和模型服務的一致標準。
- 來源資料一致快照集的時間移動。 資料科學家可以在快照集上定型模型,而不是建立個別的複本。
MLflow 是機器學習生命週期的開放原始碼平臺。 MLflow 元件會在定型和執行期間監視機器學習模型。 預存資訊包括程式碼、資料、組態資訊和結果。 MLflow 也會儲存模型,並將其載入生產環境。 因為 MLflow 使用開放式架構,所以各種服務、應用程式、架構和工具都可以取用模型。
Machine Learning 是雲端式環境,可協助您建置、部署和管理預測性分析解決方案。 利用這些模型,便可預測行為、結果和趨勢。
AKS 具備高可用性、安全且完全受控的 Kubernetes 服務。 AKS 可讓您輕鬆地部署和管理容器化應用程式。
實例詳細資料
當組織辨識資料科學和機器學習的強大功能時,您可以改善效率、增強客戶體驗,以及預測變更。 若要在業務關鍵使用案例中達成這些目標,您需要一致且可靠的模式,
- 追蹤實驗。
- 重現結果。
- 將機器學習模型部署到生產環境。
本文概述一致的可靠機器學習架構解決方案。 Azure Databricks 會形成架構的核心。 儲存層 Delta Lake 和機器學習平臺 MLflow 也會扮演重要的角色。 這些元件與其他服務緊密整合,例如Azure Data Lake Storage、Azure Machine Learning 和 Azure Kubernetes Service (AKS) 。
這些服務一起提供資料科學和機器學習的解決方案,如下所示:
簡單:開放式資料湖可簡化架構。 Data Lake 包含策劃層 Delta Lake。 該層提供開放原始碼格式的資料存取權。
Open:解決方案支援開放原始碼程式碼、開放標準和開放架構。 這種方法可將未來更新的需求降到最低。 Azure Databricks 和 Machine Learning 原生支援 MLflow 和 Delta Lake。 這些元件一起提供領先業界的 機器學習作業, (MLOps) 或適用于機器學習的 DevOps。 廣泛的部署工具會與解決方案的標準化模型格式整合。
共同作業:資料科學和 MLOps 小組會與此解決方案合作。 這些小組會使用 MLflow 追蹤來記錄和查詢實驗。 小組也會將模型部署到中央 MLflow 模型登錄。 資料工程師接著會在資料擷取、擷取-轉換-載入 (ETL) 程式和串流管線中使用已部署的模型。
潛在使用案例
AGL 為能源預測所建置的平臺,啟發了此解決方案。 該平臺為數千個平行模型提供快速且符合成本效益的訓練、部署和生命週期管理。
除了能源提供者之外,此解決方案還可以受益于下列任何組織:
- 使用資料科學。
- 建置和定型機器學習模型。
- 在生產環境中執行機器學習模型。
範例包括下列組織:
- 零售和電子商務。
- 銀行與財務。
- 醫療保健與生活科學。
- 汽車產業和製造。
下一步
- AGL Energy 為數千個平行模型建置標準化平臺。 平臺為模型提供快速且符合成本效益的訓練、部署和生命週期管理。
- 開啟 Grid Europe (OGE) 會使用人工智慧模型來監視油管線。 OGE 會使用 Azure Databricks 和 MLflow 來開發模型。
- (SAS) 在共同研究階段使用 Azure Databricks。 航空公司也會使用 Machine Learning 來開發預測模型。 藉由識別公司資料中的模式,模型可改善日常作業。