什麼是受管理的功能存放區?
針對受管理的功能存放區,我們希望像您這樣的機器學習專業人員能夠獨立開發功能以及讓功能生產化。 您提供功能集規格。 系統會處理功能的服務、保護及監視。 這會讓您免於基礎特徵工程管線設定和管理的額外負荷。
由於我們在機器學習生命週期中整合功能存放區,您可以更快速地實驗和運送模型、提高模型的可靠性,以及降低您的營運成本。 重新定義機器學習體驗可提供這些優點。
如需功能存放區中最上層實體的詳細資訊,包括功能集規格,請造訪了解受管理的功能存放區中的最上層實體。
何謂功能?
功能可作為模型的輸入資料。 針對企業內容中的資料驅動使用案例,功能通常會轉換歷程記錄資料 (簡單彙總、視窗彙總、資料列層級轉換等等)。 例如,請考慮客戶流失機器學習模型。 模型輸入可能包括客戶互動資料,例如 7day_transactions_sum
(過去七天內的交易數目) 或 7day_complaints_sum
(過去七天內的投訴數目)。 這兩個彙總函式都是在前七天的資料上計算。
功能存放區所解決的問題
若要進一步了受管理的功能存放區,您應該先了解功能存放區可以解決的問題。
功能存放區可讓您搜尋和重複使用小組所建立的功能以避免多餘的工作,並提供一致的預測。
您可以建立具有轉換能力的新功能,以敏捷、動態的方式解決特徵工程需求。
系統運作及管理轉換和具體化所需的特徵工程管線,讓您的小組從作業層面釋放出來。
您可以使用最初用於定型資料產生的相同功能管線,用於推斷的新用途,提供線上/離線一致性,以及避免定型/服務扭曲。
共用受管理的功能存放區
功能存放區是多個專案工作區可使用的新工作區類型。 您可以從 Azure Machine Learning 以外的 Spark 型環境取用功能,例如 Azure Databricks。 您也可以執行功能的本機開發和測試。
功能存放區概觀
針對受管理的功能存放區,您可以提供功能集規格。 然後,系統會處理功能的服務、保護及監視。 功能集規格包含功能定義和選擇性轉換邏輯。 您也可以透過宣告方式提供具體化設定,以具體化至離線存放區 (ADLS Gen2)。 系統會產生及管理基礎功能具體化管線。 您可以使用功能目錄來搜尋、共用和重複使用功能。 透過服務 API,使用者可以查閱功能,以產生定型和推斷的資料。 服務 API 可以直接從來源提取資料,或從離線具體化存放區提取資料,以進行定型/批次推斷。 系統也提供監視功能具體化作業的功能。
使用 Azure Machine Learning 受管理的功能存放區的優點
- 提高運送模型的靈活度 (原型設計至運算化):
- 探索和重複使用功能,而不是從頭開始建立功能
- 透過具有轉換支援的新功能本機開發/測試,以及使用功能擷取規格作為 MLOps 流程中的結締組織來加快實驗
- 宣告式具體化和回填
- 預先建置建構:功能擷取元件和功能擷取規格
- 改善 ML 模型的可靠性
- 跨業務單位/組織一致的功能定義
- 功能集已設定版本且不可變:較新版本的模型可以使用較新的功能版本,而不會中斷舊版的模型
- 監視功能集具體化
- 具體化可避免定型/服務扭曲
- 功能擷取支援時間點時態性聯結 (也稱為時間移動) 以避免資料外洩。
- 降低成本
- 重複使用組織中其他人所建立的功能
- 具體化和監視是系統管理的,以減少工程成本
探索和管理功能
受管理的功能存放區提供這些功能以供功能探索和管理:
- 搜尋和重複使用功能 - 您可以在功能存放區之間搜尋和重複使用功能
- 版本控制支援 - 功能集已設定版本且不可變,可讓您獨立管理功能集生命週期。 您可以使用不同的功能版本來部署新的模型版本,並避免舊版模型版本中斷
- 檢視功能存放區層級的成本 - 與功能存放區使用量相關聯的主要成本牽涉到受控 Spark 具體化作業。 您可以在功能存放區層級看到此成本
- 功能集使用量 - 您可以使用功能集查看已註冊的模型清單。
功能轉換
功能轉換牽涉到資料集功能修改,以改善模型效能。 轉換程式碼,定義在功能規格中,會處理功能轉換。 為了加快實驗速度,轉換程式碼會對來源資料執行計算,並允許本機開發和測試轉換。
受管理的功能存放區提供這些功能轉換功能:
- 支援自訂轉換 - 您可以撰寫 Spark 轉換器來開發具有自訂轉換的功能,例如以視窗為基礎的彙總
- 支援預先計算的功能 - 您可以將預先計算的功能帶入功能存放區,並在不撰寫程式碼的情況下提供服務
- 本機開發和測試 - 使用 Spark 環境,您可以在本機完整開發和測試功能集
功能具體化
具體化涉及計算指定功能視窗的功能值,以及這些值在具體化存放區中的持續性。 現在,為了定型和推斷目的,可以更快速且可靠地擷取功能資料。
- 受控功能具體化管線 - 您以宣告方式指定具體化排程,然後系統會將值的排程、預先計算和具體化處理到具體化存放區
- 回填支援 - 您可以針對指定的功能視窗執行功能集的隨選具體化
- 受控 Spark 支援具體化 - Azure Machine Learning 受控 Spark (在無伺服器計算執行個體中) 會執行具體化作業。 可讓您免去 Spark 基礎結構的設定和管理。
注意
目前支援離線存放區 (ADLS Gen2) 和線上存放區 (Redis) 具體化。
功能擷取
Azure Machine Learning 包含內建元件,可處理離線功能擷取。 允許在 Azure Machine Learning 管線作業的定型和批次推斷步驟中使用功能。
受管理的功能存放區提供這些功能擷取功能:
- 宣告式定型資料產生 - 使用內建功能擷取元件,您可以在管線中產生定型資料,而不需撰寫任何程式碼
- 宣告式批次推斷資料產生 - 使用相同的內建功能擷取元件,您可以產生批次推斷資料
- 程式設計功能擷取 - 您也可以使用 Python SDK
get_offline_features()
來產生定型/推斷資料
監視
受管理的功能存放區提供下列監視功能:
- 具體化作業的狀態 - 您可以使用 UI、CLI 或 SDK 檢視具體化作業的狀態
- 具體化作業的通知 - 您可以在具體化作業的不同狀態上設定電子郵件通知
安全性
受管理的功能存放區提供這些安全性功能:
- RBAC - 功能存放區、功能集和實體的角色型存取控制。
- 跨功能存放區查詢 - 您可以為使用者建立具有不同存取權限的多個功能存放區,但允許跨多個功能存放區查詢 (例如產生定型資料)