AI 和機器學習觀點:優質營運

Last reviewed 2025-04-28 UTC

這份文件是架構完善架構:AI 和機器學習觀點的一部分,概述了在 Google Cloud上建構及運作穩健 AI 和機器學習系統的原則和建議。這些建議有助於設定觀測能力、自動化和擴充性等基本要素。本文中的建議與 Google Cloud 架構完善架構的卓越營運支柱一致。

在 AI 和機器學習領域中,卓越的營運能力是指能夠順暢地部署、管理及控管 AI 和機器學習系統與管道,進而協助達成貴機構的策略目標。優質營運可協助您有效應對變化、降低作業複雜度,並確保營運作業與業務目標保持一致。

這份文件中的建議對應至下列核心原則:

為模型開發奠定穩固基礎

如要開發及部署可擴充且可靠的 AI 系統,協助您達成業務目標,穩固的模型開發基礎至關重要。這類基礎架構可實現一致的工作流程、自動執行重要步驟以減少錯誤,並確保模型能根據需求調整規模。穩固的模型開發基礎可確保機器學習系統能順暢更新、改良及重新訓練。此外,這項基礎架構還能協助您根據業務需求調整模型效能、快速部署成效顯著的 AI 解決方案,以及因應不斷變化的需求。

如要為開發 AI 模型奠定穩固基礎,請考慮採用下列建議。

定義問題和所需結果

開始任何 AI 或機器學習專案前,請務必清楚瞭解要解決的業務問題和所需成果。首先,請列出業務目標,然後將目標細分為可評估的主要成效指標 (KPI)。如要在 Jupyter 筆記本環境中整理及記錄問題定義和假設,請使用 Vertex AI Workbench 等工具。如要為程式碼和文件導入版本控管,並記錄專案、目標和假設,請使用 Git 等工具。如要開發及管理生成式 AI 應用程式的提示,可以使用 Vertex AI Studio

收集並預先處理必要資料

如要實作資料預先處理和轉換,可以使用 Dataflow (適用於 Apache Beam)、Dataproc (適用於 Apache Spark),或在適合使用 SQL 流程的情況下使用 BigQuery。如要驗證結構定義及偵測異常狀況,請使用 TensorFlow Data Validation (TFDV),並視情況在 BigQuery 中自動掃描資料品質

就生成式 AI 而言,資料品質包括準確度、關聯性、多樣性,以及是否符合所需輸出特徵。如果實際資料不足或不平衡,您可以生成合成資料,協助提升模型的穩健性和泛化能力。如要根據現有模式建立合成資料集,或擴增訓練資料以提升模型效能,請使用 BigQuery DataFrames 和 Gemini。合成資料對生成式 AI 來說特別有價值,因為這類資料有助於提升提示多樣性,以及整體模型穩健性。建構資料集來微調生成式 AI 模型時,請考慮使用 Vertex AI 的合成資料生成功能。

如果是微調或人類回饋增強學習 (RLHF) 等生成式 AI 工作,請確保標籤能準確反映生成輸出內容的品質、相關性和安全性。

選取適當的機器學習方法

設計模型和參數時,請考量模型的複雜度和運算需求。視任務而定 (例如分類、迴歸或生成),考慮使用 Vertex AI 自訂訓練建構自訂模型,或使用 AutoML 執行較簡單的 ML 任務。如要用於常見應用程式,也可以透過 Vertex AI Model Garden 存取預先訓練模型。您可以試用各種最先進的基礎模型,用於生成文字、圖片和程式碼等各種用途。

您可能需要微調預先訓練的基礎模型,才能針對特定用途達到最佳成效。如要自訂訓練作業,並滿足高效能需求,請設定 Cloud Tensor Processing Unit (TPU)GPU 資源,加速訓練和推論深度學習模型,例如大型語言模型 (LLM) 和擴散模型。

為程式碼、模型和資料設定版本控管

