Databricks 功能存放區

Databricks 特徵儲存庫是用於您 AI 與 ML 模型中所使用特徵的中央登錄系統。 當你在 Unity Catalog 註冊功能與模型時,你會獲得內建治理、血統、點點加入,以及跨工作空間的功能共享與發現功能。

你可以用兩種策略撰寫特寫。

兩者皆產生由 Unity 目錄管理的功能,並發佈至 線上功能商店。 請參見 選擇撰寫策略

  • 功能檢視,透過宣告式定義功能,讓 Databricks 幫你計算和管理功能管線。 這項功能處於 公開預覽狀態
  • 特徵表,你透過寫入 Delta 表來填入它們。

使用 Databricks,整個模型定型工作流程都會在單一平台上進行,包括:

  • 擷取原始數據、建立特徵數據表、定型模型,以及執行批次推斷的數據管線。
  • 只需單擊即可使用且提供毫秒級延遲的模型及功能服務端點。
  • 資料和模型監測。

當你使用 Databricks 功能庫的功能來訓練模型時,模型會自動追蹤到訓練中使用的功能譜系。 在推論時,模型會自動查詢最新的特徵值。 Databricks 功能庫也提供即時應用的隨需特徵計算,負責所有特徵計算任務。 這消除了訓練/服務偏差,確保推理時使用的特徵計算與模型訓練期間使用的特徵計算相同。 它也大幅簡化了用戶端程式碼,因為所有功能查詢與計算皆由 Databricks 功能庫處理。

備註

本頁介紹了適用於啟用 Unity 目錄的工作區的 Databricks 功能商店。 如果你的工作區沒有啟用 Unity Catalog,請參考Workspace 功能存儲(已被淘汰)。

概念概觀

如需了解 Databricks 功能商店的運作方式及術語詞彙表,請參閱 Databricks 功能商店總覽與詞彙表

選擇撰寫策略

功能商店支援兩種撰寫功能的方式。 兩者皆可建立由 Unity 目錄管理的功能,且皆可發佈至 Online Feature Store。 一般而言,大多數新案例建議使用特徵檢視,儘管功能表最適合彈性多階段批次工作負載。

Strategy 最適合用於 運作原理
推薦的特色視角 大多數新專案、時間窗聚合和串流功能。 將特徵以 Unity 目錄 Feature 物件的方式宣告性定義。 Databricks 負責建立並管理功能流程。 你可以在註冊前,在筆記本中實驗本地定義的特徵,並將特徵管線具體化。 串流功能檢視支援亞秒級的新功能資料,並可直接從 即時模式 寫入至 線上功能商店
特徵表 你用 Lakeflow 或 Spark 宣告式管線計算的功能,以及需要 Delta Sharing、第三方線上商店,或是一般可用(僅限 GA)的創作路徑的工作負載。 將特徵值寫入 Unity 目錄中的 Delta 表格,該表有主鍵。 你擁有填滿並刷新資料表的管線。

功能開發

特徵 / 功能 Description
特色視圖 利用特徵檢視(Feature Views)來宣告式定義並計算特徵,包括時間窗彙整與串流功能。
實體化特徵檢視 實體化功能視圖,用於離線訓練或線上服務。
Unity Catalog 中的特徵資料表 建立和使用特性表。

探索和分享功能

特徵 / 功能 Description
探索 Unity 目錄中的特徵表 使用「目錄總管」和「功能」UI探索和管理功能表格。
在 Unity Catalog 中使用標籤來搭配功能資料表和功能 使用簡單的索引鍵值組來分類和管理您的功能表和功能。
探索 Unity 目錄中的功能檢視 在 Databricks 介面中瀏覽功能檢視的定義與實體化狀態。

在訓練工作流程中使用特性

特徵 / 功能 Description
具備特徵表的列車模型 使用特徵來訓練模型。
時間點功能聯結 使用時間點正確性來建立訓練資料集,以反映記錄標籤觀察時的特徵值。
特徵工程 Python API Python API 參考文件

服務特點

特徵 / 功能 Description
Databricks 線上功能存放區 將特徵資料提供給線上應用程式和即時機器學習模型。 由 Databricks Lakebase 提供支援。
具有自動功能查詢的模型服務 自動從線上商店查詢功能值。
功能服務端點 將功能提供給 Databricks 外部的模型和應用程式。
隨選特徵計算 計算推斷時的特徵值。

特徵治理和來源追溯

特徵 / 功能 Description
功能治理和譜系 使用 Unity 目錄來控制功能表的存取,並檢視功能表、模型或函式的譜系。

Tutorials

教程 Description
入門的筆記本範例 基本筆記本。 示範如何建立特徵資料表、使用它來定型模型,以及使用自動特徵查閱來執行批次評分。 也顯示功能工程 UI,以搜尋功能並檢視譜系。
計程車範例筆記本。 顯示建立特徵、更新特徵,以及將其用於模型訓練和批次推論的過程。
範例:部署和查詢功能服務端點 教學課程和範例筆記本,示範如何部署和查詢功能服務端點。
範例:使用具有結構化 RAG 應用程式的功能 教學課程示範如何使用 Databricks 線上資料表和特徵服務端點來支援擷取增強生成(RAG)應用程式。

需求

要使用 Databricks 功能儲存庫,您的工作區必須啟用 Unity Catalog。 如果你的工作區沒有啟用 Unity Catalog,請參考Workspace 功能存儲(已被淘汰)。

支援的資料類型

Databricks 功能商店與舊有的工作區功能商店支援以下 PySpark 資料類型

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

[1] 在 Unity Catalog 的所有特性工程版本以及工作區特性存放區 v0.3.5 或更高版本中,BinaryTypeDecimalTypeMapType 均獲得支援。 [2] 特徵工程 v0.6.0 或更新版本支援 StructType

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

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

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

特性存儲庫的介面顯示有關功能數據類型的元數據。

複雜資料類型範例

其他相關資訊

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