Menggunakan reservasi dengan pelatihan

Untuk memastikan resource VM tersedia saat tugas pelatihan kustom Anda membutuhkannya, Anda dapat menggunakan pemesanan Compute Engine. Pemesanan memberikan tingkat jaminan yang tinggi dalam mendapatkan kapasitas untuk resource Compute Engine. Untuk mempelajari lebih lanjut, lihat Pemesanan resource zona Compute Engine.

Ringkasan

Tugas pelatihan dan prediksi kustom Vertex AI Anda dapat menggunakan reservasi Compute Engine. Pemesanan Anda harus menentukan jenis mesin A2 atau A3. Jika resource dari pemesanan tersebut memenuhi syarat untuk diskon abonemen (DA), maka saat VM Anda menggunakan pemesanan tersebut, Anda akan mendapatkan resource tersebut dengan harga diskon. Lihat DA untuk resource yang Anda pesan.

Batasan dan persyaratan

Pertimbangkan batasan dan persyaratan berikut saat menggunakan pemesanan Compute Engine dengan Vertex AI:

  • Vertex AI hanya dapat menggunakan reservasi dengan seri mesin berikut:

    • A2
    • A3
  • Penggunaan reservasi Compute Engine dengan Vertex AI hanya didukung untuk pelatihan dan prediksi kustom.
  • Pastikan kuota yang tersedia cukup untuk tugas Vertex AI Anda. Lihat Persyaratan kuota tambahan untuk pemesanan bersama.
  • Untuk mendukung update reguler deployment Vertex AI, sebaiknya tingkatkan jumlah VM Anda setidaknya 1 VM tambahan untuk setiap deployment serentak.
  • Pastikan batasan kebijakan organisasi Anda mengizinkan pemesanan bersama. Lihat Mengizinkan dan membatasi project agar tidak membuat dan mengubah pemesanan bersama.
  • Properti instance VM reservasi Anda harus sama persis dengan beban kerja Vertex AI untuk menggunakan reservasi. Misalnya, jika workload Vertex AI memiliki jenis mesin a2-megagpu-16g, jenis mesin reservasi harus cocok. Lihat Persyaratan.
  • Layanan dan kemampuan berikut tidak didukung saat menggunakan reservasi Compute Engine dengan pelatihan Vertex AI:

Penagihan

Saat menggunakan pemesanan Compute Engine, Anda akan ditagih untuk hal-hal berikut:

Sebelum memulai

Mengizinkan reservasi digunakan

Sebelum menggunakan reservasi VM A2 atau A3, Anda harus menetapkan kebijakan berbagi untuk mengizinkan Vertex AI menggunakan reservasi. Untuk melakukannya, gunakan salah satu metode berikut:

Mengizinkan penggunaan saat membuat reservasi

Saat membuat VM A2 atau A3 satu project atau reservasi bersama, Anda dapat menentukan untuk mengizinkan Vertex AI menggunakan reservasi sebagai berikut:

  • Jika Anda menggunakan konsol Google Cloud, di bagian Layanan Google Cloud, pilih Bagikan reservasi.
  • Jika Anda menggunakan Google Cloud CLI, sertakan flag --reservation-sharing-policy yang ditetapkan ke ALLOW_ALL.
  • Jika Anda menggunakan REST API, sertakan kolom serviceShareType yang ditetapkan ke ALLOW_ALL.

Mengizinkan pemakaian dalam reservasi yang ada

Untuk mengizinkan Vertex AI menggunakan pemesanan VM A2 atau A3 yang ada, lihat Mengubah kebijakan berbagi pemesanan.

Membuat tugas pelatihan kustom dengan reservasi

