掛接網路檔案系統共用區

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

本指南說明如何在執行自訂訓練工作時掛載網路檔案系統共用項目。

事前準備

  1. 虛擬私有雲 (VPC) 中建立 NFS 共用。你的分享內容必須可在未經驗證的情況下存取。

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

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

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

建立會掛載 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. 如要讓工作在使用 VPC 對等互連/PSA 時,請使用 VPC 對等互連。

    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 說明文件中的「存取權控管」。

  • 您無法同時執行兩個訓練工作,因為這兩個工作會掛載來自不同虛擬私有雲網路的 NFS 共用內容。這是因為網路對等互連限制