Quando esegui l'addestramento personalizzato, il codice di addestramento viene eseguito su una o più istanze di macchine virtuali (VM). Puoi configurare i tipi di VM da utilizzare per l'addestramento: l'utilizzo di VM con più risorse di calcolo può accelerare l'addestramento e consentirti di lavorare con set di dati più grandi, ma può anche comportare maggiori costi di addestramento.
In alcuni casi, puoi utilizzare le GPU anche per accelerare l'addestramento. Le GPU comportano costi aggiuntivi.
Puoi anche personalizzare facoltativamente il tipo e le dimensioni dei dischi di avvio delle VM di training.
Questo documento descrive le diverse risorse di calcolo che puoi utilizzare per l'addestramento personalizzato e come configurarle.
Gestire costi e disponibilità
Per aiutarti a gestire i costi o garantire la disponibilità delle risorse VM, Vertex AI fornisce quanto segue:
Per assicurarti che le risorse VM siano disponibili quando i job di addestramento ne hanno bisogno, puoi utilizzare le prenotazioni di Compute Engine. Le prenotazioni offrono un alto livello di garanzia per l'ottenimento di capacità per le risorse Compute Engine. Per saperne di più, consulta la sezione Utilizzare le prenotazioni con l'addestramento.
Per ridurre il costo di esecuzione dei job di addestramento, puoi utilizzare le VM spot. Le VM spot sono istanze di macchina virtuale (VM) che rappresentano la capacità in eccesso di Compute Engine. Le VM spot beneficiano di sconti significativi, ma Compute Engine potrebbe arrestarle o eliminarle preventivamente per recuperare capacità in qualsiasi momento. Per ulteriori informazioni, consulta Utilizzare le VM spot con l'addestramento.
Per i job di addestramento personalizzato che richiedono risorse GPU, Dynamic Workload Scheduler ti consente di pianificare i job in base alla disponibilità delle risorse GPU richieste. Per saperne di più, consulta Pianificare job di addestramento in base alla disponibilità delle risorse.
Dove specificare le risorse di calcolo
Specifica i dettagli di configurazione all'interno di un
WorkerPoolSpec
. A seconda di come
esegui l'addestramento personalizzato, inserisci questo WorkerPoolSpec
in uno dei seguenti
campi API:
Se stai creando una risorsa
CustomJob
, specificaWorkerPoolSpec
inCustomJob.jobSpec.workerPoolSpecs
.Se utilizzi Google Cloud CLI, puoi utilizzare il flag
--worker-pool-spec
o il flag--config
nel comandogcloud ai custom-jobs create
per specificare le opzioni del pool di worker.Scopri di più sulla creazione di un
CustomJob
.Se stai creando una
HyperparameterTuningJob
risorsa, specificaWorkerPoolSpec
inHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Se utilizzi gcloud CLI, puoi utilizzare il flag
--config
nel comandogcloud ai hpt-tuning-jobs create
per specificare le opzioni del worker pool.Scopri di più sulla creazione di un
HyperparameterTuningJob
.Se stai creando una
TrainingPipeline
risorsa senza ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di un
TrainingPipeline
personalizzato.Se stai creando un
TrainingPipeline
con l'ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Se esegui l'addestramento distribuito, puoi utilizzare impostazioni diverse per ogni pool di worker.
Tipi di macchine
Nel tuo WorkerPoolSpec
, devi specificare uno dei seguenti tipi di macchine nel campo machineSpec.machineType
. Ogni replica nel pool di worker viene eseguita su una VM separata con il tipo di macchina specificato.
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
*
* I tipi di macchine contrassegnati con asterischi nell'elenco precedente devono essere utilizzati con determinate GPU o TPU. Consulta le sezioni seguenti di questa guida.
Per scoprire le specifiche tecniche di ogni tipo di macchina, leggi la documentazione di Compute Engine sui tipi di macchine. Per scoprire il costo dell'utilizzo di ogni tipo di macchina per l'addestramento personalizzato, consulta la sezione Prezzi.
Gli esempi seguenti mostrano dove specificare un tipo di macchina quando crei un CustomJob
:
Console
Nella console Google Cloud , non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare un TrainingPipeline
che crea un
CustomJob
. Quando crei un
TrainingPipeline
nella console Google Cloud , specifica un tipo di macchina per
ogni pool di worker nel passaggio Compute e prezzi, nel campo Tipo di macchina.
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
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Per maggiori informazioni, leggi la guida alla creazione di un
CustomJob
.
GPU
Se hai scritto il codice di addestramento per utilizzare
le GPU, puoi
configurare il pool di worker in modo che utilizzi una o più GPU su ogni VM. Per utilizzare le GPU, devi utilizzare un tipo di macchina A2, N1 o G2. Inoltre, l'utilizzo di tipi di macchine più piccoli
come n1-highmem-2
con GPU potrebbe causare errori di logging per alcuni carichi di lavoro
a causa di vincoli della CPU. Se il job di addestramento smette di restituire log, valuta la possibilità di selezionare un tipo di macchina più grande.
Vertex AI supporta i seguenti tipi di GPU per l'addestramento personalizzato:
NVIDIA_B200
* (include GPUDirect-RDMA)NVIDIA_H100_MEGA_80GB
* (include GPUDirect-TCPXO)NVIDIA_H100_80GB
NVIDIA_H200_141GB
* (include GPUDirect-RDMA)NVIDIA_A100_80GB
NVIDIA_TESLA_A100
(NVIDIA A100 da 40 GB)NVIDIA_TESLA_P4
NVIDIA_TESLA_P100
NVIDIA_TESLA_T4
NVIDIA_TESLA_V100
NVIDIA_L4
Per saperne di più sulle specifiche tecniche di ogni tipo di GPU, leggi la breve documentazione di Compute Engine sulle GPU per i carichi di lavoro di calcolo. Per scoprire il costo dell'utilizzo di ogni tipo di macchina per l'addestramento personalizzato, consulta la sezione Prezzi.
In WorkerPoolSpec
, specifica il tipo di GPU che vuoi utilizzare nel
campo machineSpec.acceleratorType
e il numero di
GPU che vuoi che ogni VM nel pool di worker utilizzi nel
campo machineSpec.acceleratorCount
. Tuttavia, le tue
scelte per questi campi devono soddisfare le seguenti limitazioni:
Il tipo di GPU scelto deve essere disponibile nella località in cui esegui l'addestramento personalizzato. Non tutti i tipi di GPU sono disponibili in tutte le regioni. Scopri di più sulla disponibilità a livello regionale.
Puoi utilizzare solo un determinato numero di GPU nella configurazione. Ad esempio, puoi utilizzare 2 o 4 GPU
NVIDIA_TESLA_T4
su una VM, ma non 3. Per vedere quali valori diacceleratorCount
sono validi per ogni tipo di GPU, consulta la tabella di compatibilità seguente.Devi assicurarti che la configurazione della GPU fornisca CPU virtuali e memoria sufficienti al tipo di macchina con cui la utilizzi. Ad esempio, se utilizzi il tipo di macchina
n1-standard-32
nel pool di worker, ogni VM ha 32 CPU virtuali e 120 GB di memoria. Poiché ogni GPUNVIDIA_TESLA_V100
può fornire fino a 12 CPU virtuali e 76 GB di memoria, devi utilizzare almeno 4 GPU per ogni VMn1-standard-32
per supportare i suoi requisiti. (2 GPU forniscono risorse insufficienti e non puoi specificare 3 GPU.)La seguente tabella di compatibilità tiene conto di questo requisito.
Tieni presente la seguente limitazione aggiuntiva sull'utilizzo delle GPU per l'addestramento personalizzato che differisce dall'utilizzo delle GPU con Compute Engine:
- Una configurazione con 4 GPU
NVIDIA_TESLA_P100
fornisce solo fino a 64 CPU virtuali e fino a 208 GB di memoria in tutte le regioni e le zone.
- Una configurazione con 4 GPU
Per i job che utilizzano Dynamic Workload Scheduler o VM spot, aggiorna il campo
scheduling.strategy
diCustomJob
alla strategia scelta.
La seguente tabella di compatibilità elenca i valori validi per
machineSpec.acceleratorCount
a seconda delle tue scelte per
machineSpec.machineType
e machineSpec.acceleratorType
:
Numeri validi di GPU per ogni tipo di macchina | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tipo di macchina | 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 |
* Il tipo di macchina specificato è disponibile solo quando utilizzi Dynamic Workload Scheduler o VM spot.
Gli esempi seguenti mostrano dove puoi specificare le GPU quando crei un CustomJob
:
Console
Nella console Google Cloud , non puoi creare direttamente un CustomJob
.
Tuttavia, puoi creare un TrainingPipeline
che crei un
CustomJob
. Quando crei un
TrainingPipeline
nella console Google Cloud , puoi specificare le GPU per ogni
pool di worker nel passaggio Calcolo e prezzi. Specifica prima un tipo di
macchina. Poi puoi specificare i dettagli della GPU nei campi Tipo di acceleratore e
Conteggio acceleratori.
gcloud
Per specificare le GPU utilizzando lo strumento Google Cloud CLI, devi utilizzare un file
config.yaml
. Ad esempio:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
acceleratorType: ACCELERATOR_TYPE
acceleratorCount: ACCELERATOR_COUNT
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
Poi esegui un comando come il seguente:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Per maggiori informazioni, leggi la guida alla creazione di un
CustomJob
.
GPUDirect Networking
Su Vertex Training, alcune macchine delle serie H100, H200 e B200 sono preconfigurate con lo stack di rete GPUDirect. GPUDirect può aumentare la velocità di rete tra le GPU fino a due volte rispetto alle GPU senza GPUDirect.
GPUDirect lo fa riducendo l'overhead necessario per trasferire i payload dei pacchetti tra le GPU, migliorando significativamente il throughput su larga scala.
GPUDirect-TCPXO
Il tipo di macchina a3-megagpu-8g
ha:
- 8 GPU NVIDIA H100 per macchina
- Larghezza di banda fino a 200 Gbps sulla NIC principale
- 8 NIC secondarie che supportano fino a 200 Gbps per il trasferimento di dati della GPU
- GPUDirect-TCPXO, che migliora ulteriormente la comunicazione tra GPU e VM
Le GPU con GPUDirect sono particolarmente adatte all'addestramento distribuito di modelli di grandi dimensioni.
GPUDirect-RDMA
I tipi di macchina a3-ultragpu-8g
e a4-highgpu-8g
hanno:
- 8 GPU NVIDIA H200/B200 per macchina
- 2 NIC host che forniscono una larghezza di banda di 400 Gbps
- 8 NIC che offrono fino a 3200 Gbps per il trasferimento di dati della GPU
- GPUDirect-RDMA, che consente prestazioni di rete più elevate per la comunicazione GPU per workload di addestramento ML su larga scala tramite RoCE (RDMA su Converged Ethernet)
TPU
Per utilizzare le Tensor Processing Unit (TPU) per l'addestramento personalizzato su Vertex AI, puoi configurare un pool di worker in modo che utilizzi una VM TPU.
Quando utilizzi una VM TPU in Vertex AI, devi utilizzare un solo pool di worker per l'addestramento personalizzato e devi configurare questo pool di worker in modo che utilizzi una sola replica.
TPU v2 e v3
Per utilizzare le VM TPU v2 o v3 nel pool di worker, devi utilizzare una delle seguenti configurazioni:
Per configurare una VM TPU con TPU v2, specifica i seguenti campi in
WorkerPoolSpec
:- Imposta
machineSpec.machineType
sucloud-tpu
. - Imposta
machineSpec.acceleratorType
suTPU_V2
. - Imposta
machineSpec.acceleratorCount
su8
per una singola TPU o su32 or multiple of 32
per i pod di TPU. - Imposta
replicaCount
su1
.
- Imposta
Per configurare una VM TPU con TPU v3, specifica i seguenti campi in
WorkerPoolSpec
:- Imposta
machineSpec.machineType
sucloud-tpu
. - Imposta
machineSpec.acceleratorType
suTPU_V3
. - Imposta
machineSpec.acceleratorCount
su8
per una singola TPU o su32+
per i pod di TPU. - Imposta
replicaCount
su1
.
- Imposta
Per informazioni sulla disponibilità regionale delle TPU, consulta Utilizzo degli acceleratori.
TPU v5e
TPU v5e richiede JAX 0.4.6+, TensorFlow 2.15+ o
PyTorch 2.1+. Per configurare una VM TPU con TPU v5e, specifica i seguenti campi
in WorkerPoolSpec
:
- Imposta
machineSpec.machineType
suct5lp-hightpu-1t
,ct5lp-hightpu-4t
oct5lp-hightpu-8t
. - Imposta
machineSpec.tpuTopology
su una topologia supportata per il tipo di macchina. Per maggiori dettagli consulta la tabella seguente. - Imposta
replicaCount
su1
.
La seguente tabella mostra i tipi di macchine TPU v5e e le topologie supportate per l'addestramento personalizzato:
Tipo di macchina | Topologia | Numero di chip TPU | Numero di VM | Caso d'uso consigliato |
---|---|---|---|---|
ct5lp-hightpu-1t |
1x1 | 1 | 1 | Addestramento su piccola e media scala |
ct5lp-hightpu-4t |
2x2 | 4 | 1 | Addestramento su piccola e media scala |
ct5lp-hightpu-8t |
2x4 | 8 | 1 | Addestramento su piccola e media scala |
ct5lp-hightpu-4t |
2x4 | 8 | 2 | Addestramento su piccola e media scala |
ct5lp-hightpu-4t |
4x4 | 16 | 4 | Addestramento su larga scala |
ct5lp-hightpu-4t |
4x8 | 32 | 8 | Addestramento su larga scala |
ct5lp-hightpu-4t |
8x8 | 64 | 16 | Addestramento su larga scala |
ct5lp-hightpu-4t |
8x16 | 128 | 32 | Addestramento su larga scala |
ct5lp-hightpu-4t |
16x16 | 256 | 64 | Addestramento su larga scala |
I job di addestramento personalizzato eseguiti su VM TPU v5e sono ottimizzati per il throughput e la disponibilità. Per saperne di più, consulta Tipi di acceleratori di addestramento v5e.
Per informazioni sulla disponibilità regionale delle TPU, consulta Utilizzo degli acceleratori. Per saperne di più su TPU v5e, consulta la sezione Addestramento per Cloud TPU v5e.
Confronto tra tipi di macchine:
Tipo di macchina | ct5lp-hightpu-1t | ct5lp-hightpu-4t | ct5lp-hightpu-8t |
---|---|---|---|
Numero di chip v5e | 1 | 4 | 8 |
Numero di vCPU | 24 | 112 | 224 |
RAM (GB) | 48 | 192 | 384 |
Numero di nodi NUMA | 1 | 1 | 2 |
Probabilità di prerilascio | Alta | Medie | Bassa |
TPU v6e
TPU v6e richiede Python 3.10+, JAX 0.4.37+,
PyTorch 2.1+ che utilizza PJRT come runtime predefinito o TensorFlow che utilizza
solo la versione 2.18+ del runtime tf-nightly. Per configurare una VM TPU con TPU v6e,
specifica i seguenti campi in WorkerPoolSpec
:
- Imposta
machineSpec.machineType
suct6e
. - Imposta
machineSpec.tpuTopology
su una topologia supportata per il tipo di macchina. Per maggiori dettagli consulta la tabella seguente. - Imposta
replicaCount
su1
.
La seguente tabella mostra i tipi di macchine TPU v6e e le topologie supportate per l'addestramento personalizzato:
Tipo di macchina | Topologia | Numero di chip TPU | Numero di VM | Caso d'uso consigliato |
---|---|---|---|---|
ct6e-standard-1t |
1x1 | 1 | 1 | Addestramento su piccola e media scala |
ct6e-standard-8t |
2x4 | 8 | 1 | Addestramento su piccola e media scala |
ct6e-standard-4t |
2x2 | 4 | 1 | Addestramento su piccola e media scala |
ct6e-standard-4t |
2x4 | 8 | 2 | Addestramento su piccola e media scala |
ct6e-standard-4t |
4x4 | 16 | 4 | Addestramento su larga scala |
ct6e-standard-4t |
4x8 | 32 | 8 | Addestramento su larga scala |
ct6e-standard-4t |
8x8 | 64 | 16 | Addestramento su larga scala |
ct6e-standard-4t |
8x16 | 128 | 32 | Addestramento su larga scala |
ct6e-standard-4t |
16x16 | 256 | 64 | Addestramento su larga scala |
Per informazioni sulla disponibilità regionale delle TPU, consulta Utilizzo degli acceleratori. Per saperne di più su TPU v6e, consulta la sezione Addestramento di Cloud TPU v6e.
Confronto tra tipi di macchine:
Tipo di macchina | ct6e-standard-1t | ct6e-standard-4t | ct6e-standard-8t |
---|---|---|---|
Numero di chip v6e | 1 | 4 | 8 |
Numero di vCPU | 44 | 180 | 180 |
RAM (GB) | 48 | 720 | 1440 |
Numero di nodi NUMA | 2 | 1 | 2 |
Probabilità di prerilascio | Alta | Medie | Bassa |
Esempio CustomJob
che specifica una VM TPU
Il seguente esempio mostra come specificare una VM TPU quando crei
un CustomJob
:
gcloud
Per specificare una VM TPU utilizzando lo strumento gcloud CLI, devi utilizzare un
file config.yaml
.
Seleziona una delle seguenti schede per visualizzare un esempio:
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
Poi esegui un comando come il seguente:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Python.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Per specificare una VM TPU utilizzando l'SDK Vertex AI per Python, consulta il seguente esempio:
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')
Per ulteriori informazioni sulla creazione di un job di addestramento personalizzato, vedi Creare job di addestramento personalizzati.
Opzioni del disco di avvio
Se vuoi, puoi personalizzare i dischi di avvio delle VM di addestramento. Tutte le VM in un worker pool utilizzano lo stesso tipo e le stesse dimensioni del disco di avvio.
Per personalizzare il tipo di disco di avvio utilizzato da ogni VM di addestramento,specifica il campo
diskSpec.bootDiskType
nel tuoWorkerPoolSpec
.Puoi impostare questo campo su uno dei seguenti valori:
pd-standard
per utilizzare un disco permanente standard supportato da un hard disk standardpd-ssd
per utilizzare un disco permanente SSD supportato da un'unità a stato solidohyperdisk-balanced
per IOPS e throughput più elevati.
Il valore predefinito è
pd-ssd
(hyperdisk-balanced
è il valore predefinito pera3-ultragpu-8g
ea4-highgpu-8g
).L'utilizzo di
pd-ssd
ohyperdisk-balanced
potrebbe migliorare il rendimento se il codice di addestramento legge e scrive sul disco. Scopri di più sui tipi di disco. Vedi anche Macchine supportate da Hyperdisk.Per personalizzare le dimensioni (in GB) del disco di avvio utilizzato da ogni VM di addestramento,specifica il campo
diskSpec.bootDiskSizeGb
nel fileWorkerPoolSpec
.Puoi impostare questo campo su un numero intero compreso tra 100 e 64.000 inclusi. Il valore predefinito è
100
.Potresti voler aumentare la dimensione del disco di avvio se il codice di addestramento scrive molti dati temporanei sul disco. Tieni presente che tutti i dati scritti sul disco di avvio sono temporanei e non possono essere recuperati al termine dell'addestramento.
La modifica del tipo e delle dimensioni dei dischi di avvio influisce sui prezzi dell'addestramento personalizzato.
I seguenti esempi mostrano dove puoi specificare le opzioni del disco di avvio quando
crei un CustomJob
:
Console
Nella console Google Cloud , non puoi creare direttamente un CustomJob
.
Tuttavia, puoi creare un TrainingPipeline
che crei un
CustomJob
. Quando crei un
TrainingPipeline
nella console Google Cloud , puoi specificare le opzioni del disco di avvio per ogni pool di worker nel passaggio Calcolo e prezzi, nell'elenco a discesa Tipo di disco e nel campo Dimensioni del disco (GB).
gcloud
Per specificare le opzioni del disco di avvio utilizzando lo strumento Google Cloud CLI, devi utilizzare un
file config.yaml
. Ad esempio:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
diskSpec:
bootDiskType: DISK_TYPE
bootDiskSizeGb: DISK_SIZE
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
Poi esegui un comando come il seguente:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Per maggiori informazioni, leggi la guida alla creazione di un
CustomJob
.
Passaggi successivi
- Scopri come creare una risorsa permanente per eseguire job di addestramento personalizzato.
- Scopri come eseguire l'addestramento personalizzato creando un
CustomJob
.