Vertex AI 中的自訂訓練選項總覽

比較 Vertex AI 自訂訓練和 Ray on Vertex AI

Vertex AI 提供兩種自訂訓練選項:Vertex AI 自訂訓練和 Ray on Vertex AI。本頁面提供相關背景資訊,協助您選擇這兩個選項。

Vertex AI 訓練 Ray on Vertex AI
Focus 一般用途的自訂模型訓練。 擴充 AI 和 Python 應用程式,包括模型訓練、分散式應用程式和模型服務。
基礎架構 支援各種機器學習架構,例如 TensorFlow、PyTorch、scikit-learn。 採用開放原始碼 Ray 架構。支援各種架構:TensorFlow、PyTorch、scikit-learn 和 Spark on Ray (使用 RayDP)。
工作彈性 程式碼和環境的彈性極高。 建構分散式應用程式時具有高度彈性,只需稍做變更,即可使用現有的 Ray 程式碼。
擴充性 支援跨多台機器的分散式訓練。提供可調度的運算資源 (CPU、GPU、TPU)。 專為高擴充性而設計,可運用 Ray 的分散式運算功能 (最多 2,000 個節點)。支援手動和自動調度資源。
整合 與其他 Vertex AI 服務整合 (Datasets、Vertex AI Experiments 等)。 可與 Vertex AI Inference 和 BigQuery 等其他 Google Cloud 服務整合。
易用性 更容易用於標準分散式訓練典範。 需要熟悉 Ray 架構概念。
環境 代管環境,可使用預先建構或自訂容器執行自訂訓練程式碼。 代管環境,可使用 Ray 架構執行分散式應用程式,簡化 Vertex AI 上的 Ray 叢集管理作業。
超參數調整 內含超參數調整功能。 提供有效率的最佳化和實驗管理工具,簡化超參數調整作業。
訓練管線 支援多步驟的複雜機器學習工作流程。 不適用。

Vertex AI 自訂訓練與 Ray on Vertex AI 的主要差異

Vertex AI 自訂訓練是管理各種訓練方法的廣泛服務,而 Vertex AI 上的 Ray 則專門使用 Ray 分散式運算架構。

Vertex AI 訓練 Ray on Vertex AI
Focus 主要著重於模型開發和訓練。管理各種訓練方法。 專為一般用途的分散式 Python 應用程式設計,包括資料處理、模型服務和訓練擴充。
基礎架構 與特定機器學習架構 (例如 TensorFlow、PyTorch) 的分散式功能相關。 使用 Ray 做為中央分散式運算架構。無論 Ray 工作中使用的基礎 ML 架構為何,都會處理工作分配。
資源設定 設定個別訓練工作的資源。 在 Vertex AI 叢集上管理 Ray 叢集;Ray 會處理叢集內的工作分配。
發布設定 為特定訓練工作設定副本數量和類型。 在 Vertex AI 上設定 Ray 叢集的大小和組成;Ray 的排程器會在可用節點之間動態分配工作和參與者。
發布範圍 通常著重於單一訓練工作,且可能需要長時間執行。 提供更持久的通用分散式運算環境,您可以在 Ray 叢集的生命週期內執行多個分散式工作和應用程式。

摘要

如要在 Google Cloud 環境中使用 Ray 架構的分布式運算功能,請使用 Vertex AI 上的 Ray 服務。Ray on Vertex AI 可視為大型 Vertex AI 生態系統中的特定工具,特別適合高度可擴充的分散式工作負載。

如果您需要更通用的代管平台,以處理各種模型訓練方法 (包括自動化選項、自訂程式碼執行和超參數調整),更廣泛的 Vertex AI 自訂訓練服務會很有幫助。