Azure Databricks 資料科學與機器學習功能

Azure Databricks 擁有統一平台,涵蓋完整的資料科學(DS)與機器學習(ML)生命週期,從原始資料擷取到特徵工程、模型訓練、部署及生產監控。 Azure Databricks 整合了熱門的開源機器學習框架,新增企業級治理、可觀察性及營運工具,統稱為 MLOps。

本頁列出主要的資料科學與機器學習能力,並依工作流程階段組織。

探索性數據分析

Azure Databricks 透過提供互動式、協作式及 AI 輔助工具,簡化探索性資料分析(EDA)流程。 資料科學家可以透過自然語言聊天、使用者介面或程式碼來探索資料,並且能透過即時共編輯與基於 Git 的程式碼分享來協作。 Genie Code 可以執行全自動化的 EDA,或作為互動助理。

類別 Features
使用者介面
  • 筆記本 為EDA提供探索、視覺化與文件化的協作空間。
  • 儀表板 提供基於 SQL 與視覺化的 EDA。
  • Genie Chat 有自然語言介面用於提問數據問題。
協作
AI助手

準備並提供功能

Azure Databricks 透過統一資料治理與機器學習工作負載,簡化機器學習中的資料處理。 所有資料皆由 Unity 目錄 管理,並設有細緻的存取控制,您可以調整資料工程與機器學習的邊界以符合您的組織需求。 資料可使用任何資料工程工具(例如 Lakeflow pipelines)為機器學習做好準備。 功能在 功能商店 中管理,提供批次與即時服務,功能則有一個單一且受規範的真實來源。

Genie Code 透過瀏覽 Unity 目錄,發現相關資料表、建議特徵轉換,以及產生用於資料擷取與功能管線的程式碼,加速資料發現與準備。

特徵類型 Features
批次功能
  • Unity Catalog 中的特徵表用於儲存預先計算的批次特徵,並具備自動資料沿襲與治理功能。 團隊會發現並重用現有功能,而不是從頭重建流程。
  • 特徵檢視 提供了一種新的 API,用於定義特徵,進而可用於批次或即時特徵運算。
即時功能
  • 對於預先計算的特徵,線上特徵商店會提供特徵表,以支援即時模型推論的使用情境。
  • 當特徵化輸入僅在服務時可用時, 特徵服務 具備按需特徵計算以補充特徵表。 特徵是以函數定義,而非預先計算出來的。
  • 特徵檢視 提供了一種新的 API,用於定義特徵,進而可用於批次或即時特徵運算。
非結構化數據 AI 搜尋 允許提供非結構化資料並執行語意搜尋。

訓練機器學習模型

Azure Databricks 提供靈活的工具來訓練機器學習和深度學習模型。 預先配置且可自訂的環境可讓您使用自訂的機器學習函式庫,而無伺服器的 CPU 與 GPU 加速運算資源則可讓您依需求進行垂直擴展與水平擴展。 Genie Code 提供智慧型自動機器學習,能處理自然語言請求並建立完整的多筆記本工作流程,涵蓋特徵化、訓練、調整、評估與部署。

類別 Features
機器學習的類型 Azure Databricks 支援所有類型的機器學習,包括:
  • 經典機器學習:使用scikit-learn、XGBoost、LightGBM、Apache Spark MLlib及其他機器學習框架進行監督與非監督學習
  • 深度學習:使用 PyTorch、TensorFlow 及 Hugging Face Transformer 進行神經網路訓練,包含跨多顆 GPU 的分散式訓練
  • 超參數調整:利用 Optuna 和 Ray 等工具,跨演算法與超參數空間進行自動搜尋

關於生成式 AI,請參見 Azure Databricks 生成式 AI 功能
Compute
  • 無伺服器運算 可立即啟動互動筆記本與排程工作流程,具備自動擴展且無叢集管理。 它支援 CPU 與 GPU 加速叢集。
  • 經典運算 支援單機與叢集管理,適用於 CPU 與 GPU 工作負載。
環境與程式庫
  • 無伺服器運算環境 提供可完全客製化的機器學習基礎環境。 對於無伺服器 GPU 運算, AI 執行環境 已預先配置用於基於 GPU 的訓練與推論。
  • 對於經典運算,Databricks Runtime for 機器學習 提供預先配置的叢集環境,並預先安裝並測試主要的機器學習函式庫,適用於 CPU 與 GPU 加速叢集。
