本文說明典型的生成式 AI 架構,Google Cloud此外,本文也列出適用於生成式 AI 工作負載的安全性最佳做法,並說明何時應使用特定Google Cloud 服務。
架構
下圖顯示使用 Gemini Enterprise Agent Platform 的一般生成式 AI 架構中的 Google Cloud 服務。
這張圖包含下列項目:
Agent Platform 可讓您在單一平台上建構及使用生成式 AI,包括 AI 解決方案、搜尋和對話。
Artifact Registry可簡化機器學習 (ML) 開發和部署程序、提升協作效率,並確保 ML 模型的安全性和可靠性。
BigQuery 可簡化資料存取權、進行可擴充的分析,以及在機器學習工作流程中使用機器學習功能。
Cloud 稽核記錄會追蹤使用者在環境中執行的動作,有助於提升疑難排解、稽核和事件應變能力。
Cloud Billing 資訊主頁和快訊可協助您查看 Agent Platform 工作負載的使用量和帳單。
Cloud Build 可讓您在 Google Cloud上建構、測試及部署無伺服器 CI/CD 平台。
Cloud Identity 可整合身分、存取權、應用程式和管理功能,適用於 Google Cloud。
Cloud Run functions 可自動執行工作、提供預測結果、觸發訓練工作、與其他服務整合,以及建構事件驅動型 ML 管道。
Cloud Storage 會儲存訓練資料、模型構件和生產資料。
Dataflow 可讓您建構複雜的管道,從各種來源擷取資料,並視需要彙整資料。
Cloud DNS 可註冊、管理及提供網域。
Identity and Access Management (IAM) 可控管哪些使用者可以對生成式工作負載資源執行特定動作,例如建立、編輯或刪除資源。
機構政策服務可集中管理及強制執行 Google Cloud環境的政策。組織政策可確保組織內部專案和資源的設定一致,並符合安全法規。
Pub/Sub 可在機器學習工作流程中實現有效率的通訊和自動化。
Resource Manager可協助您分組及管理 Agent Platform 工作負載的邏輯元件。
Secret Manager 可協助您保護 Agent Platform 專案中使用的機密資料和憑證。
Sensitive Data Protection 可自動探索資料集中的機密資料。Sensitive Data Protection 可以在資料傳送至模型前掃描提示並遮蓋機密資料,Sensitive Data Protection 也會掃描模型輸出內容,避免在回覆中洩漏機密訓練資料。
Security Command Center 可協助您保護雲端機構、AI 工作負載,以及儲存在 Google Cloud中的 AI 資料。Security Command Center 提供下列功能:
- 集中式安全性管理
- 威脅偵測與事件應變
- 自動安全性評估
- 法規遵循與監管報告
- 安全性建議與最佳做法
虛擬私有雲 (VPC) 可在安全環境中,將 AI 資源與網際網路隔離。這項網路設定有助於保護敏感資料和模型,防範未經授權的存取行為和潛在網路攻擊。
Cloud VPN 或 Cloud Interconnect 可讓您在地端部署基礎架構與 Agent Platform 環境之間建立安全的網路連線。Cloud VPN 或 Cloud Interconnect 可協助您在私人網路和 Google Cloud資源之間,順暢地傳輸資料及通訊。如果需要存取地端部署資料來進行模型訓練,或是將模型部署至地端部署資源以進行推論,建議採用這項整合功能。
生成式 AI 工作負載的最佳做法
本節提供生成式 AI 工作負載的最佳做法連結,適用於使用 Agent Platform 的情況。
- 建議的使用者群組和 IAM 角色
安全企業基礎最佳做法
驗證和授權最佳做法
機構最佳做法
網路最佳做法
記錄、監控和快訊最佳做法
金鑰和密鑰管理最佳做法
安全狀態和分析最佳做法
基礎架構最佳做法
資料管理最佳做法
資料倉儲最佳做法
儲存空間最佳做法
- 禁止公開存取 Cloud Storage bucket
- 使用統一值區層級存取權
- 保護服務帳戶的 HMAC 金鑰
- 偵測服務帳戶列舉 Cloud Storage 值區的行為
- 偵測服務帳戶對 Cloud Storage 值區的 IAM 政策所做的修改
- 確保 Cloud Storage bucket 資料保留政策使用 Bucket Lock
- 為 SetStorageClass 動作設定生命週期規則
- 為儲存空間類別設定允許的地區
- 啟用 Cloud Storage bucket 的生命週期管理
- 為 Cloud Storage 值區啟用生命週期管理規則
- 查看及評估有效物件的暫時保留狀態
- 對 Cloud Storage bucket 強制執行保留政策
- 強制執行 Cloud Storage bucket 的分類標記
- 強制使用 Cloud Storage bucket 的記錄 bucket
- 設定 Cloud Storage bucket 的刪除規則
- 確保刪除規則的 isLive 條件為 False
- 強制執行 Cloud Storage bucket 的版本控管
- 強制執行 Cloud Storage bucket 的擁有者
- 啟用重要 Cloud Storage 活動的記錄功能
工具和推論最佳做法
- 定義 Agent Platform Workbench 筆記本和執行個體的存取模式
- 停用 Agent Platform Workbench 執行個體的檔案下載功能
- 針對 Agent Platform Workbench 使用者自管筆記本和執行個體停用根目錄存取權
- 停用 Agent Platform Workbench 執行個體的終端機
- 限制 Agent Platform Workbench 筆記本和執行個體的環境選項
- 強制 Agent Platform Workbench 使用者管理的筆記本和執行個體自動執行排定的更新作業
- 限制新 Agent Platform Workbench 筆記本和執行個體的公開存取權
- 限制 Agent Platform Workbench 執行個體的虛擬私有雲網路
代理程式和應用程式最佳做法
Artifact Registry 的用途
以下是搭配使用 Artifact Registry 與 Agent Platform 的應用實例:
- 管理機器學習構件:您可以在 Artifact Registry 中集中儲存及管理所有機器學習構件,包括模型訓練程式碼、資料集、訓練好的模型,以及預測服務容器。您可以使用這個集中式存放區,跨不同團隊和專案追蹤、分享及重複使用 ML 構件。
- 版本管控和可重現性:Artifact Registry 提供機器學習構件的版本管控功能,可協助您追蹤變更,並在必要時復原至先前版本。這項功能對於確保機器學習實驗和部署作業的可重現性至關重要。
- 安全可靠的儲存空間:Artifact Registry 提供安全可靠的儲存空間,可存放機器學習構件。這些構件在靜態和傳輸期間都會加密。設定存取控管機制,限制可存取構件的使用者,保護寶貴的資料和智慧財產。
- 與 Gemini Enterprise Agent Platform Pipelines 整合:將 Artifact Registry 與 Agent Platform Pipelines 整合,建構及自動化 ML 工作流程。使用 Artifact Registry 儲存管道構件 (例如管道定義、程式碼和資料),並在上傳新構件時自動觸發管道執行。
- 簡化機器學習的 CI/CD:將 Artifact Registry 與 CI/CD 工具整合,簡化機器學習模型的開發和部署作業。舉例來說,每當您將新版模型推送至 Artifact Registry 時,系統就會使用 Artifact Registry 自動建構及部署模型服務容器。
- 支援多區域:Artifact Registry 可讓您在多區域儲存構件,有助於提升 ML 模型的效能和可用性,特別是當您的使用者位於世界各地時。
BigQuery 用途
以下是搭配使用 BigQuery 與 Agent Platform 的實例:
- 完美整合:BigQuery 和 Agent Platform 緊密整合,可讓您直接在 Agent Platform 平台中存取及分析資料。這項整合功能可免除資料移動需求、簡化機器學習工作流程,並減少阻礙。
- 可擴充的資料分析:BigQuery 提供 PB 規模的資料倉儲,可讓您分析龐大的資料集,不用擔心基礎架構限制。如要訓練及部署資料密集型機器學習模型,這種可擴充性至關重要。
- 以 SQL 為基礎的機器學習:BigQuery ML 可讓您使用熟悉的 SQL 指令,直接在 BigQuery 中訓練及部署模型。資料分析師和 SQL 從業人員無須具備進階程式設計技能,即可使用機器學習功能。
- 線上和批次預測:BigQuery ML 支援線上和批次預測。您可以針對個別資料列執行即時預測,或在批次模式下為大型資料集產生預測結果。這項彈性可滿足各種用途的延遲需求。
- 減少資料移動:使用 BigQuery ML 時,您無須將資料移至獨立的儲存空間或運算資源,即可進行模型訓練及部署。減少資料移動可簡化工作流程、縮短延遲時間,並盡量降低資料傳輸相關成本。
- 模型監控:Agent Platform 提供完善的模型監控功能,可追蹤 BigQuery ML 模型的效能、公平性和可解釋性。模型監控功能可協助您確保模型運作正常,並解決潛在問題。
- 預先訓練模型:Agent Platform 提供預先訓練模型,包括自然語言處理和電腦視覺模型。您可以在 BigQuery 中使用這些模型進一步分析,並從資料中擷取更深入的洞察資訊。
- 經濟實惠的解決方案:BigQuery ML 提供經濟實惠且具彈性的方式,可訓練及部署機器學習模型。您只需依照自己使用的資源付費,因此適合各種規模的組織。
- 進階分析功能:BigQuery 提供進階分析工具,包括地理空間分析和預測。這些工具可讓您結合機器學習和其他分析技術,深入探索資料並取得更豐富的洞察資訊。
- 提升協作效率:將 BigQuery 與 Agent Platform 搭配使用,資料科學家、機器學習工程師和分析師就能順利協作處理機器學習專案。這項合作有助於建立整合性更高且有效率的方法,解決複雜的資料問題。
Cloud Build 用途
以下是搭配使用 Cloud Build 與 Agent Platform 的應用實例:
- 自動建構機器學習管道:Cloud Build 可自動建構及測試在 Agent Platform Pipelines 中定義的機器學習管道。這項自動化功能可協助您更快且更一致地建構及部署模型。
- 建構用於部署的自訂容器映像檔:Cloud Build 可為模型服務環境建構自訂容器映像檔。透過 Cloud Build,您可以將模型程式碼、依附元件和執行階段環境封裝成單一映像檔,然後部署至 Gemini Enterprise Agent Platform Inference,提供預測結果。
- 整合 CI/CD 工作流程:Cloud Build 可讓您在 CI/CD 工作流程中,自動建構及部署機器學習模型。這項自動化功能可確保模型為最新版本,並部署至實際工作環境。
- 根據程式碼變更觸發建構作業:當模型程式碼或管道定義有變更時,Cloud Build 可以自動觸發建構作業。這項自動化功能可確保模型是使用最新程式碼建構,且所有變更都會自動部署至正式環境。
- 取得可擴充且安全的基礎架構:Cloud Build 會使用Google Cloud 可擴充且安全的基礎架構,建構及部署模型。這項可擴充性表示您不必擔心管理自己的基礎架構,可以專注於開發模型。
- 支援多種程式設計語言:Cloud Build 支援多種程式設計語言,包括 Python、Java、Go 和 Node.js。這項支援功能可讓您使用所選語言建構模型。
- 使用預先建構的建構步驟:為簡化建構程序,Cloud Build 提供預先建構的建構步驟,可執行常見的 ML 工作,例如安裝依附元件、執行測試,以及將映像檔推送至容器登錄檔。
- 建立自訂建構步驟:您可以在 Cloud Build 中定義自己的自訂建構步驟,以便在建構程序期間執行任意程式碼。
- 為其他 Agent Platform 服務建構構件: Cloud Build 可為其他 Agent Platform 服務建構構件,例如 Agent Platform 的特徵儲存庫和 Agent Platform 資料標註。這項彈性有助於在Google Cloud上建構完整的機器學習工作流程。
- 採用高成本效益的解決方案:Cloud Build 提供即付即用定價模式,因此您只需要為實際使用的資源付費。
Cloud Storage 用途
以下是搭配使用 Cloud Storage 與 Agent Platform 的應用實例:
- 儲存訓練資料:Agent Platform 可讓您將訓練資料集儲存在 Cloud Storage 值區中。使用 Cloud Storage 有多項優點:
- Cloud Storage 可處理任何大小的資料集,讓您訓練模型時不必擔心儲存空間限制,可使用大量資料。
- 您可以在 Cloud Storage bucket 上設定精細的存取權控管和加密功能,確保機密訓練資料受到保護。
- Cloud Storage 可讓您追蹤變更並還原至先前的資料版本,提供有價值的稽核追蹤記錄,並協助重現訓練實驗。
- Agent Platform 可與 Cloud Storage 完美整合,讓您在平台內存取訓練資料。
- 儲存模型構件:您可以將訓練好的模型構件 (例如模型檔案、超參數設定和訓練記錄) 儲存在 Cloud Storage 值區中。使用 Cloud Storage 可讓您執行下列操作:
- 將所有模型構件儲存在 Cloud Storage 中,做為集中式存放區,方便存取及管理。
- 追蹤及管理不同版本的模型,方便比較及視需要回溯。
- 授予隊友和協作者特定 Cloud Storage bucket 的存取權,有效率地共用模型。
- 儲存正式版資料:對於正式版使用的模型,Cloud Storage 可以儲存提供給模型進行預測的資料。舉例來說,您可以使用 Cloud Storage 執行下列操作:
- 儲存使用者資料和互動記錄,即時提供個人化推薦內容。
- 保留圖片,以便使用模型進行隨選處理和分類。
- 使用模型維護交易資料,即時識別詐欺行為。
- 與其他服務整合:Cloud Storage 可與 Agent Platform 工作流程中使用的其他 Google Cloud 服務無縫整合,例如:
- Dataflow 可簡化資料預先處理和轉換管道。
- BigQuery:存取儲存在 BigQuery 中的大型資料集,用於模型訓練和推論。
- Cloud Run 函式,用於根據模型預測或 Cloud Storage 值區中的資料變更執行動作。
- 控管費用:Cloud Storage 採用「即付即用」計費模式,因此您只需要為實際使用的儲存空間付費。這有助於節省成本,特別是處理大型資料集時。
- 啟用高可用性和耐久性:Cloud Storage 可確保資料可用性高,並防止故障或服務中斷,保證 ML 資產的可靠性及穩健存取。
- 啟用多區域支援:將資料儲存在距離使用者或應用程式較近的 Cloud Storage 區域,提升資料存取和模型預測的效能,並縮短延遲時間。
Cloud Run functions 的用途
以下是搭配 Agent Platform 使用 Cloud Run functions 的應用實例:
- 預先處理和後續處理資料:Cloud Run 函式可以預先處理資料,再將資料傳送至 Agent Platform 模型進行訓練或預測。舉例來說,函式可以清理及正規化資料,或從資料中擷取特徵。同樣地,Cloud Run 函式可以後續處理 Agent Platform 模型的輸出內容。舉例來說,函式可以格式化輸出資料,或將資料傳送至其他服務以進行進一步分析。
- 自動觸發 Agent Platform 訓練作業:如要自動訓練 Agent Platform 模型,可以使用來自各種Google Cloud 服務 (例如 Cloud Storage、Pub/Sub 和 Cloud Scheduler) 的事件,觸發 Cloud Run functions。舉例來說,您可以建立函式,在有新檔案上傳至 Cloud Storage 時觸發。這項函式可以啟動 Agent Platform 訓練工作,根據新資料訓練模型。
- 提供預測結果:Cloud Run 函式可根據 Agent Platform 模型提供預測結果,讓您為模型建立 API 端點,不必管理任何基礎架構。舉例來說,您可以編寫函式,將圖片做為輸入內容,並從 Agent Platform 圖片分類模型輸出預測結果。接著,您可以將這個函式部署為 HTTP API 端點。
- 建構事件驅動的機器學習工作流程:您可以使用 Cloud Run functions 建構事件驅動的機器學習工作流程。舉例來說,當新記錄新增至 Pub/Sub 主題時,函式可以觸發 Agent Platform 預測工作。這項函式可讓您即時處理資料,並根據模型預測結果採取行動。
- 與其他服務整合:您可以將 Cloud Run 函式與其他 Google Cloud 服務整合,例如 Cloud Storage、BigQuery 和 Cloud Firestore。整合功能可讓您建構複雜的機器學習管道,將不同服務連結在一起。
- 節省費用:使用 Cloud Run 函式時,您只需為函式執行期間使用的資源付費。此外,Cloud Run functions 會自動調整資源配置來滿足需求,確保您在流量尖峰時段維持適當的資源。
Pub/Sub 的用途
以下是搭配使用 Pub/Sub 與 Agent Platform 的應用實例:
- 非同步事件導向架構:Pub/Sub 支援事件導向通訊,讓您根據發布至 Pub/Sub 主題的事件,觸發 Agent Platform Pipelines。這些事件可能包括新資料和模型更新。
- 擴充性和可靠性:Pub/Sub 具有高度擴充性,可處理大量事件,效能不受影響。處理大型資料集或同時執行多個機器學習工作時,擴充性至關重要。Pub/Sub 也提供可靠的訊息傳遞和排序功能 (在主題內),即使在高工作負載下,也能確保處理作業的一致性。
- 彈性:您可以透過 Pub/Sub 將 Agent Platform 與其他服務 (例如 Cloud Run functions 或 Dataflow) 整合,建立具備彈性的動態 ML 管道。
- 即時監控和快訊:您可以透過 Pub/Sub 訂閱特定主題,即時接收 Agent Platform Pipelines 中的事件通知。即時監控功能可協助您監控模型訓練進度、資料預先處理結果和預測輸出內容。您可以根據特定事件設定快訊,例如工作失敗,或預測期間偵測到異常狀況。快訊可讓您主動介入並及時排解問題。
舉例來說,您可以使用 Pub/Sub 執行下列操作:
- Cloud Storage bucket 中有新資料時,觸發模型訓練。
- 將已部署模型的即時預測結果傳送至下游系統,以便進一步處理。
- 監控模型成效指標的變化並採取相應措施。
- 針對預測失敗或資料品質問題等重大事件觸發快訊。
Resource Manager 用途
以下是搭配使用 Resource Manager 與 Agent Platform 的應用實例:
- 為不同團隊或部門建立個別專案,確保資源和資料隔離,並提供精細的存取權控管。
- 對 AI 工作負載套用防護安全政策。
- 為訓練工作中的 GPU 用量定義配額,避免費用超出預算。
- 自動為新專案建立必要的 Cloud Storage bucket 和 Compute Engine 執行個體。
- 追蹤及分析特定專案的資源用量模式,以便妥善分配資源。
- 產生稽核報告,證明符合資料治理和安全政策。
Secret Manager 的用途
以下是搭配使用 Secret Manager 與 Agent Platform 的應用實例:
- 儲存 API 金鑰,以便存取用於模型訓練的外部資料來源。
- 在預測管道中加密資料庫憑證,確保存取安全。
- 提供臨時存取權杖,確保服務之間的通訊安全。
- 保護用於加密通訊頻道的私密金鑰和憑證。
- 管理在 ML 工作流程中使用的第三方服務密碼和憑證。
虛擬私有雲的用途
以下是搭配使用 VPC 與 Agent Platform 的應用實例:
在虛擬私有雲網路中定義精細的防火牆規則和存取權控管,限制流量,只允許授權連線至特定資源。
根據功能或安全性需求,將 Agent Platform 資源整理到不同的虛擬私有雲網路。
這種組織類型有助於隔離資源,並防止不同專案或團隊之間發生未經授權的存取行為。您可以為敏感工作負載建立專屬的虛擬私有雲網路,例如使用機密資料訓練模型,確保只有授權使用者和服務具有網路存取權。