您可以設定自訂訓練工作,將網路檔案系統 (NFS) 共用區掛接至程式碼執行所在的容器。這樣一來,工作就能像存取本機檔案一樣存取遠端檔案,進而提高總處理量並降低延遲時間。
本指南說明如何在執行自訂訓練工作時掛載網路檔案系統共用項目。
事前準備
在虛擬私有雲 (VPC) 中建立 NFS 共用。你的分享內容必須可在未經驗證的情況下存取。
您可以使用 Filestore 執行個體做為 NFS 共用區。如果您使用 Filestore,且打算在下一個步驟中使用虛擬私有雲對等互連功能連線至 Vertex AI,請在建立執行個體時,將連線模式設為「私人服務存取」。如需範例,請參閱 Filestore 說明文件中的「建立執行個體」一節。
如要將 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 建立自訂工作
請按照「為預先建立的容器建構 Python 訓練應用程式」中的步驟,建構可在 Vertex AI 上執行的訓練應用程式。
建立名為
config.yaml
的檔案,說明訓練工作適用的 PSA 或 Private Service Connect 介面設定掛載設定。請使用下列其中一種格式:
Private Service Connect 介面
如要使用 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_URI 或 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 共用項目位於指定網路中。
建立自訂工作,並將
config.yaml
檔案傳遞至--config
參數。gcloud ai custom-jobs create \ --region=LOCATION \ --display-name=JOB_NAME \ --config=config.yaml
更改下列內容:
LOCATION:指定要建立工作所在的區域。
JOB_NAME:自訂工作名稱。
虛擬私有雲對等互連
如要讓工作在使用 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 共用項目位於指定網路中。
建立自訂工作,並將
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 共用內容。這是因為網路對等互連限制。