如要有效管理及部署程式碼版本,請使用 GitHub 或 GitLab 等工具。這些工具提供完善的協作功能、分支策略,以及與 CI/CD pipeline 的整合,確保開發流程順暢。

使用適當的解決方案管理機器學習系統的各項構件,例如:

  • 對於容器映像檔和管道元件等程式碼構件,Artifact Registry 提供可擴充的儲存解決方案,有助於提升安全性。Artifact Registry 也提供版本控管功能,並可與 Cloud BuildCloud Deploy 整合。
  • 如要管理資料構件 (例如用於訓練和評估的資料集),請使用 BigQuery 或 Cloud Storage 等解決方案進行儲存和版本控管。
  • 如要儲存中繼資料和資料位置指標,請使用版本控管系統或獨立的資料目錄。

如要維持特徵資料的一致性和版本控管,請使用 Vertex AI 特徵儲存庫。如要追蹤及管理模型構件 (包括二進位檔和中繼資料),請使用 Vertex AI Model Registry,這個工具可讓您順暢地儲存、整理及部署模型版本。

為確保模型可靠性,請導入 Vertex AI Model Monitoring。偵測資料偏移、追蹤效能,以及找出正式環境中的異常狀況。對於生成式 AI 系統,請監控輸出內容品質和安全法規遵循情況的變化。

自動化模型開發生命週期

自動化功能可協助您簡化 AI 和機器學習生命週期的每個階段。自動化作業可減少人工作業並標準化流程,進而提升作業效率,降低錯誤風險。自動化工作流程可加快疊代速度、在各環境中一致部署,並提供更可靠的結果,讓系統順暢地擴充及調整。

如要自動化 AI 和機器學習系統的開發生命週期,請參考下列建議。

使用代管管道自動化調度管理系統

使用 Vertex AI Pipelines 自動執行機器學習生命週期的每個步驟,包括資料準備、模型訓練、評估和部署。如要加快部署速度並確保各專案的一致性,請使用排定的管道執行自動執行重複性工作、使用執行指標監控工作流程,以及開發可重複使用的管道範本,以建立標準化工作流程。這些功能也適用於生成式 AI 模型,這類模型通常需要經過提示工程、回覆內容篩選和human-in-the-loop評估等特殊步驟。對於生成式 AI,Vertex AI Pipelines 可自動執行這些步驟,包括根據品質指標和安全指南評估生成的輸出內容。為提升提示多樣性和模型穩定性,自動化工作流程也可以納入資料擴增技術。

實作 CI/CD 管道

如要自動建構、測試及部署機器學習模型,請使用 Cloud Build。如果您為應用程式程式碼執行測試套件,確保基礎架構、依附元件和模型封裝符合部署需求,這項服務就特別有效。

機器學習系統通常需要程式碼測試以外的額外步驟。舉例來說,您需要對模型進行壓力測試,瞭解模型在不同負載下的表現、執行大量評估作業,評估模型在不同資料集上的成效,以及在重新訓練前驗證資料完整性。如要模擬實際工作負載進行壓力測試,可以使用 LocustGrafana k6Apache JMeter 等工具。如要找出瓶頸,請透過 Cloud Monitoring 監控延遲時間、錯誤率和資源使用率等重要指標。如果是生成式 AI,測試也必須包含針對生成內容類型進行的評估,例如文字品質、圖片保真度或程式碼功能。這些評估可能包括自動化指標,例如語言模型的困惑度,或是人工參與的評估,以瞭解創意和安全性等更細微的層面。

如要實作測試和評估工作,您可以將 Cloud Build 與其他 Google Cloud 服務整合。舉例來說,您可以使用 Vertex AI Pipelines 自動評估模型、使用 BigQuery 大規模分析資料,以及使用 Dataflow 管道驗證功能驗證特徵。