AI 編碼助理
  • Genie Code 可以發現 Unity 目錄資料、產生機器學習筆記本,並排除管線故障。
  • AI 編碼助理的代理技能提升了第三方助理為 Azure Databricks 撰寫程式碼的效能。

追蹤與管理實驗

Azure Databricks 管理的 MLflow 為可重現、可稽核的機器學習開發奠定基礎。 它與 Unity Catalog 和 Git 的整合,提供資料與程式碼資產的追蹤與血緣關係。 登錄檔中的每個模型版本都會連結回訓練執行、資料集、環境及產生它的 git 提交,為任何部署的模型提供完整的稽核軌跡。

類別 Features
實驗追蹤 MLflow 追蹤功能 會記錄每次訓練執行的參數、指標和成品。 在 MLflow UI 中比較執行,以找出效能最佳的配置。
模型管理庫 Unity 目錄中的模型 提供與 Unity 目錄整合的 MLflow 模型登錄檔。 版本化模型產物透過生命週期別名(StagingProduction)、存取控制、血緣追蹤及跨工作區共享進行治理。
可重現性 筆記本和程式碼可以透過 Databricks Git 資料夾 進行版本控制,並與任何 Git 提供者整合。

部署和提供模型服務

Azure Databricks 支援批次推論即時服務。 批次推論能有效地將模型應用於大型資料集,而即時服務則提供低延遲的 API 端點模型。 Genie Code 既能產生模型部署程式碼,也能 診斷模型服務端點的問題與效能

供應模式 Features
批次推論
即時上菜 Model Serving 提供低延遲、高運作時間的管理 REST 端點,具備無伺服器自動擴展功能。 這支援任何機器學習框架的 CPU 和 GPU 服務,你也可以 用 Genie 來評估和排除服務端點的問題。
SQL 原生推論
  • AI 功能提供可存取 SQL 的機器學習預測,用於預測、異常偵測及駕駛人分析,無需 Python 或模型部署。
  • 對於自訂模型,AI 功能 ai_query 提供高效的批次推論,並由 Model Serving 端點支持。

評估與監控

Azure Databricks 提供靈活的訓練評估及生產環境持續監控。 即時將日誌傳送至由 Unity Catalog 管理的推論表 ,並透過 自訂指標、儀表板與警示監控資料品質。

類別 Features
Evaluation
預測記錄 推論資料表會記錄請求與回應,支援監控、分析及訓練資料集建構。
監視和警示

MLOps與治理

Azure Databricks 提供完整的機器學習操作(MLOps)與治理工具套件。 MLOps Stacks 提供範本,透過基礎架構即程式碼(infrastructure-as-code)支援從開發環境到正式環境的自動化、可重複推進。 資料、功能、模型與端點完全由 Unity CatalogAI Gateway 管理。

類別 Features
機器學習的CI/CD MLOps 堆疊建立在 宣告式自動化套件之上,提供基於程式碼的機器學習基礎設施與工作流程的管理與部署。 這包括用於自動化訓練、評估與部署的CI/CD範本。
工作流程協作 Lakeflow Jobs 將多步驟機器學習工作流程統籌為已排程或由事件觸發的管線。
資料與模型資產治理 Unity 目錄 為資料、功能及註冊模型提供統一治理。 細緻的存取控制、血統追蹤及稽核日誌適用於所有資產。
模型端點治理 AI Gateway 為模型端點提供集中治理與監控,包括速率限制、使用追蹤及有效載荷記錄。

開放原始碼支援

Azure Databricks 提供對開源機器學習生態系統的完整支援。

你可以在 Azure Databricks 上使用任何開源的機器學習框架:scikit-learn、XGBoost、LightGBM、PyTorch、TensorFlow、Hugging Face Transformers、Ray 等等。 MLflow 或你的自訂工具可以將模型產物以開放格式儲存,這些格式可以匯出並在 Azure Databricks 外執行。

MLflow 是開源的,由 Azure Databricks 開發,並被 10,000+ 個組織使用。 你的實驗追蹤資料、模型工件和管線定義都以開放格式儲存。

資料與 AI 治理建立在開源的 Unity Catalog API 之上,資料儲存則基於開放的 Delta Lake 格式。 你的特徵資料和訓練資料集會保留在開放且可攜式的檔案中。

其他資源