掛接網路檔案系統共用區

您可以將自訂訓練工作設定為將網路檔案系統 (NFS) 共用區掛接到執行程式碼的容器。這樣一來,作業就能存取遠端檔案,就像存取本機檔案一樣,進而實現高總處理量和低延遲。

本指南說明執行自訂訓練工作時,如何掛接網路檔案系統共用資料夾。

事前準備

  1. 虛擬私有雲 (VPC) 中建立 NFS 共用項目。分享內容必須未設定任何驗證機制,可直接存取。

    您可以將 Filestore 執行個體做為 NFS 共用區。如果您使用 Filestore,並打算在下一個步驟中透過虛擬私有雲對等互連使用 Vertex AI,請在建立執行個體時選取「私人服務存取」做為連線模式。如需範例,請參閱 Filestore 說明文件中的「建立執行個體」。

  2. 如要將 Vertex AI 連線至代管 NFS 共用的虛擬私有雲,請按照「使用 Vertex AI 的 Private Service Connect 介面」(建議) 或「設定虛擬私有雲網路對等互連」中的操作說明進行。

自訂訓練的網路檔案系統資訊

建立會掛接 NFS 共用區的自訂訓練工作時,您必須指定下列項目:

  • Vertex AI 要存取的網路名稱。指定網路名稱的方式會因自訂訓練作業類型而異。詳情請參閱「執行自訂訓練」。

  • WorkerPoolSpec 欄位中的 NFS 設定。 包含下列欄位:

    欄位 說明
    nfsMounts.server NFS 伺服器的 IP 位址。必須是 VPC 中的私人位址。
    nfsMounts.path NFS 共用區路徑。這必須是以 / 開頭的絕對路徑。
    nfsMounts.mountPoint 本機掛接點。這必須是有效的 UNIX 目錄名稱。舉例來說,如果本機掛接點是 sourceData,請從訓練 VM 執行個體指定 /mnt/nfs/sourceData 路徑。

    詳情請參閱「指定運算資源的位置」。

範例:使用 gcloud CLI 建立自訂工作

  1. 請按照「為預先建立的容器建構 Python 訓練應用程式」中的步驟,建構要在 Vertex AI 上執行的訓練應用程式。

  2. 建立名為 config.yaml 的檔案,說明訓練工作的 PSA 或 Private Service Connect 介面設定裝載設定。請使用下列其中一種格式:

Private Service Connect 介面

  1. 如要使用 Private Service Connect 介面,請按照下列步驟操作:

    pscInterfaceConfig:
         network_attachment: NETWORK_ATTACHMENT_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
        replicaCount: 1
        pythonPackageSpec:
           executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
           packageUris:
           -  PYTHON_PACKAGE_URIS
           pythonModule: PYTHON_MODULE
        nfsMounts:
          - server: NFS_SERVER_IP
          path: NFS_SHARE_NAME
          mountPoint: LOCAL_FOLDER
    

    更改下列內容:

    • NETWORK_ATTACHMENT_NAME:網路附件的名稱。

    • MACHINE_TYPE:虛擬機器類型 ID。

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URIPRE_BUILT_CONTAINER_IMAGE_URI: Artifact Registry 中容器映像檔的 URI,用於執行提供的 Python 套件。Vertex AI 提供各種預先安裝套件的執行器映像檔,可滿足使用者的各種用途。

    • PYTHON_PACKAGE_URIS:以逗號分隔的 Cloud Storage URI 清單,指定構成訓練程式及其依附元件套件的 Python 套件檔案。套件 URI 數量上限為 100 個。

    • PYTHON_MODULE:安裝套件後要執行的 Python 模組名稱。

    • NFS_SERVER_IP:NFS 伺服器的 IP 位址。

    • NFS_SHARE_NAME:NFS 共用路徑,這是以 / 開頭的絕對路徑。

    • LOCAL_FOLDER:本機掛接點 (UNIX 目錄名稱)。

    請確認網路名稱格式正確,且 NFS 共用磁碟機位於指定網路中。

  2. 建立自訂工作,並將 config.yaml 檔案傳遞至 --config 參數。

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    更改下列內容:

    • LOCATION:指定要建立作業的區域。

    • JOB_NAME:自訂作業的名稱。

虛擬私有雲對等互連

  1. 如要讓作業使用虛擬私有雲對等互連/PSA,請使用虛擬私有雲對等互連。

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or 
                  PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    更改下列內容:

    • PROJECT_NUMBER:您的 Google Cloud 專案 ID。

    • NETWORK_NAME:私人或共用虛擬私有雲的名稱。

    • MACHINE_TYPE:虛擬機器類型 ID。

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI:Artifact Registry 中容器映像檔的 URI,用於執行提供的 Python 套件。Vertex AI 提供各種預先安裝套件的執行器映像檔,可滿足使用者的各種用途。

    • PYTHON_PACKAGE_URIS:以逗號分隔的 Cloud Storage URI 清單,指定構成訓練程式及其依附元件套件的 Python 套件檔案。套件 URI 數量上限為 100 個。

    • PYTHON_MODULE:安裝套件後要執行的 Python 模組名稱。

    • NFS_SERVER_IP:NFS 伺服器的 IP 位址。

    • NFS_SHARE_NAME:NFS 共用路徑,這是以 / 開頭的絕對路徑。

    • LOCAL_FOLDER:本機掛接點 (UNIX 目錄名稱)。

    請確認網路名稱格式正確,且 NFS 共用磁碟機位於指定網路中。

  2. 建立自訂工作,並將 config.yaml 檔案傳遞至 --config 參數。

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

更改下列內容:

  • LOCATION:指定要建立作業的區域。

  • JOB_NAME:自訂作業的名稱。

限制

  • 您必須使用 VPC 內部的 IP 位址掛接 NFS 共用項目,不得使用公開網址。

  • 訓練工作會掛接 NFS 共用項目,但不會進行驗證,因此如果需要使用者名稱和密碼,就會失敗。

    如要保護資料,請在 NFS 共用區設定權限。如果您使用 Filestore,請參閱 Filestore 說明文件中的存取權控管

  • 您無法同時執行兩項訓練工作,並從不同 VPC 網路掛接 NFS 共用項目。這是因為網路對等互連限制