您可以使用 Vertex AI 進行持續訓練,自動根據新資料重新訓練模型,進一步強化 CI/CD pipeline。具體來說,為了確保生成式 AI 產生的輸出內容切題且多元,重新訓練可能包括使用新的訓練資料或提示自動更新模型。您可以透過 Vertex AI Model Garden 選取最新基礎模型,並進行調整。確保模型與時俱進,並根據不斷變化的業務需求進行最佳化。

實作安全且受控的模型發布程序

為盡量降低風險並確保部署作業可靠,請採用模型發布方法,以便及早偵測問題、驗證效能,並在需要時快速還原。

如要將 ML 模型和應用程式封裝為容器映像檔並部署,請使用 Cloud Deploy。您可以將模型部署至 Vertex AI 端點

使用Canary 版本等策略,為 AI 應用程式和系統實作受控版本。對於使用 Gemini 等受管理模型的應用程式,建議您先向部分使用者發布新版應用程式,再全面部署。這種做法可讓您及早偵測潛在問題,特別是使用生成式 AI 模型時,輸出結果可能有所不同。

如要發布微調模型,可以使用 Cloud Deploy 管理模型版本的部署作業,並運用初期測試版策略將風險降至最低。透過受管理模型和微調模型,控制發布的目標是在向所有使用者發布應用程式和模型之前,先向特定對象測試變更。

如要進行嚴謹的驗證,請使用 Vertex AI Experiments 比較新模型與現有模型,並使用 Vertex AI 模型評估評估模型成效。針對生成式 AI,定義符合預期用途和潛在風險的評估指標。您可以使用 Vertex AI 的 Gen AI Evaluation Service 評估毒性、連貫性、事實準確度和是否遵守安全規範等指標。

為確保部署作業的可靠性,您需要完善的回復計畫。對於傳統機器學習系統,請使用 Vertex AI Model Monitoring 偵測資料偏移和效能下降情形。對於生成式 AI 模型,您可以搭配使用 Vertex AI 模型評估、Cloud Logging 和 Cloud Monitoring,追蹤相關指標並設定警報,以便在輸出內容品質發生變化或出現有害內容時收到通知。根據生成式 AI 專屬指標設定快訊,在必要時觸發回溯程序。如要追蹤模型沿襲並還原至最新的穩定版本,請使用 Vertex AI Model Registry 的洞察資料。

實作觀測功能

由於資料或環境變化,以及模型更新,AI 和機器學習系統的行為可能會隨時間改變。這種動態特性使得可觀測性對於偵測效能問題、偏誤或非預期行為至關重要。生成式 AI 模型尤其如此,因為輸出內容可能差異很大,而且具有主觀性。監控功能可協助您主動解決非預期行為,確保 AI 和機器學習系統維持可靠、準確和公正。

如要為 AI 和 ML 系統導入可觀測性,請考慮下列建議。

持續監控成效

在模型部署後,使用指標和成效條件持續評估模型。

您可以透過 Vertex AI Model Monitoring 主動追蹤模型效能、找出訓練與服務偏差和預測偏移,並接收快訊,以便觸發必要的模型重新訓練或其他介入措施。如要有效監控訓練/服務偏斜,請建構代表理想資料分布的黃金資料集,並使用 TFDV 分析訓練資料,建立基準結構定義。

設定模型監控功能,將輸入資料的分布情形與黃金資料集進行比較,以自動偵測偏斜。對於傳統機器學習模型,請著重於指標,例如準確率、精確度、召回率、F1 分數、AUC-ROC 和對數損失。在模型監控中定義快訊的自訂門檻。如果是生成式 AI,請使用 Gen AI Evaluation Service 持續監控正式環境中的模型輸出內容。您也可以啟用自動評估指標,評估回覆的品質、安全性、是否符合指令、是否根據事實、寫作風格和詳細程度。如要評估生成內容的品質、關聯性、安全性,以及是否符合規範,可以加入human-in-the-loop評估。

建立意見回饋迴路,在模型監控功能觸發快訊時,使用 Vertex AI Pipelines 自動重新訓練模型。善用這些洞察資料,持續改善模型。

在開發期間評估模型

