資料準備總覽

您可以透過多種方式建立訓練資料。

您的選擇取決於許多因素。

將 Cloud Storage 做為已掛接的檔案系統 (Cloud Storage FUSE)

請考慮將 Cloud Storage 做為掛接的檔案系統 (Cloud Storage FUSE) 使用,原因如下:

  • 訓練資料為非結構化資料 (例如圖片、文字或影片):Cloud Storage 非常適合用來儲存這類大型檔案,通常是個別檔案。
  • 如果訓練資料採用 TFRecord 等格式進行結構化:通常會使用 Cloud Storage 儲存這些機器學習專屬格式。
  • 處理非常大的檔案時:Cloud Storage FUSE 會將資料串流傳送至訓練工作,而不需要將整個檔案下載到副本。這麼做可加快資料載入速度,並縮短大型資料集的工作啟動時間。
  • 執行分散式訓練時:Cloud Storage FUSE 可為大型檔案的順序讀取提供高處理量,這在分散式訓練情境中相當實用,因為在這種情境下,多個 worker 需要並行存取資料。
  • 您希望以便捷的方式存取 Cloud Storage 資料,就像使用本機檔案系統一樣,而不需要在訓練程式碼中明確呼叫 API。
  • 您主要需要的是可擴充的儲存空間,且不太在意隨機存取大量小型檔案的延遲時間。

Vertex AI 上的 Ray 專屬

  • 您可以將資料儲存在 Cloud Storage 值區中,讓 Ray on Vertex AI 存取。
  • Ray 可直接讀取 Cloud Storage 中的資料。舉例來說,執行 在 Ray 上執行 Spark 時,您可以從 Cloud Storage 讀取檔案。
  • Vertex AI 會使用 Cloud Storage FUSE,在 Ray 上執行的訓練工作中,將 Cloud Storage 值區掛接為本機檔案系統。這樣一來,Ray 應用程式就能使用標準檔案 I/O 作業,以本機磁碟的方式存取資料。
  • 為獲得最佳效能,建議您在執行 Ray 叢集的相同區域中使用 Cloud Storage 值區。

瞭解詳情

網路檔案系統 (NFS) 共用區

  • 當您需要以極高的處理量和低延遲存取遠端檔案,就如同這些檔案儲存在本機一樣。這對於訓練期間的特定資料類型或複雜檔案互動而言,可能相當重要。
  • 當您需要讓遠端檔案可供運算叢集中的所有節點使用時,例如 Vertex AI 上的 Ray 叢集。
  • 應用程式可從更標準的檔案系統介面中受益,且相較於 Cloud Storage FUSE,其 POSIX 相容性可能更強。
  • 您在虛擬私有雲中擁有現有的 NFS 基礎架構,且想要使用該架構。
  • 您需要在多個工作或叢集之間共用檔案或目錄,並以一致且低延遲的存取方式管理權限,建議您在檔案系統層級管理權限。

Vertex AI 上的 Ray 專屬

  • 您可以將 NFS 共用區掛接至 Vertex AI 上的 Ray 叢集,讓遠端檔案可供存取,就像是本機檔案一樣。
  • 這對共用檔案系統的高處理量和低延遲存取機制十分有利。
  • 您可以使用 Python 適用的 Vertex AI SDK 建立 Ray 叢集時設定 NFS 掛載點,指定伺服器、路徑和掛載點。掛載後,Ray 程式碼就能使用標準檔案作業讀取及寫入這些 NFS 磁碟區。

瞭解詳情

