Saat Anda melakukan pelatihan kustom, kode pelatihan Anda akan berjalan pada satu atau beberapa instance mesin virtual (VM). Anda dapat mengonfigurasi jenis VM yang akan digunakan untuk pelatihan: menggunakan VM dengan resource komputasi yang lebih banyak dapat mempercepat pelatihan dan memungkinkan Anda bekerja dengan set data yang lebih besar, tetapi hal tersebut juga dapat menimbulkan biaya pelatihan yang lebih besar.
Dalam beberapa kasus, Anda juga dapat menggunakan GPU untuk mempercepat pelatihan. GPU dikenai biaya tambahan.
Anda juga dapat menyesuaikan jenis dan ukuran boot disk VM pelatihan Anda (opsional).
Dokumen ini menjelaskan berbagai resource komputasi yang dapat Anda gunakan untuk pelatihan kustom dan cara mengonfigurasinya.
Tempat menentukan resource komputasi
Tentukan detail konfigurasi dalam WorkerPoolSpec
. Bergantung pada cara Anda melakukan pelatihan kustom, masukkan WorkerPoolSpec
ini di salah satu kolom API berikut:
Jika Anda membuat resource
CustomJob
, tentukanWorkerPoolSpec
dalamCustomJob.jobSpec.workerPoolSpecs
.Jika menggunakan Google Cloud CLI, Anda dapat menggunakan flag
--worker-pool-spec
atau flag--config
pada perintahgcloud ai custom-jobs create
untuk menentukan opsi pool worker.Pelajari lebih lanjut cara membuat
CustomJob
.Jika Anda membuat resource
HyperparameterTuningJob
, tentukanWorkerPoolSpec
diHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Jika menggunakan gcloud CLI, Anda dapat menggunakan flag
--config
pada perintahgcloud ai hpt-tuning-jobs create
untuk menentukan opsi pool worker.Pelajari lebih lanjut cara membuat
HyperparameterTuningJob
.Jika Anda membuat resource
TrainingPipeline
tanpa penyesuaian hyperparameter, tentukanWorkerPoolSpec
dalamTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Pelajari lebih lanjut cara membuat
TrainingPipeline
kustom.Jika Anda membuat
TrainingPipeline
dengan penyesuaian hyperparameter, tentukanWorkerPoolSpec
dalamTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Jika melakukan pelatihan terdistribusi, Anda dapat menggunakan setelan yang berbeda untuk setiap pool worker.
Jenis mesin
Di WorkerPoolSpec
, Anda harus menentukan salah satu jenis mesin berikut di kolom machineSpec.machineType
. Setiap replika dalam pool worker berjalan di VM terpisah yang memiliki jenis mesin tertentu.
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
*a3-highgpu-8g
*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
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
*
* Jenis mesin yang ditandai dengan tanda bintang dalam daftar sebelumnya harus digunakan dengan GPU atau TPU tertentu. Lihat bagian berikutnya dalam panduan ini.
Untuk mempelajari spesifikasi teknis setiap jenis mesin, baca Dokumentasi Compute Engine tentang jenis mesin. Untuk mempelajari biaya penggunaan setiap jenis mesin untuk pelatihan kustom, baca Harga.
Contoh berikut menyoroti tempat Anda menentukan jenis mesin saat membuat CustomJob
:
Konsol
Di Konsol Google Cloud, Anda tidak dapat membuat CustomJob
secara langsung. Namun, Anda dapat membuat TrainingPipeline
yang akan membuat CustomJob
. Saat Anda membuatTrainingPipeline
di Konsol Google Cloud, tentukan jenis mesin untuk setiap pool worker di langkah Compute and pricing, dalam kolom Machine type.
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
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Untuk konteks selengkapnya, baca panduan untuk membuat CustomJob
.
GPU
Jika telah menulis kode pelatihan untuk menggunakan GPU, Anda dapat mengonfigurasi pool worker untuk menggunakan satu atau beberapa GPU di setiap VM. Untuk menggunakan GPU, Anda
harus menggunakan jenis mesin A2, N1, atau G2. Selain itu, penggunaan jenis mesin yang lebih kecil seperti n1-highmem-2
dengan GPU dapat menyebabkan logging gagal untuk beberapa workload karena keterbatasan CPU. Jika tugas pelatihan Anda berhenti menampilkan log, pertimbangkan untuk memilih jenis mesin yang lebih besar.
Vertex AI mendukung jenis GPU berikut untuk pelatihan kustom:
NVIDIA_H100_80GB
NVIDIA_A100_80GB
NVIDIA_TESLA_A100
(NVIDIA A100 40 GB)NVIDIA_TESLA_K80
NVIDIA_TESLA_P4
NVIDIA_TESLA_P100
NVIDIA_TESLA_T4
NVIDIA_TESLA_V100
NVIDIA_L4
Untuk mempelajari lebih lanjut spesifikasi teknis setiap jenis GPU, baca Dokumentasi singkat Compute Engine tentang GPU untuk beban kerja komputasi. Guna mempelajari biaya penggunaan setiap jenis mesin untuk pelatihan kustom, baca Harga.
Dalam WorkerPoolSpec
, tentukan jenis GPU yang ingin Anda gunakan di kolom machineSpec.acceleratorType
dan jumlah GPU yang Anda inginkan untuk setiap VM dalam pool worker untuk digunakan di kolom machineSpec.acceleratorCount
. Namun, pilihan Anda untuk kolom ini harus memenuhi batasan berikut:
Jenis GPU yang Anda pilih harus tersedia di lokasi tempat Anda melakukan pelatihan kustom. Tidak semua jenis GPU tersedia di semua region. Pelajari ketersediaan regional.
Anda hanya dapat menggunakan jumlah GPU tertentu dalam konfigurasi. Misalnya, Anda dapat menggunakan 2 atau 4 GPU
NVIDIA_TESLA_T4
di VM, tetapi tidak dapat menggunakan 3. Untuk mengetahui nilaiacceleratorCount
yang valid untuk setiap jenis GPU, lihat tabel kompatibilitas berikut.Anda harus memastikan bahwa konfigurasi GPU menyediakan CPU dan memori virtual yang memadai untuk jenis mesin yang Anda gunakan. Misalnya, jika Anda menggunakan jenis mesin
n1-standard-32
dalam pool worker, setiap VM memiliki 32 CPU virtual dan memori sebesar 120 GB. Karena setiap GPUNVIDIA_TESLA_V100
dapat menyediakan hingga 12 CPU virtual dan memori sebesar 76 GB, Anda harus menggunakan minimal 4 GPU untuk setiap VMn1-standard-32
guna mendukung persyaratannya. (2 GPU memberikan resource yang tidak memadai, dan Anda tidak dapat menentukan 3 GPU.)Tabel kompatibilitas berikut memperhitungkan persyaratan ini.
Perhatikan batasan tambahan berikut terkait penggunaan GPU untuk pelatihan kustom yang berbeda dengan penggunaan GPU dengan Compute Engine:
- Konfigurasi dengan 8 GPU
NVIDIA_TESLA_K80
hanya menyediakan memori hingga 208 GB di semua region dan zona. - Konfigurasi dengan 4 GPU
NVIDIA_TESLA_P100
hanya menyediakan hingga 64 CPU virtual dan memori hingga 208 GB di semua region dan zona.
- Konfigurasi dengan 8 GPU
Tabel kompatibilitas berikut mencantumkan nilai yang valid untuk machineSpec.acceleratorCount
, bergantung pada pilihan Anda untuk machineSpec.machineType
dan machineSpec.acceleratorType
:
Jumlah GPU yang valid untuk setiap jenis mesin | ||||||||
---|---|---|---|---|---|---|---|---|
Machine type | NVIDIA_A100_80GB |
NVIDIA_TESLA_A100 |
NVIDIA_TESLA_K80 |
NVIDIA_TESLA_P4 |
NVIDIA_TESLA_P100 |
NVIDIA_TESLA_T4 |
NVIDIA_TESLA_V100 |
NVIDIA_L4 |
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, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4, 8 | |||
n1-standard-8 |
1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4, 8 | |||
n1-standard-16 |
2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 2, 4, 8 | |||
n1-standard-32 |
4, 8 | 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, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4, 8 | |||
n1-highmem-4 |
1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4, 8 | |||
n1-highmem-8 |
1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4, 8 | |||
n1-highmem-16 |
2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 2, 4, 8 | |||
n1-highmem-32 |
4, 8 | 2, 4 | 2, 4 | 2, 4 | 4, 8 | |||
n1-highmem-64 |
4 | 4 | 8 | |||||
n1-highmem-96 |
4 | 4 | 8 | |||||
n1-highcpu-16 |
2, 4, 8 | 1, 2, 4 | 1, 2, 4 | 1, 2, 4 | 2, 4, 8 | |||
n1-highcpu-32 |
4, 8 | 2, 4 | 2, 4 | 2, 4 | 4, 8 | |||
n1-highcpu-64 |
8 | 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 |
Contoh berikut menyoroti tempat Anda dapat menentukan GPU saat membuat CustomJob
:
Konsol
Di Konsol Google Cloud, Anda tidak dapat membuat CustomJob
secara langsung.
Namun, Anda dapat membuat TrainingPipeline
yang akan membuat CustomJob
. Saat membuat TrainingPipeline
di Konsol Google Cloud, Anda dapat menentukan GPU untuk setiap pool worker pada langkah Compute and pricing. Pertama, tentukan Machine type. Kemudian, Anda dapat menentukan detail GPU di kolom Accelerator type dan Accelerator count.
gcloud
Untuk menentukan GPU menggunakan alat Google Cloud CLI, Anda harus menggunakan file config.yaml
. Contoh:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
acceleratorType: ACCELERATOR_TYPE
acceleratorCount: ACCELERATOR_COUNT
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
Lalu, jalankan perintah seperti berikut:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Untuk konteks selengkapnya, baca panduan untuk membuat CustomJob
.
TPU
Agar dapat menggunakan Tensor Processing Unit (TPU) untuk pelatihan kustom pada Vertex AI, Anda dapat mengonfigurasi pool worker untuk menggunakan TPU VM.
Saat menggunakan VM TPU di Vertex AI, Anda hanya boleh menggunakan satu pool worker untuk pelatihan kustom, dan Anda harus mengonfigurasi pool worker ini agar menggunakan satu replika saja.
Untuk menggunakan VM TPU di pool worker, Anda harus menggunakan salah satu konfigurasi berikut:
Untuk mengonfigurasi VM TPU dengan TPU V2, tentukan kolom berikut di
WorkerPoolSpec
:- Tetapkan
machineSpec.machineType
kecloud-tpu
. - Tetapkan
machineSpec.acceleratorType
keTPU_V2
. - Tetapkan
machineSpec.acceleratorCount
ke8
untuk satu TPU atau32 or multiple of 32
untuk Pod TPU. - Tetapkan
replicaCount
ke1
.
- Tetapkan
Untuk mengonfigurasi VM TPU dengan TPU V3, tentukan kolom berikut di
WorkerPoolSpec
:- Tetapkan
machineSpec.machineType
kecloud-tpu
. - Tetapkan
machineSpec.acceleratorType
keTPU_V3
. - Tetapkan
machineSpec.acceleratorCount
ke8
untuk satu TPU atau32+
untuk Pod TPU. - Tetapkan
replicaCount
ke1
.
- Tetapkan
Contoh berikut menyoroti cara menentukan VM TPU saat Anda membuat CustomJob
:
gcloud
Untuk menentukan VM TPU menggunakan alat gcloud CLI, Anda harus menggunakan file config.yaml
. Misalnya:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: cloud-tpu
acceleratorType: TPU_V2
acceleratorCount: 8
replicaCount: 1
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
Lalu, jalankan perintah seperti berikut:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Untuk konteks selengkapnya, baca panduan untuk membuat CustomJob
.
Opsi boot disk
Anda dapat menyesuaikan boot disk untuk VM pelatihan (opsional). Semua VM di pool worker menggunakan jenis dan ukuran boot disk yang sama.
Untuk menyesuaikan jenis boot disk yang digunakan oleh setiap VM pelatihan, tentukan kolom
diskSpec.bootDiskType
dalamWorkerPoolSpec
Anda.Anda dapat menetapkan kolom ini ke
pd-standard
untuk menggunakan persistent disk standar yang didukung oleh hard drive standar, atau Anda dapat menyetelnya kepd-ssd
untuk menggunakan persistent disk SSD yang didukung oleh Solid State Drive. Nilai defaultnya adalahpd-ssd
.Menggunakan
pd-ssd
dapat meningkatkan performa jika kode pelatihan Anda membaca dan menulis ke disk. Pelajari jenis disk.Untuk menyesuaikan ukuran (dalam GB) boot disk yang digunakan oleh setiap VM pelatihan, tentukan kolom
diskSpec.bootDiskSizeGb
diWorkerPoolSpec
Anda.Anda dapat menetapkan kolom ini ke bilangan bulat antara 100 dan 64.000, inklusif. Nilai defaultnya adalah
100
.Anda mungkin ingin menambah ukuran boot disk jika kode pelatihan Anda menulis banyak data sementara ke disk. Perlu diketahui bahwa data apa pun yang Anda tulis ke boot disk bersifat sementara, dan Anda tidak dapat mengambilnya setelah pelatihan selesai.
Mengubah jenis dan ukuran boot disk akan memengaruhi harga pelatihan kustom.
Contoh berikut menyoroti tempat Anda dapat menentukan opsi boot disk saat membuat CustomJob
:
Konsol
Di Konsol Google Cloud, Anda tidak dapat membuat CustomJob
secara langsung.
Namun, Anda dapat membuat TrainingPipeline
yang akan membuat CustomJob
. Saat membuat TrainingPipeline
di Konsol Google Cloud, Anda dapat menentukan opsi boot disk untuk setiap pool worker pada langkah Compute and pricing, di menu drop-down Disk type dan kolom Disk size (GB).
gcloud
Untuk menentukan opsi boot disk menggunakan alat Google Cloud CLI, Anda harus menggunakan file config.yaml
. Contoh:
config.yaml
workerPoolSpecs:
machineSpec:
machineType: MACHINE_TYPE
diskSpec:
bootDiskType: DISK_TYPE
bootDiskSizeGb: DISK_SIZE
replicaCount: REPLICA_COUNT
containerSpec:
imageUri: CUSTOM_CONTAINER_IMAGE_URI
Lalu, jalankan perintah seperti berikut:
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Untuk konteks selengkapnya, baca panduan untuk membuat CustomJob
.
Langkah selanjutnya
- Pelajari cara membuat resource persisten untuk menjalankan tugas pelatihan kustom.
- Pelajari cara melakukan pelatihan kustom dengan membuat
CustomJob
.