部署 LLM 和其他生成式 AI 模型前,請在開發階段徹底評估。使用 Vertex AI 模型評估功能,達到最佳效能並降低風險。使用 Vertex AI 快速評估,讓 Google Cloud 根據您提供的資料集和提示自動執行評估。

您也可以定義及整合專屬用途的自訂指標。如要取得生成內容的回饋,請使用 Vertex AI 模型評估服務,整合人為參與工作流程。

使用對抗性測試找出安全漏洞和潛在的故障模式。如要找出並減輕潛在偏誤,請使用子群組分析和反事實生成等技術。根據開發階段完成的評估作業收集到的洞察資料,定義實際工作環境中的模型監控策略。請按照本文「持續監控效能」一節的說明,準備好持續監控解決方案。

監控供應情形

如要掌握已部署端點和基礎架構的健康狀態和效能,請使用 Cloud Monitoring。針對 Vertex AI 端點,追蹤要求率、錯誤率、延遲和資源使用率等重要指標,並設定異常狀況的快訊。詳情請參閱「Vertex AI 的 Cloud Monitoring 指標」。

監控基礎架構的健康狀態,包括 Compute Engine 執行個體、Google Kubernetes Engine (GKE) 叢集,以及 TPU 和 GPU。透過 Active Assist 取得自動最佳化建議。 如果您使用自動調度資源功能,請監控調度資源行為,確保自動調度資源功能可適當因應流量模式變化。

整合 Cloud Deploy 與 Cloud Monitoring,追蹤模型部署狀態,包括 Canary 版本和回溯。此外,您也可以使用 Security Command Center 監控潛在安全威脅和安全漏洞。

為特定業務門檻設定自訂快訊

如要及時找出並修正異常狀況和問題,請根據業務目標專屬的門檻設定自訂快訊。以下列舉一些可實作自訂快訊系統的 Google Cloud 產品:

  • Cloud Logging: 收集、儲存及分析 AI 和 ML 系統所有元件的記錄。
  • Cloud Monitoring:建立自訂資訊主頁,以圖表呈現重要指標和趨勢,並根據需求定義自訂指標。設定快訊,接收重大問題的通知,並將快訊與事件管理工具 (例如 PagerDuty 或 Slack) 整合。
  • Error Reporting: 自動擷取及分析錯誤和例外狀況。
  • Cloud Trace: 分析分散式系統的效能,找出瓶頸。 追蹤功能特別適合用來瞭解 AI 和機器學習管道中不同元件之間的延遲。
  • Cloud Profiler: 持續分析正式環境中程式碼的效能,並找出 CPU 或記憶體用量的效能瓶頸。

培養卓越營運文化

將重點從建構模型轉移到建構永續、可靠且影響深遠的 AI 解決方案。讓團隊持續學習、創新及改進,進而加快開發週期、減少錯誤並提高效率。優先考量自動化、標準化和道德考量,確保 AI 和機器學習計畫持續創造價值、降低風險,並促進負責任的 AI 開發。

如要為 AI 和機器學習系統建立卓越營運文化,請參考下列建議。

自動化和標準化冠軍賽事

為強調效率和一致性,請在 AI 和機器學習生命週期的每個階段,都納入自動化和標準化做法。自動化作業可減少人為錯誤,讓團隊專心推動創新。標準化可確保流程在團隊和專案中可重複執行及擴充。

優先推動持續學習和改善

營造持續進修與實驗為核心原則的環境。鼓勵團隊掌握 AI 和機器學習的最新進展,並提供從過往專案中學習的機會。好奇心和適應力是創新的動力,可確保團隊有能力因應新的挑戰。

培養責任感和當責態度

明確劃分角色、職責和成效指標,建立信任感並達成共識。讓團隊能夠在這些界線內做出明智決策,並建立透明的進度評估方式。歸屬感可激勵團隊,確保大家共同承擔成果責任。

納入 AI 倫理和安全考量

