Menentukan konfigurasi mesin untuk langkah pipeline

Komponen pipeline Kubeflow adalah fungsi factory yang membuat langkah-langkah pipeline. Setiap komponen menjelaskan input, output, dan implementasi komponen. Misalnya, dalam contoh kode di bawah, train_op adalah komponen.

Misalnya, komponen pelatihan dapat mengambil file CSV sebagai input dan menggunakannya untuk melatih model. Dengan menetapkan parameter jenis mesin pada langkah pipeline, Anda dapat mengelola persyaratan dari setiap langkah di pipeline. Jika memiliki dua langkah pelatihan dan satu langkah pelatihan file data besar, dan langkah kedua adalah pelatihan file data kecil, Anda dapat mengalokasikan lebih banyak memori dan CPU ke tugas pertama, dan lebih sedikit resource ke tugas kedua.

Secara default, komponen akan berjalan sebagai Vertex AI CustomJob menggunakan mesin e2-standard-4, dengan 4 CPU inti dan memori 16 GB. Untuk mengetahui informasi selengkapnya tentang pemilihan salah satu resource mesin khusus Google Cloud yang tercantum dalam Jenis mesin, lihat Meminta resource mesin Google Cloud dengan Vertex AI Pipelines.

Contoh berikut menunjukkan cara menyetel setelan konfigurasi CPU, memori, dan GPU untuk satu langkah:

from kfp import dsl

@dsl.pipeline(name='custom-container-pipeline')
def pipeline():
  generate = generate_op()
  train = (
    train_op(
      training_data=generate.outputs['training_data'],
      test_data=generate.outputs['test_data'],
      config_file=generate.outputs['config_file'])
    .set_cpu_limit('CPU_LIMIT')
    .set_memory_limit('MEMORY_LIMIT')
    .add_node_selector_constraint(SELECTOR_CONSTRAINT)
    .set_accelerator_limit(ACCELERATOR_LIMIT))

Ganti kode berikut:

  • CPU_LIMIT: Batas CPU maksimum untuk operator ini. Nilai string ini dapat berupa angka (nilai integer untuk jumlah CPU), atau angka yang diikuti "m", yang berarti 1/1000. Anda dapat menentukan maksimal 96 CPU.

  • MEMORY_LIMIT: Batas memori maksimum untuk operator ini. Nilai string ini dapat berupa angka, atau angka yang diikuti oleh "K" (kilobyte), "M" (megabyte), atau "G" (gigabyte). Dukungan maksimal 624 GB.

  • SELECTOR_CONSTRAINT: Setiap batasan adalah label pasangan nilai kunci. Agar container memenuhi syarat untuk dijalankan di sebuah node, node harus memiliki setiap batasan sebagai label. Contoh: 'cloud.go888ogle.com.fqhub.com/gke-accelerator', 'NVIDIA_TESLA_K80'

    Ada batasan berikut:

    • 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

    • TPU_V2
    • TPU_V3
  • ACCELERATOR_LIMIT: Batas akselerator (GPU atau TPU) untuk operator. Anda dapat menentukan bilangan bulat positif. Untuk mengetahui informasi selengkapnya tentang GPU yang tersedia dan cara mengonfigurasinya, lihat GPU. Untuk mengetahui informasi selengkapnya tentang TPU yang tersedia dan cara mengonfigurasinya, lihat TPU.

CustomJob saat ini mendukung jenis mesin tertentu yang membatasi Anda hingga maksimum 96 CPU dan memori 624 GB. Berdasarkan konfigurasi CPU, memori, dan akselerator yang Anda tentukan, Vertex AI Pipelines otomatis memilih yang paling cocok dari jenis mesin yang didukung.