Anda dapat membuat tugas pelatihan kustom yang menggunakan reservasi Compute Engine menggunakan REST API.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION: Region tempat container atau paket Python akan dijalankan.
  • PROJECT_ID: Project ID Anda.
  • JOB_NAME: Harus ada. Nama tampilan untuk CustomJob.
  • Tentukan tugas pelatihan kustom:
    • MACHINE_TYPE: Jenis mesin. Lihat jenis mesin yang tersedia untuk pelatihan.
    • RESERVATION_AFFINITY_TYPE: Harus berupa ANY, SPECIFIC_RESERVATION, atau NONE.

      • ANY berarti VM customJob Anda dapat otomatis menggunakan reservasi apa pun dengan properti yang cocok.
      • SPECIFIC_RESERVATION berarti VM customJob Anda hanya dapat menggunakan reservasi yang secara khusus ditargetkan oleh VM berdasarkan nama.
      • NONE berarti VM customJob Anda tidak dapat menggunakan reservasi apa pun. Menentukan NONE memiliki efek yang sama dengan menghilangkan spesifikasi afinitas reservasi.
    • RESERVATION_NAME: Nama pemesanan Anda.
    • DISK_TYPE: Opsional. Jenis boot disk yang akan digunakan untuk tugas, pd-standard (default) atau pd-ssd. Pelajari jenis disk lebih lanjut
    • DISK_SIZE: Opsional. Ukuran boot disk yang digunakan untuk tugas dalam satuan GB. Nilai defaultnya adalah 100.
    • REPLICA_COUNT: Jumlah replika worker yang akan digunakan. Pada umumnya, tetapkan ini ke 1 untuk kumpulan pekerja pertama Anda.
    • Jika aplikasi pelatihan Anda berjalan dalam container kustom, tentukan hal berikut:
      • CUSTOM_CONTAINER_IMAGE_URI: URI image container di Artifact Registry atau Docker Hub yang akan dijalankan di setiap replika pekerja.
      • CUSTOM_CONTAINER_COMMAND: Opsional. Perintah yang akan dipanggil saat container dimulai. Perintah ini mengganti titik entri default container.
      • CUSTOM_CONTAINER_ARGS: Opsional. Argumen yang akan diteruskan saat memulai container.
    • Jika aplikasi pelatihan Anda adalah paket Python yang berjalan dalam container bawaan, tentukan hal berikut:
      • EXECUTOR_IMAGE_URI: URI image container yang menjalankan kode yang disediakan. Lihat container bawaan yang tersedia untuk pelatihan.
      • PYTHON_PACKAGE_URIS: Daftar URI Cloud Storage yang dipisahkan koma yang menentukan file paket Python yang merupakan program pelatihan dan paket dependensinya. Jumlah maksimum URI paket adalah 100.
      • PYTHON_MODULE: Nama modul Python yang akan dijalankan setelah menginstal paket.
      • PYTHON_PACKAGE_ARGS: Opsional. Argumen command line yang akan diteruskan ke modul Python.
    • TIMEOUT: Opsional. Waktu berjalan maksimum untuk tugas.
  • Tentukan LABEL_NAME dan LABEL_VALUE untuk setiap label yang ingin Anda terapkan ke tugas kustom ini.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs

Isi JSON permintaan:

{
  "displayName": "JOB_NAME",
  "jobSpec": {
    "workerPoolSpecs": [
      {
        "machineSpec": {
          "machineType": "MACHINE_TYPE",
          "reservationAffinity": {
            "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
            "key": "compute.googleapis.com/reservation-name",
            "values": [
              "projects/PROJECT_ID/reservations/RESERVATION_NAME"
            ]
          }
        },
        "replicaCount": REPLICA_COUNT,
        "diskSpec": {
          "bootDiskType": DISK_TYPE,
          "bootDiskSizeGb": DISK_SIZE
        },

        // Union field task can be only one of the following:
        "containerSpec": {
          "imageUri": CUSTOM_CONTAINER_IMAGE_URI,
          "command": [
            CUSTOM_CONTAINER_COMMAND
          ],
          "args": [
            CUSTOM_CONTAINER_ARGS
          ]
        },
        "pythonPackageSpec": {
          "executorImageUri": EXECUTOR_IMAGE_URI,
          "packageUris": [
            PYTHON_PACKAGE_URIS
          ],
          "pythonModule": PYTHON_MODULE,
          "args": [
            PYTHON_PACKAGE_ARGS
          ]
        }
        // End of list of possible types for union field task.
      }
      // Specify one workerPoolSpec for single replica training, or multiple workerPoolSpecs
      // for distributed training.
    ],
    "scheduling": {
      "timeout": TIMEOUT
    }
  },
  "labels": {
    LABEL_NAME_1": LABEL_VALUE_1,
    LABEL_NAME_2": LABEL_VALUE_2
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content

Respons ini berisi informasi tentang spesifikasi serta TRAININGPIPELINE_ID.

Langkah selanjutnya