特徵工程與服務

此頁面涵蓋針對 Unity Catalog 啟用之工作區的特徵工程和服務功能。 如果未針對 Unity Catalog 啟用工作區,請參閱工作區特徵存放區 (舊版)。

為什麼要使用 Databricks 作為特徵存放區?

透過 Databricks Data Intelligence Platform,整個模型訓練工作流程可在單一平台上進行:

  • 擷取未經處理資料、建立特徵資料表、訓練模型以及執行批次推斷的資料管線。 當您在 Unity Catalog 中使用特徵工程來訓練和記錄模型時,會使用特徵中繼資料來封裝模型。 當您使用模型進行批次評分或線上推斷時,它會自動擷取特徵值。 呼叫者不需要知道它們,也不需要包含邏輯來查詢或聯結特徵以對新資料評分。
  • 按一下就可使用並提供毫秒級延遲的模型和特徵服務端點。
  • 資料和模型監測。

此外,平台也提供下列功能:

  • 特徵探索。 您可以在 Databricks UI 中瀏覽和搜尋特徵。
  • 治理。 特徵資料表、函數和模型全都受到 Unity Catalog 的控管。 當您訓練模型時,它會繼承訓練資料的權限。
  • 譜系。 當您在 Azure Databricks 中建立特徵資料表時,即會儲存用來建立特徵資料表的資料來源並可供存取。 針對特徵資料表中的每個特徵,您也可以存取使用此特徵的模型、筆記本、工作和端點。
  • 跨工作區存取。 特徵資料表、函數和模型會自動出現在任何可存取目錄的工作區中。

需求

  • 必須為 Unity Catalog 啟用工作區。
  • Unity Catalog 中的特徵工程需要 Databricks Runtime 13.3 LTS 或更高版本。

如果您的工作區不符合這些需求,請參閱工作區特徵存放區 (舊版) 以了解如何使用工作區特徵存放區。

Databricks 的特徵工程如何運作?

在 Databricks 上使用特徵工程的一般機器學習工作流程會遵循下列路徑:

  1. 撰寫程式碼,將未經處理資料轉換為特徵,並建立包含所需特徵的 Spark DataFrame。
  2. 在 Unity Catalog 中建立 Delta 資料表。 具有主索引鍵的任何 Delta 資料表都會自動成為特徵資料表。
  3. 使用特徵資料表來訓練和記錄模型。 當您這樣做時,模型會儲存用於訓練的特徵規格。 當模型用於推斷時,它會自動從適當的特徵資料表中聯結特徵。
  4. 模型登錄中註冊模型。

現在您可以使用模型從新資料中做出預測。 針對批次使用案例,模型會自動從特徵存放區擷取所需的特徵。

批次機器學習使用案例的特徵存放區工作流程。

針對即時服務使用案例,請將特徵發佈至線上資料表。 也支援協力廠商線上存放區。 請參閱協力廠商線上存放區

在推斷時,模型會從線上存放區讀取預先計算的特徵,並將其與用戶端要求中提供的資料一起聯結至模型服務端點。

所服務的機器學習模型的特徵存放區流程。

開始使用特徵工程 — 範例筆記本

若要開始使用,請嘗試這些範例筆記本。 基本筆記本會逐步引導您建立特徵資料表、使用它來訓練模型,然後使用自動特徵查詢來執行批次評分。 它也會向您介紹特徵工程 UI,並示範如何使用它來搜尋特徵,並了解如何建立和使用特徵。

Unity Catalog 範例筆記本中的基本特徵工程

取得筆記本

計程車範例筆記本說明建立特徵、更新特徵以及將它們用於模型訓練和批次推斷的流程。

Unity Catalog 計程車範例筆記本中的特徵工程

取得筆記本

支援的資料類型

Unity Catalog 和工作區特徵存放區中的特徵工程支援下列 PySpark 資料類型

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]
  • StructType [2]

[1] Unity Catalog 和工作區特徵存放區 0.3.5 版或更新版本中所有版本的特徵工程都支援 BinaryTypeDecimalTypeMapType。 [2] 特徵工程 v0.6.0 或更新版本支援 StructType

上述資料類型支援機器學習應用程式中常見的特徵類型。 例如:

  • 您可以將密集向量、張量和內嵌儲存為 ArrayType
  • 您可以將疏鬆向量、張量和內嵌儲存為 MapType
  • 您可以將文字儲存為 StringType

發佈至線上存放區時,ArrayTypeMapType 特徵會以 JSON 格式儲存。

特徵存放區 UI 會顯示特徵資料類型的中繼資料:

複雜資料類型範例

其他相關資訊

如需最佳做法的詳細資訊,請下載特徵存放區的完整指南