下列最佳做法可協助您在各種情境中規劃及使用 Vertex AI 特徵儲存庫 (舊版)。本指南僅列出部分範例。
共同描述多個實體的模型特徵
部分功能可能適用於多個實體類型。舉例來說,您可能會有一個計算值,記錄每位使用者點擊各產品的次數。這項功能會共同描述產品與使用者配對。
在此情況下,最佳做法是建立獨立的實體類型,將共用功能分組。您可以建立實體類型 (例如 product-user
),其中包含共用特徵。
如為實體 ID,請串連個別實體的 ID, 例如個別產品和使用者的實體 ID。唯一規定是 ID 必須是字串。這些合併的實體類型稱為複合實體類型。
詳情請參閱建立實體類型。
使用 IAM 政策控管多個團隊的存取權
使用 IAM 角色和政策,為不同使用者群組設定不同存取層級。舉例來說,機器學習研究人員、數據資料學家、開發運作和網站穩定性工程師都需要存取相同的特徵商店,但存取層級可能不同。舉例來說,DevOps 使用者可能需要管理特徵商店的權限,但不需要存取特徵商店的內容。
您也可以使用資源層級 IAM 政策,限制對特定特徵商店或實體類型的存取權。
舉例來說,假設貴機構包含下列角色。 由於每個角色需要的存取層級不同,因此每個角色都會獲派不同的預先定義 IAM 角色。您也可以建立及使用自己的自訂角色。
角色 | 說明 | 預先定義的角色 |
---|---|---|
機器學習研究人員或業務分析師 | 僅查看特定實體類型資料的使用者 | roles/aiplatform.featurestoreDataViewer (可在專案或資源層級授予) |
資料科學家或資料工程師 | 使用特定實體類型資源的使用者。對於自己擁有的資源,他們可以將存取權委派給其他主體。 | roles/aiplatform.entityTypeOwner (可在專案或資源層級授予) |
IT 或開發運作 | 使用者必須維護及調整特定特徵商店的效能,但不需要存取資料。 | roles/aiplatform.featurestoreInstanceCreator (可在專案或資源層級授予) |
自動化資料匯入管道 | 將資料寫入特定實體類型的應用程式。 | roles/aiplatform.featurestoreDataWriter (可在專案或資源層級授予) |
網站可靠性工程師 | 管理特定或所有特徵存放區的使用者 | roles/aiplatform.featurestoreAdmin (可在專案或資源層級授予) |
全域 (任何 Vertex AI 特徵儲存庫 (舊版) 使用者) | 允許使用者查看及搜尋現有功能。如果發現想使用的功能,可以向功能擁有者要求存取權。 Google Cloud 控制台使用者也必須具備這個角色,才能查看 Vertex AI 特徵儲存庫 (舊版) 登陸頁面、匯入作業頁面和批次服務作業頁面。 |
在專案層級授予 roles/aiplatform.featurestoreResourceViewer 角色。 |
監控資源並據此調整,以最佳化批次匯入作業
批次匯入工作需要工作站處理及寫入資料,這可能會提高特徵商店的 CPU 使用率,並影響線上服務效能。如果優先考量維持線上服務效能,請先為每十個線上服務節點指派一個工作人員。匯入期間,請監控線上儲存空間的 CPU 使用率。如果 CPU 使用率低於預期,請在日後的批次匯入工作中增加工作站數量,以提高輸送量。如果 CPU 使用率高於預期,請增加線上服務節點數量來提高 CPU 容量,或減少批次匯入工作站數量,這兩種做法都能降低 CPU 使用率。
如果增加線上服務節點數量,請注意,更新後 Vertex AI 特徵儲存庫 (舊版) 大約需要 15 分鐘,才能達到最佳效能。
如要進一步瞭解 Feature Store 監控,請參閱 Cloud Monitoring 指標。
補充歷來資料時使用 disableOnlineServing
欄位
增補是匯入歷來特徵值的程序,不會影響最新的特徵值。在這種情況下,你可以停用線上放送,略過對線上商店的任何變更。詳情請參閱「回填歷來資料」。
使用自動調度資源功能,在負載波動期間降低成本
如果您大量使用 Vertex AI 特徵儲存庫 (舊版),且流量模式經常出現負載波動,請使用自動調度資源功能來節省費用。自動調度功能可讓 Vertex AI 特徵儲存庫 (舊版) 檢查流量模式,並根據 CPU 使用率自動調整節點數量,不必維持高節點數。這個選項適合流量逐漸成長和衰退的模式。
如要進一步瞭解自動調度資源,請參閱調度選項。
測試線上供應節點的即時供應效能
您可以測試線上服務節點的效能,藉此驗證即時線上服務期間的特徵商店效能。您可以根據各種基準化參數 (例如 QPS、延遲時間和 API) 執行這些測試。請按照下列指南測試線上服務節點的效能:
從相同區域執行所有測試用戶端,最好是在 Compute Engine 或 Google Kubernetes Engine 上執行:這樣可避免因跨區域躍點而導致網路延遲,進而造成差異。
使用 SDK 中的 gRPC API:gRPC API 的效能優於 REST API。如需使用 REST API,請啟用 HTTP 保持連線選項,重複使用 HTTP 連線。否則,每個要求都會建立新的 HTTP 連線,進而增加延遲時間。
執行時間較長的測試:執行時間較長的測試 (至少 15 分鐘),且 QPS 至少為 5,以計算更準確的指標。
加入「暖機」期:如果是在一段時間沒有活動後開始測試,您可能會發現連線重新建立時延遲時間較長。為因應初始期間的高延遲,您可以將這段時間指定為「暖機期」,系統會忽略初始資料讀取作業。或者,您也可以向特徵商店傳送少量但穩定的模擬流量,讓連線保持活動狀態。
視需要啟用自動調度資源:如果預期線上流量會逐漸增加和減少,請啟用自動調度資源。如果選擇自動調度資源,Vertex AI 會根據 CPU 使用率自動調整線上服務節點數量。
如要進一步瞭解線上供應功能,請參閱「線上供應功能」。如要進一步瞭解線上供應節點,請參閱「線上供應節點」。
指定開始時間,在批次服務和批次匯出期間最佳化離線儲存成本
如要在批次服務和批次匯出期間,盡量降低離線儲存空間費用,可以在 batchReadFeatureValues
或 exportFeatureValues
要求中指定 startTime
。要求會根據指定的 startTime
,對部分可用的特徵資料執行查詢。否則,要求會查詢所有可用的特徵資料量,導致離線儲存空間用量費用偏高。
後續步驟
瞭解 Vertex AI 特徵儲存庫 (舊版) 最佳做法,在 Vertex AI 上實作自訂訓練的 ML 模型。