Ray 是開放原始碼架構,可用於擴充 AI 和 Python 應用程式。Ray 提供基礎架構,可為機器學習 (ML) 工作流程執行分散式運算和平行處理作業。
如果您已使用 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 的架構和工作流程。詳情請參閱「公開或私人連線」。
具有公開連線功能的架構
使用下列選項在 Vertex AI 上建立 Ray 叢集:
a. 使用 Google Cloud 控制台在 Vertex AI 上建立 Ray 叢集。
b. 使用 Python 適用的 Vertex AI SDK 在 Vertex AI 上建立 Ray 叢集。
請使用下列選項,連線至 Vertex AI 上的 Ray 叢集,進行互動式開發:
a. 在 Google Cloud 控制台中使用 Colab Enterprise,即可順暢連線。
b. 使用任何可供公開網際網路存取的 Python 環境。
在 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 叢集。
將經過訓練的模型部署至線上 Vertex AI 端點,進行即時推論。
使用 BigQuery 管理資料。
採用虛擬私有雲的架構
下圖顯示在設定 Google Cloud 專案和 VPC 網路 (選用) 後,Ray 在 Vertex AI 上的架構和工作流程:
設定 (a) Google 專案和 (b) 虛擬私有雲網路。
使用下列選項在 Vertex AI 上建立 Ray 叢集:
a. 使用 Google Cloud 控制台在 Vertex AI 上建立 Ray 叢集。
b. 使用 Python 適用的 Vertex AI SDK 在 Vertex AI 上建立 Ray 叢集。
使用下列選項,透過虛擬私有雲對等互連網路連線至 Vertex AI 上的 Ray 叢集:
在Google Cloud 控制台中使用 Colab Enterprise。
使用 Vertex AI Workbench 筆記本。
使用下列選項,在 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 叢集。
將經過訓練的模型部署至線上 Vertex AI 端點,用於推論。
使用 BigQuery 管理資料。
定價
Ray on Vertex AI 的定價計算方式如下:
您使用的運算資源費用,會根據您在 Vertex AI 上建立 Ray 叢集時選取的機器設定收取。如需瞭解 Ray on Vertex AI 的定價資訊,請參閱定價頁面。
就 Ray 叢集而言,系統只會在「執行中」和「更新中」狀態時向您收費。不會收取其他費用。收費金額會根據目前的實際叢集大小。
在 Vertex AI 上使用 Ray 叢集執行工作時,系統會自動產生記錄,並根據 Cloud Logging 價格收費。
如果您在 Vertex AI 上使用 BigQuery 搭配 Ray,請參閱 BigQuery 定價。