在開發的每個階段,都優先考量倫理問題。鼓勵團隊審慎評估 AI 解決方案的影響,並促進公平性、偏見和社會影響方面的討論。明確的原則和問責機制可確保 AI 系統符合機構價值觀,並提升信任感。

考量擴充性設計

為因應資料量和使用者需求不斷增加的情況,並盡可能提高 AI 投資價值,您的 AI 和機器學習系統必須具備擴充性。系統必須適應並發揮最佳效能,避免效能瓶頸阻礙成效。設計可擴充的系統時,請確保 AI 基礎架構能因應成長,並維持回應速度。使用可擴充的基礎架構、規劃容量,並採用水平擴充和代管服務等策略。

如要設計可擴充的 AI 和 ML 系統,請參考下列建議。

規劃容量和配額

評估未來的成長情況,並據此規劃基礎架構容量和資源配額。與業務利害關係人合作,瞭解預計成長幅度,然後據此定義基礎架構需求。

使用 Cloud Monitoring 分析資源用量記錄、找出趨勢,並預測未來需求。定期執行負載測試,模擬工作負載並找出瓶頸。

請熟悉您使用的服務 (例如 Compute Engine、Vertex AI 和 Cloud Storage) 的Google Cloud 配額。透過 Google Cloud 控制台主動要求增加配額,並根據預測和負載測試的資料,說明增加配額的理由。監控配額用量,並設定快訊,在用量接近配額限制時接收通知。

如要根據需求量最佳化資源用量,請適當調整資源大小、使用 Spot VM 處理容錯批次工作負載,並實作自動調度資源功能。

為流量激增事件做好準備

確保系統能處理尖峰活動期間突然出現的流量或工作負載高峰。記錄尖峰事件策略,並定期演練,測試系統處理負載增加的能力。

如要在需求量暴增時積極擴充資源,請在 Compute EngineGKE 中設定自動調度資源政策。如果尖峰模式可預測,請考慮使用預測式自動調度資源功能。如要根據應用程式專屬信號觸發自動調度,請使用 Cloud Monitoring 中的自訂指標。

使用 Cloud Load Balancing 將流量分配給多個應用程式執行個體。根據應用程式需求選擇適當的負載平衡器類型。對於地理位置分散的使用者,您可以透過全域負載平衡,將流量轉送至最近的可用執行個體。如果是以微服務為基礎的複雜架構,建議使用 Cloud Service Mesh

使用 Cloud CDN 在 Google 網路邊緣快取靜態內容。如要快取經常存取的資料,可以使用 Memorystore,這項服務提供 Redis、Valkey 或 Memcached 的全代管記憶體內服務。

使用 Pub/Sub 進行即時訊息傳遞,並使用 Cloud Tasks 執行非同步工作,將系統元件分離

調度正式版應用程式的資源

如要在正式環境中確保可擴充的服務,可以使用 Vertex AI 分散式訓練Vertex AI 推論等代管服務。將模型部署至端點或要求批次預測時,您可以使用 Vertex AI Inference 為預測節點設定機器類型。部分設定可新增 GPU。選擇合適的機器類型和加速器,以最佳化延遲時間、輸送量和成本。

如要跨分散式運算資源調度複雜的 AI 和 Python 應用程式,以及自訂工作負載,可以使用 Vertex AI 上的 Ray。這項功能有助於提升效能,並與Google Cloud 服務順暢整合。Ray on Vertex AI 可處理叢集管理、工作排程和資料移轉,簡化分散式運算。這項服務可與其他 Vertex AI 服務整合,例如訓練、預測和 pipeline。Ray 提供容錯和自動調度資源功能,可協助您根據變更的工作負載調整基礎架構。這個架構提供統一的架構,可用於分散式訓練、超參數調整、強化學習和模型服務。使用 Ray 搭配 DataflowDataproc 進行分散式資料預先處理、加速模型訓練、可擴充的超參數調整、強化學習,以及平行化批次預測。

貢獻者

作者:

其他貢獻者: