Mengonfigurasi resource komputasi untuk pelatihan kustom

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 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.


import com.google.cloud.aiplatform.v1.AcceleratorType;
import com.google.cloud.aiplatform.v1.ContainerSpec;
import com.google.cloud.aiplatform.v1.CustomJob;
import com.google.cloud.aiplatform.v1.CustomJobSpec;
import com.google.cloud.aiplatform.v1.JobServiceClient;
import com.google.cloud.aiplatform.v1.JobServiceSettings;
import com.google.cloud.aiplatform.v1.LocationName;
import com.google.cloud.aiplatform.v1.MachineSpec;
import com.google.cloud.aiplatform.v1.WorkerPoolSpec;
import java.io.IOException;

// Create a custom job to run machine learning training code in Vertex AI
public class CreateCustomJobSample {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String project = "PROJECT";
    String displayName = "DISPLAY_NAME";

    // Vertex AI runs your training application in a Docker container image. A Docker container
    // image is a self-contained software package that includes code and all dependencies. Learn
    // more about preparing your training application at
    // http://cloud.go888ogle.com.fqhub.com/vertex-ai/docs/training/overview#prepare_your_training_application
    String containerImageUri = "CONTAINER_IMAGE_URI";
    createCustomJobSample(project, displayName, containerImageUri);
  }

  static void createCustomJobSample(String project, String displayName, String containerImageUri)
      throws IOException {
    JobServiceSettings settings =
        JobServiceSettings.newBuilder()
            .setEndpoint("us-central1-aiplatform.googleapis.com:443")
            .build();
    String location = "us-central1";

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (JobServiceClient client = JobServiceClient.create(settings)) {
      MachineSpec machineSpec =
          MachineSpec.newBuilder()
              .setMachineType("n1-standard-4")
              .setAcceleratorType(AcceleratorType.NVIDIA_TESLA_K80)
              .setAcceleratorCount(1)
              .build();

      ContainerSpec containerSpec =
          ContainerSpec.newBuilder().setImageUri(containerImageUri).build();

      WorkerPoolSpec workerPoolSpec =
          WorkerPoolSpec.newBuilder()
              .setMachineSpec(machineSpec)
              .setReplicaCount(1)
              .setContainerSpec(containerSpec)
              .build();

      CustomJobSpec customJobSpecJobSpec =
          CustomJobSpec.newBuilder().addWorkerPoolSpecs(workerPoolSpec).build();

      CustomJob customJob =
          CustomJob.newBuilder()
              .setDisplayName(displayName)
              .setJobSpec(customJobSpecJobSpec)
              .build();
      LocationName parent = LocationName.of(project, location);
      CustomJob response = client.createCustomJob(parent, customJob);
      System.out.format("response: %s\n", response);
      System.out.format("Name: %s\n", response.getName());
    }
  }
}

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.

/**
 * TODO(developer): Uncomment these variables before running the sample.\
 * (Not necessary if passing values as arguments)
 */

// const customJobDisplayName = 'YOUR_CUSTOM_JOB_DISPLAY_NAME';
// const containerImageUri = 'YOUR_CONTAINER_IMAGE_URI';
// const project = 'YOUR_PROJECT_ID';
// const location = 'YOUR_PROJECT_LOCATION';

// Imports the Google Cloud Job Service Client library
const {JobServiceClient} = require('@google-cloud/aiplatform');

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: 'us-central1-aiplatform.googleapis.com',
};

// Instantiates a client
const jobServiceClient = new JobServiceClient(clientOptions);

async function createCustomJob() {
  // Configure the parent resource
  const parent = `projects/${project}/locations/${location}`;
  const customJob = {
    displayName: customJobDisplayName,
    jobSpec: {
      workerPoolSpecs: [
        {
          machineSpec: {
            machineType: 'n1-standard-4',
            acceleratorType: 'NVIDIA_TESLA_K80',
            acceleratorCount: 1,
          },
          replicaCount: 1,
          containerSpec: {
            imageUri: containerImageUri,
            command: [],
            args: [],
          },
        },
      ],
    },
  };
  const request = {parent, customJob};

  // Create custom job request
  const [response] = await jobServiceClient.createCustomJob(request);

  console.log('Create custom job response:\n', JSON.stringify(response));
}
createCustomJob();

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.

from google.cloud import aiplatform

def create_custom_job_sample(
    project: str,
    display_name: str,
    container_image_uri: str,
    location: str = "us-central1",
    api_endpoint: str = "us-central1-aiplatform.googleapis.com",
):
    # The AI Platform services require regional API endpoints.
    client_options = {"api_endpoint": api_endpoint}
    # Initialize client that will be used to create and send requests.
    # This client only needs to be created once, and can be reused for multiple requests.
    client = aiplatform.gapic.JobServiceClient(client_options=client_options)
    custom_job = {
        "display_name": display_name,
        "job_spec": {
            "worker_pool_specs": [
                {
                    "machine_spec": {
                        "machine_type": "n1-standard-4",
                        "accelerator_type": aiplatform.gapic.AcceleratorType.NVIDIA_TESLA_K80,
                        "accelerator_count": 1,
                    },
                    "replica_count": 1,
                    "container_spec": {
                        "image_uri": container_image_uri,
                        "command": [],
                        "args": [],
                    },
                }
            ]
        },
    }
    parent = f"projects/{project}/locations/{location}"
    response = client.create_custom_job(parent=parent, custom_job=custom_job)
    print("response:", response)

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 nilai acceleratorCount 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 GPU NVIDIA_TESLA_V100 dapat menyediakan hingga 12 CPU virtual dan memori sebesar 76 GB, Anda harus menggunakan minimal 4 GPU untuk setiap VM n1-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.

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.

/**
 * TODO(developer): Uncomment these variables before running the sample.\
 * (Not necessary if passing values as arguments)
 */

// const customJobDisplayName = 'YOUR_CUSTOM_JOB_DISPLAY_NAME';
// const containerImageUri = 'YOUR_CONTAINER_IMAGE_URI';
// const project = 'YOUR_PROJECT_ID';
// const location = 'YOUR_PROJECT_LOCATION';

// Imports the Google Cloud Job Service Client library
const {JobServiceClient} = require('@google-cloud/aiplatform');

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: 'us-central1-aiplatform.googleapis.com',
};

// Instantiates a client
const jobServiceClient = new JobServiceClient(clientOptions);

async function createCustomJob() {
  // Configure the parent resource
  const parent = `projects/${project}/locations/${location}`;
  const customJob = {
    displayName: customJobDisplayName,
    jobSpec: {
      workerPoolSpecs: [
        {
          machineSpec: {
            machineType: 'n1-standard-4',
            acceleratorType: 'NVIDIA_TESLA_K80',
            acceleratorCount: 1,
          },
          replicaCount: 1,
          containerSpec: {
            imageUri: containerImageUri,
            command: [],
            args: [],
          },
        },
      ],
    },
  };
  const request = {parent, customJob};

  // Create custom job request
  const [response] = await jobServiceClient.createCustomJob(request);

  console.log('Create custom job response:\n', JSON.stringify(response));
}
createCustomJob();

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.

from google.cloud import aiplatform

def create_custom_job_sample(
    project: str,
    display_name: str,
    container_image_uri: str,
    location: str = "us-central1",
    api_endpoint: str = "us-central1-aiplatform.googleapis.com",
):
    # The AI Platform services require regional API endpoints.
    client_options = {"api_endpoint": api_endpoint}
    # Initialize client that will be used to create and send requests.
    # This client only needs to be created once, and can be reused for multiple requests.
    client = aiplatform.gapic.JobServiceClient(client_options=client_options)
    custom_job = {
        "display_name": display_name,
        "job_spec": {
            "worker_pool_specs": [
                {
                    "machine_spec": {
                        "machine_type": "n1-standard-4",
                        "accelerator_type": aiplatform.gapic.AcceleratorType.NVIDIA_TESLA_K80,
                        "accelerator_count": 1,
                    },
                    "replica_count": 1,
                    "container_spec": {
                        "image_uri": container_image_uri,
                        "command": [],
                        "args": [],
                    },
                }
            ]
        },
    }
    parent = f"projects/{project}/locations/{location}"
    response = client.create_custom_job(parent=parent, custom_job=custom_job)
    print("response:", response)

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 ke cloud-tpu.
    • Tetapkan machineSpec.acceleratorType ke TPU_V2.
    • Tetapkan machineSpec.acceleratorCount ke 8 untuk satu TPU atau 32 or multiple of 32 untuk Pod TPU.
    • Tetapkan replicaCount ke 1.
  • Untuk mengonfigurasi VM TPU dengan TPU V3, tentukan kolom berikut di WorkerPoolSpec:

    • Tetapkan machineSpec.machineType ke cloud-tpu.
    • Tetapkan machineSpec.acceleratorType ke TPU_V3.
    • Tetapkan machineSpec.acceleratorCount ke 8 untuk satu TPU atau 32+ untuk Pod TPU.
    • Tetapkan replicaCount ke 1.

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 dalam WorkerPoolSpec Anda.

    Anda dapat menetapkan kolom ini ke pd-standard untuk menggunakan persistent disk standar yang didukung oleh hard drive standar, atau Anda dapat menyetelnya ke pd-ssd untuk menggunakan persistent disk SSD yang didukung oleh Solid State Drive. Nilai defaultnya adalah pd-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 di WorkerPoolSpec 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