代管資料集

  • 集中式資料管理和治理:代管資料集可讓您在 Vertex AI 中集中整理及管理資料集。這有助於在不同專案和實驗中追蹤及管理資料資產。
  • 資料標註:您可以直接在受管理的資料集中建立標註工作,並管理註解集。
  • 追蹤資料歷程:代管資料集會自動追蹤資料的歷程,以便在該資料上訓練模型。這對於瞭解特定模型使用的資料來源,以及確保可重現性和治理至關重要。
  • 比較自訂模型和 AutoML 模型:您可以使用相同的資料訓練自訂模型和 AutoML 模型,這就是受管理的資料集的優點。這樣一來,您就能直接比較各個模型在相同資料集上的效能,並選擇最適合問題的做法。
  • 產生資料統計資料和圖表:Vertex AI 可自動產生受管理資料集內的統計資料和圖表。這有助於探索性資料分析,並協助您瞭解資料的特性。
  • 自動資料分割:在訓練管道中使用代管資料集時,Vertex AI 可根據指定的分數、篩選器、預先定義的分割方式或時間戳記,自動將資料分割為訓練、驗證和測試集。這可簡化資料準備程序。
  • 使用資料集版本:管理式資料集可啟用版本功能,讓您追蹤資料隨時間變化的情形,並視需要還原至先前版本。

Vertex AI 上的 Ray 專屬

  • 如果您在 Vertex AI 訓練管道中使用代管資料集,並利用 Ray 進行分散式訓練,則代管資料集的資料會提供給訓練容器,而 Ray 應用程式就能存取這些資料 (如果資料集已連結至這些來源,則可透過已掛載的 Cloud Storage 或 BigQuery 存取)。環境變數 AIP_TRAINING_DATA_URIAIP_VALIDATION_DATA_URIAIP_TEST_DATA_URI 會指向資料。

瞭解詳情

BigQuery

  • 連線至 Vertex AI 元件中的資料:許多 Vertex AI 工具和服務會直接整合至 BigQuery。您可以在 JupyterLab 中查詢 BigQuery 中的資料。這樣一來,您就能直接與 BigQuery 資料互動,進行探索、製作圖表和開發模型,而不必將資料移至其他儲存系統。
  • 建構訓練管道:在 Vertex AI 中建構訓練管道時,您可以直接使用 BigQuery 中的資料。舉例來說,管道可以從 BigQuery 擷取資料、進行預先處理,然後訓練模型。
  • 持續性模型訓練管道:如要設定持續性模型訓練,您可以根據 BigQuery 資料表中收到的新資料觸發管道執行作業。這可讓您自動重新訓練模型。您可以設定 Eventarc 觸發條件,在新的作業插入特定 BigQuery 資料表時啟動管道。
  • 模型監控:您可以使用 BigQuery 監控已部署模型的特徵偏差和偏移。如要偵測偏差,您可以指定訓練資料集的 BigQuery URI。此外,BigQuery 還能儲存線上推論端點的記錄,並用於持續監控的資料來源。因此,您的 BigQuery 資料表應具備時間戳記欄。
  • BigQuery ML 整合:您可以使用 BigQuery 資料集,透過 BigQuery ML 建構機器學習模型,並使用 SQL 進行建構。Vertex AI Workbench 可讓您以互動方式探索 BigQuery 資料,並在筆記本環境中使用 BigQuery ML。
  • 資料探索和準備:在訓練前,您可以使用 BigQuery 探索及視覺化資料。您也可以在 BigQuery 中直接使用 SQL 查詢執行資料轉換作業,然後再使用資料進行訓練。
  • 存取公開資料集:BigQuery 會託管許多公開資料集,例如芝加哥計程車車程資料集,您可以輕鬆在 Vertex AI Workbench 中進行實驗和訓練。

Vertex AI 上的 Ray 專屬

  • Vertex AI 上的 Ray 可直接讀取 BigQuery 中的資料。您可以在 Ray 工作中使用 Python 適用的 Vertex AI SDK,執行 BigQuery 查詢並實作結果,以便在 Ray 應用程式中使用。
  • 從 BigQuery 讀取資料時,請注意查詢回應的大小上限為 10 GB。
  • 您也可以使用 Vertex AI SDK for Python,將 Ray 應用程式中的資料寫回 BigQuery。

瞭解詳情