執行自訂訓練時,訓練程式碼會在一或多個虛擬機器 (VM) 執行個體上執行。您可以設定訓練時要使用的 VM 類型:使用具備更多運算資源的 VM 可加快訓練速度,並讓您處理更大的資料集,但也會產生較高的訓練成本。
在某些情況下,您還可以使用 GPU 加速訓練。GPU 會產生額外費用。
您也可以視需要自訂訓練虛擬機器的開機磁碟類型和大小。
本文將說明可用於自訂訓練的不同運算資源,以及如何設定這些資源。
管理費用和供應情形
為協助您管理成本或確保 VM 資源的可用性,Vertex AI 提供以下功能:
如要確保在訓練工作需要時,就能使用 VM 資源,您可以使用 Compute Engine 預訂功能。保留項目可確保您取得 Compute Engine 資源的容量,詳情請參閱「使用保留項目進行訓練」。
如要降低訓練工作執行的費用,您可以使用 Spot VM。Spot VM 是 Compute Engine 容量過剩的虛擬機器 (VM) 執行個體。Spot VM 的費用大幅折扣,但 Compute Engine 隨時可能會搶先停止或刪除 Spot VM,以便回收容量。詳情請參閱「在訓練時使用 Spot VM」。
針對要求 GPU 資源的自訂訓練工作,動態工作負載排程器可讓您根據所要求的 GPU 資源可用時間來排程工作。詳情請參閱「根據資源可用性排定訓練工作時間表」。
指定運算資源的位置
請在 WorkerPoolSpec
中指定設定詳細資料。視您執行自訂訓練的方式而定,請將此 WorkerPoolSpec
放入下列任一 API 欄位:
如果您要建立
CustomJob
資源,請在CustomJob.jobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。如果您使用 Google Cloud CLI,可以在
gcloud ai custom-jobs create
指令中使用--worker-pool-spec
旗標或--config
旗標,指定 worker 集區選項。進一步瞭解如何建立
CustomJob
。如果您要建立
HyperparameterTuningJob
資源,請在HyperparameterTuningJob.trialJobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。如果您使用的是 gcloud CLI,則可以使用
gcloud ai hpt-tuning-jobs create
指令的--config
標記,指定 worker 集區選項。進一步瞭解如何建立
HyperparameterTuningJob
。如果您在建立
TrainingPipeline
資源時未進行超參數調整,請在TrainingPipeline.trainingTaskInputs.workerPoolSpecs
中指定WorkerPoolSpec
。進一步瞭解如何建立自訂
TrainingPipeline
。如果您要建立含有超參數調整的
TrainingPipeline
,請在TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。
如果您要執行分散式訓練,可以為每個工作池使用不同的設定。
機器類型
在 WorkerPoolSpec
中,您必須在 machineSpec.machineType
欄位中指定下列其中一種機器類型。工作站集區中的每個備份都會在具有指定機器類型的個別 VM 上執行。
a4-highgpu-8g
*a3-ultragpu-8g
*a3-megagpu-8g
*a3-highgpu-1g
*a3-highgpu-2g
*a3-highgpu-4g
*a3-highgpu-8g
*a2-ultragpu-1g
*a2-ultragpu-2g
*a2-ultragpu-4g
*a2-ultragpu-8g
*a2-highgpu-1g
*a2-highgpu-2g
*a2-highgpu-4g
*a2-highgpu-8g
*a2-megagpu-16g
*e2-standard-4
e2-standard-8
e2-standard-16
e2-standard-32
e2-highmem-2
e2-highmem-4
e2-highmem-8
e2-highmem-16
e2-highcpu-16
e2-highcpu-32
n2-standard-4
n2-standard-8
n2-standard-16
n2-standard-32
n2-standard-48
n2-standard-64
n2-standard-80
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-48
n2-highmem-64
n2-highmem-80
n2-highcpu-16
n2-highcpu-32
n2-highcpu-48
n2-highcpu-64
n2-highcpu-80
n1-standard-4
n1-standard-8
n1-standard-16
n1-standard-32
n1-standard-64
n1-standard-96
n1-highmem-2
n1-highmem-4
n1-highmem-8
n1-highmem-16
n1-highmem-32
n1-highmem-64
n1-highmem-96
n1-highcpu-16
n1-highcpu-32
n1-highcpu-64
n1-highcpu-96
c2-standard-4
c2-standard-8
c2-standard-16
c2-standard-30
c2-standard-60
ct5lp-hightpu-1t
*ct5lp-hightpu-4t
*ct5lp-hightpu-8t
*m1-ultramem-40
m1-ultramem-80
m1-ultramem-160
m1-megamem-96
g2-standard-4
*g2-standard-8
*g2-standard-12
*g2-standard-16
*g2-standard-24
*g2-standard-32
*g2-standard-48
*g2-standard-96
*cloud-tpu
*
* 上述清單中標有星號的機器類型必須搭配特定 GPU 或 TPU 使用。請參閱本指南的下列章節。
如要瞭解各機器類型的技術規格,請參閱 Compute Engine 說明文件中的機器類型。如要瞭解使用各機器類型進行自訂訓練的費用,請參閱定價。
以下範例會說明建立 CustomJob
時,應在何處指定機器類型:
控制台
您無法在 Google Cloud 主控台中直接建立 CustomJob
。不過,您可以建立 TrainingPipeline
來建立 CustomJob
。在 Google Cloud 主控台中建立 TrainingPipeline
時,請在「計算與定價」步驟的「機器類型」欄位中,為每個工作站集區指定機器類型。
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Java。詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Node.js。詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python 適用的 Vertex AI SDK
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for Python API 參考說明文件。
如需更多背景資訊,請參閱建立 CustomJob
的指南。
GPU
如果您已編寫訓練程式碼以使用 GPU,則可以設定工作站集區,以便在每個 VM 上使用一或多個 GPU。如要使用 GPU,您必須使用 A2、N1 或 G2 機器類型。此外,使用較小機器類型 (例如 n1-highmem-2
) 搭配 GPU 時,可能會因為 CPU 限制而導致部分工作負載的記錄作業失敗。如果訓練工作停止傳回記錄,請考慮選取較大的機器類型。
Vertex AI 支援下列自訂訓練的 GPU 類型:
NVIDIA_B200
* (包括 GPUDirect-RDMA)NVIDIA_H100_MEGA_80GB
* (包括 GPUDirect-TCPXO)NVIDIA_H100_80GB
NVIDIA_H200_141GB
* (包括 GPUDirect-RDMA)NVIDIA_A100_80GB
NVIDIA_TESLA_A100
(NVIDIA A100 40GB)NVIDIA_TESLA_P4
NVIDIA_TESLA_P100
NVIDIA_TESLA_T4
NVIDIA_TESLA_V100
NVIDIA_L4
如要進一步瞭解各類型 GPU 的技術規格,請參閱 Compute Engine 簡短說明文件,瞭解用於運算工作負載的 GPU。如要瞭解使用各機器類型進行自訂訓練的費用,請參閱「定價」一文。
在 WorkerPoolSpec
中,請在 machineSpec.acceleratorType
欄位中指定要使用的 GPU 類型,並在 machineSpec.acceleratorCount
欄位中指定工作站集區中每個 VM 要使用的 GPU 數量。不過,您選擇的這些欄位必須符合下列限制:
您選擇的 GPU 類型必須在執行自訂訓練的位置可用。某些地區可能只提供部分 GPU 類型。瞭解區域供應情形。
只能在設定中使用特定數量的 GPU。舉例來說,您可以在 VM 上使用 2 或 4 個
NVIDIA_TESLA_T4
GPU,但不能使用 3 個。如要查看每種 GPU 類型可用的acceleratorCount
值,請參閱下列相容性表。您必須確認 GPU 設定為所用機器類型提供足夠的虛擬 CPU 和記憶體。舉例來說,如果您在 worker 集區中使用
n1-standard-32
機器類型,那麼每個 VM 都會有 32 個虛擬 CPU 和 120 GB 記憶體。由於每個NVIDIA_TESLA_V100
GPU 可提供最多 12 個虛擬 CPU 和 76 GB 記憶體,因此您必須為每個n1-standard-32
VM 使用至少 4 個 GPU,以滿足其需求。(2 個 GPU 提供的資源不足,且您無法指定 3 個 GPU)。下表列出這項規定。
請注意,使用 GPU 進行自訂訓練時,與使用 Compute Engine 時的 GPU 使用方式不同,因此會受到額外限制:
- 在「所有」地區及區域,4 個
NVIDIA_TESLA_P100
GPU 的設定僅提供最多 64 個虛擬 CPU 及 208 GB 記憶體。
- 在「所有」地區及區域,4 個
如果工作使用 Dynamic Workload Scheduler 或 Spot VM,請將
CustomJob
的scheduling.strategy
欄位更新為所選策略。
下表列出 machineSpec.acceleratorCount
的有效值,取決於您為 machineSpec.machineType
和 machineSpec.acceleratorType
所做的選擇:
各機器類型的有效 GPU 數量 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
機型 | NVIDIA_H100_MEGA_80GB |
NVIDIA_H100_80GB |
NVIDIA_A100_80GB |
NVIDIA_TESLA_A100 |
NVIDIA_TESLA_P4 |
NVIDIA_TESLA_P100 |
NVIDIA_TESLA_T4 |
NVIDIA_TESLA_V100 |
NVIDIA_L4 |
NVIDIA_H200_141GB |
NVIDIA_B200 |
a3-megagpu-8g |
8 | ||||||||||
a3-highgpu-1g |
1* | ||||||||||
a3-highgpu-2g |
2* | ||||||||||
a3-highgpu-4g |
4* | ||||||||||
a3-highgpu-8g |
8 | ||||||||||
a3-ultragpu-8g |
8 | ||||||||||
a4-highgpu-8g |
8 | ||||||||||
a2-ultragpu-1g |
1 | ||||||||||
a2-ultragpu-2g |
2 | ||||||||||
a2-ultragpu-4g |
4 | ||||||||||
a2-ultragpu-8g |
8 | ||||||||||
a2-highgpu-1g |
1 | ||||||||||
a2-highgpu-2g |
2 | ||||||||||
a2-highgpu-4g |
4 | ||||||||||
a2-highgpu-8g |
8 | ||||||||||
a2-megagpu-16g |
16 | ||||||||||
n1-standard-4 |
1、2、4 | 1、2、4 | 1、2、4 | 1、2、4、8 | |||||||
n1-standard-8 |
1、2、4 | 1、2、4 | 1、2、4 | 1、2、4、8 | |||||||
n1-standard-16 |
1、2、4 | 1、2、4 | 1、2、4 | 2、4、8 | |||||||
n1-standard-32 |
2、4 | 2、4 | 2、4 | 4、8 | |||||||
n1-standard-64 |
4 | 4 | 8 | ||||||||
n1-standard-96 |
4 | 4 | 8 | ||||||||
n1-highmem-2 |
1、2、4 | 1、2、4 | 1、2、4 | 1、2、4、8 | |||||||
n1-highmem-4 |
1、2、4 | 1、2、4 | 1、2、4 | 1、2、4、8 | |||||||
n1-highmem-8 |
1、2、4 | 1、2、4 | 1、2、4 | 1、2、4、8 | |||||||
n1-highmem-16 |
1、2、4 | 1、2、4 | 1、2、4 | 2、4、8 | |||||||
n1-highmem-32 |
2、4 | 2、4 | 2、4 | 4、8 | |||||||
n1-highmem-64 |
4 | 4 | 8 | ||||||||
n1-highmem-96 |
4 | 4 | 8 | ||||||||
n1-highcpu-16 |
1、2、4 | 1、2、4 | 1、2、4 | 2、4、8 | |||||||
n1-highcpu-32 |
2、4 | 2、4 | 2、4 | 4、8 | |||||||
n1-highcpu-64 |
4 | 4 | 4 | 8 | |||||||
n1-highcpu-96 |
4 | 4 | 8 | ||||||||
g2-standard-4 |
1 | ||||||||||
g2-standard-8 |
1 | ||||||||||
g2-standard-12 |
1 | ||||||||||
g2-standard-16 |
1 | ||||||||||
g2-standard-24 |
2 | ||||||||||
g2-standard-32 |
1 | ||||||||||
g2-standard-48 |
4 | ||||||||||
g2-standard-96 |
8 |
*指定的機器類型僅適用於使用動態工作負載排程器或Spot VM 時。
以下範例說明建立 CustomJob
時,可在何處指定 GPU:
控制台
您無法在 Google Cloud 主控台中直接建立 CustomJob
。不過,您可以建立 TrainingPipeline
來建立 CustomJob
。在 Google Cloud 主控台中建立 TrainingPipeline
時,您可以在「運算和定價」步驟中,為每個 worker 集區指定 GPU。首先指定機器類型。接著,您可以在「加速器類型」和「加速器數量」欄位中指定 GPU 詳細資料。
gcloud
如要使用 Google Cloud CLI 工具指定 GPU,您必須使用 config.yaml
檔案。例如:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
acceleratorType: ACCELERATOR_TYPE
acceleratorCount: ACCELERATOR_COUNT
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
然後執行下列指令:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Node.js
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Node.js。詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python 適用的 Vertex AI SDK
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for Python API 參考說明文件。
如需更多背景資訊,請參閱建立 CustomJob
的指南。
GPUDirect 網路
在 Vertex Training 中,部分 H100、H200 和 B200 系列機器會預先設定 GPUDirect 網路堆疊。與未使用 GPUDirect 的 GPU 相比,GPUDirect 可將 GPU 間網路速度提高至最高 2 倍。
GPUDirect 會減少在 GPU 之間傳輸封包酬載所需的額外負擔,大幅提升大規模的處理量。
GPUDirect-TCPXO
a3-megagpu-8g
機器類型有:
- 每部機器 8 個 NVIDIA H100 GPU
- 主要 NIC 的頻寬最高可達 200 Gbps
- 8 個次要 NIC,每個 NIC 可支援最高 200 Gbps 的 GPU 資料傳輸速度
- GPUDirect-TCPXO,可進一步改善 GPU 與 VM 之間的通訊
搭載 GPUDirect 的 GPU 特別適合用於分散式訓練大型模型。
GPUDirect-RDMA
a3-ultragpu-8g
和 a4-highgpu-8g
機器類型具有:
- 每部機器 8 個 NVIDIA H200/B200 GPU
- 2 個主機 NIC,提供 400 Gbps 的頻寬
- 8 個 NIC 可提供高達 3200 Gbps 的 GPU 資料傳輸速度
- GPUDirect-RDMA:透過 RoCE (RDMA over Converged Ethernet) 為大規模機器學習訓練工作負載提供更高的 GPU 通訊網路效能
TPU
如要在 Vertex AI 上使用 Tensor Processing Unit (TPU) 進行自訂訓練,您可以設定 worker 集區以使用 TPU VM。
在 Vertex AI 中使用 TPU VM 時,您必須只使用單一工作站集區進行自訂訓練,且必須將這個工作站集區設為只使用一個副本。
TPU v2 和 v3
如要在工作站集區中使用 TPU v2 或 v3 VM,您必須使用下列其中一種設定:
如要使用 TPU v2 設定 TPU VM,請在
WorkerPoolSpec
中指定下列欄位:- 將
machineSpec.machineType
設為cloud-tpu
。 - 將
machineSpec.acceleratorType
設為TPU_V2
。 - 針對單一 TPU 將
machineSpec.acceleratorCount
設為8
,針對 TPU Pod 將machineSpec.acceleratorCount
設為32 or multiple of 32
。 - 將
replicaCount
設為1
。
- 將
如要使用 TPU v3 設定 TPU VM,請在
WorkerPoolSpec
中指定下列欄位:- 將
machineSpec.machineType
設為cloud-tpu
。 - 將
machineSpec.acceleratorType
設為TPU_V3
。 - 針對單一 TPU 將
machineSpec.acceleratorCount
設為8
,針對 TPU Pod 將machineSpec.acceleratorCount
設為32+
。 - 將
replicaCount
設為1
。
- 將
如要瞭解 TPU 的區域供應情形,請參閱「使用加速器」一文。
TPU v5e
TPU v5e 需要 JAX 0.4.6 以上版本、TensorFlow 2.15 以上版本或 PyTorch 2.1 以上版本。如要設定含有 TPU v5e 的 TPU VM,請在 WorkerPoolSpec
中指定下列欄位:
- 將
machineSpec.machineType
設為ct5lp-hightpu-1t
、ct5lp-hightpu-4t
或ct5lp-hightpu-8t
。 - 將
machineSpec.tpuTopology
設為機器類型支援的拓撲。詳情請參閱下表。 - 將
replicaCount
設為1
。
下表列出 TPU v5e 機器類型和拓樸,可支援自訂訓練:
機器類型 | 拓撲 | TPU 晶片數量 | VM 數量 | 建議用途 |
---|---|---|---|---|
ct5lp-hightpu-1t |
1x1 | 1 | 1 | 小至中型訓練 |
ct5lp-hightpu-4t |
2x2 | 4 | 1 | 小至中型訓練 |
ct5lp-hightpu-8t |
2x4 | 8 | 1 | 小至中型訓練 |
ct5lp-hightpu-4t |
2x4 | 8 | 2 | 小至中型訓練 |
ct5lp-hightpu-4t |
4x4 | 16 | 4 | 大規模訓練 |
ct5lp-hightpu-4t |
4x8 | 32 | 8 | 大規模訓練 |
ct5lp-hightpu-4t |
8x8 | 64 | 16 | 大規模訓練 |
ct5lp-hightpu-4t |
8x16 | 128 | 32 | 大規模訓練 |
ct5lp-hightpu-4t |
16x16 | 256 | 64 | 大規模訓練 |
在 TPU v5e VM 上執行的自訂訓練工作,會針對總處理量和可用性進行最佳化。詳情請參閱「v5e 訓練加速器類型」。
如要瞭解 TPU 的區域供應情形,請參閱「使用加速器」一文。如要進一步瞭解 TPU v5e,請參閱「Cloud TPU v5e 訓練」一文。
機器類型比較:
機器類型 | ct5lp-hightpu-1t | ct5lp-hightpu-4t | ct5lp-hightpu-8t |
---|---|---|---|
v5e 晶片數量 | 1 | 4 | 8 |
vCPU 數量 | 24 | 112 | 224 |
RAM (GB) | 48 | 192 | 384 |
NUMA 節點數量 | 1 | 1 | 2 |
先占的可能性 | 高 | 中 | 低 |
TPU v6e
TPU v6e 需要 Python 3.10 以上版本、JAX 0.4.37 以上版本、使用 PJRT 做為預設執行階段的 PyTorch 2.1 以上版本,或是只使用 tf-nightly 執行階段版本 2.18 以上的 TensorFlow。如要設定含有 TPU v6e 的 TPU VM,請在 WorkerPoolSpec
中指定下列欄位:
- 將
machineSpec.machineType
設為ct6e
。 - 將
machineSpec.tpuTopology
設為機器類型支援的拓撲。詳情請參閱下表。 - 將
replicaCount
設為1
。
下表列出自訂訓練支援的 TPU v6e 機器類型和拓樸:
機器類型 | 拓撲 | TPU 晶片數量 | VM 數量 | 建議用途 |
---|---|---|---|---|
ct6e-standard-1t |
1x1 | 1 | 1 | 小至中型訓練 |
ct6e-standard-8t |
2x4 | 8 | 1 | 小至中型訓練 |
ct6e-standard-4t |
2x2 | 4 | 1 | 小至中型訓練 |
ct6e-standard-4t |
2x4 | 8 | 2 | 小至中型訓練 |
ct6e-standard-4t |
4x4 | 16 | 4 | 大規模訓練 |
ct6e-standard-4t |
4x8 | 32 | 8 | 大規模訓練 |
ct6e-standard-4t |
8x8 | 64 | 16 | 大規模訓練 |
ct6e-standard-4t |
8x16 | 128 | 32 | 大規模訓練 |
ct6e-standard-4t |
16x16 | 256 | 64 | 大規模訓練 |
如要瞭解 TPU 的區域供應情形,請參閱「使用加速器」一文。如要進一步瞭解 TPU v6e,請參閱「Cloud TPU v6e 訓練」一文。
機器類型比較:
機器類型 | ct6e-standard-1t | ct6e-standard-4t | ct6e-standard-8t |
---|---|---|---|
v6e 晶片數量 | 1 | 4 | 8 |
vCPU 數量 | 44 | 180 | 180 |
RAM (GB) | 48 | 720 | 1440 |
NUMA 節點數量 | 2 | 1 | 2 |
先占的可能性 | 高 | 中 | 低 |
範例:CustomJob
指定 TPU VM
下列範例說明如何在建立 CustomJob
時指定 TPU VM:
gcloud
如要使用 gcloud CLI 工具指定 TPU VM,您必須使用 config.yaml
檔案。選取下列任一分頁標籤,即可查看範例:
TPU v2/v3
workerPoolSpecs:
machineSpec:
machineType: cloud-tpu
acceleratorType: TPU_V2
acceleratorCount: 8
replicaCount: 1
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
TPU v5e
workerPoolSpecs:
machineSpec:
machineType: ct5lp-hightpu-4t
tpuTopology: 4x4
replicaCount: 1
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
然後執行下列指令:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Python
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Python。詳情請參閱 Vertex AI Python API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
如要使用 Python 適用的 Vertex AI SDK 指定 TPU VM,請參閱以下範例:
from google.cloud.aiplatform import aiplatform job = aiplatform.CustomContainerTrainingJob( display_name='DISPLAY_NAME', location='us-west1', project='PROJECT_ID', staging_bucket="gs://CLOUD_STORAGE_URI", container_uri='CONTAINER_URI') job.run(machine_type='ct5lp-hightpu-4t', tpu_topology='2x2')
如要進一步瞭解如何建立自訂訓練工作,請參閱「建立自訂訓練工作」。
開機磁碟選項
您可以選擇自訂訓練 VM 的開機磁碟。工作站集區中的所有 VM 都使用相同類型和大小的開機磁碟。
如要自訂每個訓練 VM 使用的開機磁碟類型,請在
WorkerPoolSpec
中指定diskSpec.bootDiskType
欄位。您可以將這個欄位設為下列其中一個值:
pd-standard
:使用標準硬碟支援的標準永久磁碟pd-ssd
使用由固態硬碟支援的 SSD 永久磁碟hyperdisk-balanced
,可提高 IOPS 和總處理量。
預設值為
pd-ssd
(hyperdisk-balanced
是a3-ultragpu-8g
和a4-highgpu-8g
的預設值)。如果訓練程式碼會讀取及寫入磁碟,使用
pd-ssd
或hyperdisk-balanced
可能會提升效能。瞭解磁碟類型。另請參閱超級磁碟支援的機器。如要自訂每個訓練 VM 使用的開機磁碟大小 (以 GB 為單位),請在
WorkerPoolSpec
中指定diskSpec.bootDiskSizeGb
欄位。您可以將這個欄位設為介於 100 到 64,000 之間的整數 (含頭尾)。預設值為
100
。如果訓練程式碼會將大量暫時資料寫入磁碟,您可能需要增加開機磁碟的大小。請注意,您寫入啟動磁碟的所有資料都是暫時性的,訓練完成後就無法擷取。
變更開機磁碟的類型和大小會影響自訂訓練價格。
下列範例說明建立 CustomJob
時,您可以指定開機磁碟選項的位置:
控制台
您無法在 Google Cloud 主控台中直接建立 CustomJob
。不過,您可以建立 TrainingPipeline
來建立 CustomJob
。在 Google Cloud 主控台中建立 TrainingPipeline
時,您可以在「運算和定價」步驟的「磁碟類型」下拉式清單和「磁碟大小 (GB)」欄位中,為每個工作站集區指定開機磁碟選項。
gcloud
如要使用 Google Cloud CLI 工具指定啟動磁碟選項,您必須使用 config.yaml
檔案。例如:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
diskSpec:
bootDiskType: DISK_TYPE
bootDiskSizeGb: DISK_SIZE
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
然後執行下列指令:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
如需更多背景資訊,請參閱建立 CustomJob
的指南。
後續步驟
- 瞭解如何建立持久資源,以便執行自訂訓練工作。
- 如要瞭解如何執行自訂訓練,請建立
CustomJob
。