Ray on Vertex AI 簡介

Ray 是開放原始碼架構,可用於擴充 AI 和 Python 應用程式。Ray 提供基礎架構,可為機器學習 (ML) 工作流程執行分散式運算和平行處理作業。

Ray 和 Vertex AI 比較

如果您已使用 Ray,可以使用相同的開放原始碼 Ray 程式碼,在 Vertex AI 上編寫程式並開發應用程式,而不需要進行太多變更。接著,您可以使用 Vertex AI 與其他 Google Cloud服務的整合功能,例如 Vertex AI 推論BigQuery,作為機器學習工作流程的一部分。

如果您已使用 Vertex AI,且需要更簡單的方法來管理運算資源,可以使用 Ray 程式碼來擴大訓練規模。

在 Vertex AI 上使用 Ray 的工作流程

使用 Colab Enterprise 和 Python 適用的 Vertex AI SDK 連線至 Ray 叢集。

步驟 說明
1. 設定 Ray on Vertex AI 設定 Google 專案、安裝包含 Ray 用戶端功能的 Vertex AI SDK for Python 版本,以及 (選用) 設定 VPC 對接網路。
2. 在 Vertex AI 上建立 Ray 叢集 在 Vertex AI 上建立 Ray 叢集。必須具備 Vertex AI 管理員角色
3. 在 Vertex AI 上開發 Ray 應用程式 連線至 Vertex AI 上的 Ray 叢集,並開發應用程式。必須具備 Vertex AI 使用者角色
4. (選用) 在 Vertex AI 上使用 Ray 搭配 BigQuery 使用 BigQuery 讀取、寫入及轉換資料。
5. (選用) 在 Vertex AI 上部署模型並取得推論結果 將模型部署至 Vertex AI 線上端點,並取得推論結果。
6. 在 Vertex AI 上監控 Ray 叢集 監控 Cloud Logging 中產生的記錄,以及 Cloud Monitoring 中的指標。
7. 在 Vertex AI 上刪除 Ray 叢集 刪除 Vertex AI 上的 Ray 叢集,避免產生不必要的帳單費用。

總覽

Ray 叢集是內建的,可確保關鍵機器學習工作負載或尖峰時段的可用容量。與自訂工作不同,訓練服務會在工作完成後釋放資源,但 Ray 叢集會一直保留,直到刪除為止。

注意:請在下列情況下使用長時間執行的 Ray 叢集:

  • 如果您多次提交相同的 Ray 工作,可以在相同的長時間執行 Ray 叢集中執行工作,從而享有資料和圖像快取的優勢。
  • 如果您執行許多短效的 Ray 工作,且實際處理時間比工作啟動時間短,則建議使用長時間執行的叢集。

Vertex AI 上的 Ray 叢集可透過公開或私人連線設定。下圖顯示 Vertex AI 中 Ray 的架構和工作流程。詳情請參閱「公開或私人連線」。

具有公開連線功能的架構

Ray on Vertex AI 公開連線

  1. 使用下列選項在 Vertex AI 上建立 Ray 叢集:

    a. 使用 Google Cloud 控制台在 Vertex AI 上建立 Ray 叢集。

    b. 使用 Python 適用的 Vertex AI SDK 在 Vertex AI 上建立 Ray 叢集。

  2. 請使用下列選項,連線至 Vertex AI 上的 Ray 叢集,進行互動式開發:

    a. 在 Google Cloud 控制台中使用 Colab Enterprise,即可順暢連線。

    b. 使用任何可供公開網際網路存取的 Python 環境。

  3. 在 Vertex AI 的 Ray 叢集中開發應用程式並訓練模型:

    • 在偏好的環境 (Colab Enterprise 或任何 Python 筆記本) 中使用 Python 適用的 Vertex AI SDK。

    • 使用偏好的環境編寫 Python 指令碼。

    • 使用 Python 適用的 Vertex AI SDK、Ray Job CLI 或 Ray Job Submission API,將 Ray 工作提交至 Vertex AI 上的 Ray 叢集。

  4. 將經過訓練的模型部署至線上 Vertex AI 端點,進行即時推論。

  5. 使用 BigQuery 管理資料。

採用虛擬私有雲的架構

下圖顯示在設定 Google Cloud 專案和 VPC 網路 (選用) 後,Ray 在 Vertex AI 上的架構和工作流程:

Ray on Vertex AI vpc

  1. 設定 (a) Google 專案和 (b) 虛擬私有雲網路。

  2. 使用下列選項在 Vertex AI 上建立 Ray 叢集:

    a. 使用 Google Cloud 控制台在 Vertex AI 上建立 Ray 叢集。

    b. 使用 Python 適用的 Vertex AI SDK 在 Vertex AI 上建立 Ray 叢集。

  3. 使用下列選項,透過虛擬私有雲對等互連網路連線至 Vertex AI 上的 Ray 叢集:

  4. 使用下列選項,在 Vertex AI 的 Ray 叢集中開發應用程式,並訓練模型:

    • 在偏好的環境 (Colab Enterprise 或 Vertex AI Workbench 筆記本) 中使用 Python 適用的 Vertex AI SDK。

    • 使用偏好的環境編寫 Python 指令碼。使用 Python 適用的 Vertex AI SDK、Ray Job CLI 或 Ray 資訊主頁,將 Ray 工作提交至 Vertex AI 上的 Ray 叢集。

  5. 將經過訓練的模型部署至線上 Vertex AI 端點,用於推論。

  6. 使用 BigQuery 管理資料。

定價

Ray on Vertex AI 的定價計算方式如下:

  • 您使用的運算資源費用,會根據您在 Vertex AI 上建立 Ray 叢集時選取的機器設定收取。如需瞭解 Ray on Vertex AI 的定價資訊,請參閱定價頁面

  • 就 Ray 叢集而言,系統只會在「執行中」和「更新中」狀態時向您收費。不會收取其他費用。收費金額會根據目前的實際叢集大小。

  • 在 Vertex AI 上使用 Ray 叢集執行工作時,系統會自動產生記錄,並根據 Cloud Logging 價格收費。

  • 如果您將模型部署至端點進行線上推論,請參閱 Vertex AI 價格頁面的「預測和說明」部分。

  • 如果您在 Vertex AI 上使用 BigQuery 搭配 Ray,請參閱 BigQuery 定價

後續步驟