GPU (layanan)

Halaman ini menjelaskan konfigurasi GPU untuk layanan Cloud Run Anda. GPU berfungsi dengan baik untuk workload inferensi AI, seperti model bahasa besar (LLM) atau kasus penggunaan non-AI intensif komputasi lainnya seperti transcoding video dan rendering 3D. Google menyediakan GPU NVIDIA L4 dengan memori GPU (VRAM) 24 GB, yang terpisah dari memori instance.

Untuk menggunakan fitur GPU, Anda harus meminta kuota Total Nvidia L4 GPU allocation, per project per region. Untuk mengetahui detailnya, lihat Sebelum memulai.

GPU di Cloud Run dikelola sepenuhnya, tanpa memerlukan driver atau library tambahan. Fitur GPU menawarkan ketersediaan on-demand tanpa perlu pemesanan, serupa dengan cara kerja CPU on-demand dan memori on-demand di Cloud Run. Instance layanan Cloud Run yang telah dikonfigurasi untuk menggunakan GPU dapat diskalakan ke nol untuk menghemat biaya saat tidak digunakan.

Instance Cloud Run dengan GPU L4 terpasang dengan driver yang telah diinstal sebelumnya akan dimulai dalam waktu sekitar 5 detik. Pada saat itu, proses yang berjalan di container Anda dapat mulai menggunakan GPU.

Anda dapat mengonfigurasi satu GPU per instance Cloud Run. Jika Anda menggunakan penampung sidecar, perhatikan bahwa GPU hanya dapat dilampirkan ke satu penampung.

Region yang didukung

  • us-central1 (Iowa) ikon daun CO2 Rendah
  • asia-southeast1 (Singapura)
  • europe-west4 (Belanda) ikon daun CO2 Rendah

Dampak harga

Lihat Harga Cloud Run untuk mengetahui detail harga GPU. Perhatikan pertimbangan penting berikut:

  • Tidak ada biaya per permintaan. Karena Anda harus menggunakan Selalu alokasikan CPU untuk menggunakan fitur GPU, instance minimum akan dikenai tarif penuh meskipun tidak ada aktivitas.
  • Anda harus menggunakan minimal 4 CPU dan memori 16 GiB.
  • GPU ditagih selama seluruh durasi siklus proses instance.

Jenis GPU yang didukung

Anda dapat menggunakan satu GPU L4 per instance Cloud Run. GPU L4 memiliki driver bawaan berikut:

  • Versi driver NVIDIA saat ini: 535.129.03 (CUDA 12.2)

Sebelum memulai

Daftar berikut menjelaskan persyaratan dan batasan saat menggunakan GPU di Cloud Run:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Aktifkan API Cloud Run.

    Mengaktifkan API

  7. Untuk menggunakan fitur GPU, Anda harus meminta penambahan kuota untuk wilayah yang didukung. Kuota yang diperlukan adalah Total Nvidia L4 GPU allocation, per project per region, yang berada di Cloud Run Admin API.

    Buka halaman kuota dan batas sistem

  8. Lihat Praktik terbaik: Inferensi AI di Cloud Run dengan GPU untuk mendapatkan rekomendasi tentang cara mem-build image container dan memuat model besar.
  9. Pastikan layanan Cloud Run Anda memiliki konfigurasi berikut:

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengonfigurasi layanan Cloud Run dengan GPU

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau YAML untuk mengonfigurasi GPU.

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Konfigurasikan CPU, memori, konkurensi, lingkungan eksekusi, dan pemeriksaan startup dengan mengikuti rekomendasi di Sebelum memulai.
    • Centang kotak GPU, lalu pilih jenis GPU dari menu GPU type, dan jumlah GPU dari menu Number of GPUs.
  5. Klik Buat atau Deploy.

gcloud

Untuk membuat layanan dengan GPU yang diaktifkan, gunakan perintah gcloud beta run deploy:

  gcloud beta run deploy SERVICE \
    --image IMAGE_URL \
    --gpu 1

Ganti:

  • SERVICE dengan nama layanan Cloud Run Anda.
  • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

Untuk mengupdate konfigurasi GPU untuk layanan, gunakan perintah gcloud beta run services update:

  gcloud beta run services update SERVICE \
    --image IMAGE_URL \
    --cpu CPU \
    --memory MEMORY \
    --no-cpu-throttling \
    --gpu GPU_NUMBER \
    --gpu-type GPU_TYPE \
    --max-instances MAX_INSTANCE

Ganti:

  • SERVICE dengan nama layanan Cloud Run Anda.
  • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • CPU dengan jumlah CPU. Anda harus menentukan minimal 4 CPU.
  • MEMORY dengan jumlah memori. Anda harus menentukan minimal 16Gi (16 GiB).
  • GPU_NUMBER dengan nilai 1 (satu). Jika tidak ditentukan, tetapi GPU_TYPE ada, defaultnya adalah 1.
  • GPU_TYPE dengan jenis GPU. Jika tidak ditentukan, tetapi GPU_NUMBER ada, default-nya adalah nvidia-l4 (nvidia L4 huruf kecil L, bukan nilai numerik empat belas).
  • MAX_INSTANCE dengan jumlah maksimum instance. Jumlah ini tidak boleh melebihi kuota GPU yang dialokasikan untuk project Anda.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut nvidia.com/gpu: dan nodeSelector:
    run.googleapis.com/accelerator:
    :

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: 'MAX_INSTANCE'
            run.googleapis.com/cpu-throttling: 'false'
        spec:
          containers:
          - image: IMAGE_URL
            ports:
            - containerPort: CONTAINER_PORT
              name: http1
            resources:
              limits:
                cpu: 'CPU'
                memory: 'MEMORY'
                nvidia.com/gpu: 'GPU_NUMBER'
            # Optional: use a longer startup probe to allow long starting containers
            startupProbe:
              failureThreshold: 1800
              periodSeconds: 1
              tcpSocket:
                port: CONTAINER_PORT
              timeoutSeconds: 1
          nodeSelector:
            run.googleapis.com/accelerator: GPU_TYPE

    Ganti:

    • SERVICE dengan nama layanan Cloud Run Anda.
    • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • CONTAINER_PORT dengan port container yang ditetapkan untuk layanan Anda.
    • CPU dengan jumlah CPU. Anda harus menentukan minimal 4 CPU.
    • MEMORY dengan jumlah memori. Anda harus menentukan minimal 16Gi (16 GiB).
    • GPU_NUMBER dengan nilai 1 (satu) karena kami hanya mendukung pemasangan satu GPU per instance Cloud Run.
    • GPU_TYPE dengan nilai nvidia-l4 (nvidia-L4 huruf kecil L, bukan nilai numerik empat belas).
    • MAX_INSTANCE dengan jumlah maksimum instance. Jumlah ini tidak boleh melebihi kuota GPU yang dialokasikan untuk project Anda.
  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Melihat setelan GPU

Untuk melihat setelan GPU saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka halaman Detail layanan.

  3. Klik tab Revisi.

  4. Di panel detail di sebelah kanan, setelan GPU tercantum di bagian tab Container.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan setelan GPU dalam konfigurasi yang ditampilkan.

Menghapus GPU

Anda dapat menghapus GPU menggunakan Konsol Google Cloud, Google Cloud CLI, atau YAML.

Konsol

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Hapus centang pada kotak GPU.
  5. Klik Buat atau Deploy.

gcloud

Untuk menghapus GPU, tetapkan jumlah GPU ke 0 menggunakan perintah gcloud beta run services update:

  gcloud beta run services update SERVICE --gpu 0
  

Ganti SERVICE dengan nama layanan Cloud Run Anda.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Hapus baris nvidia.com/gpu: dan nodeSelector: run.googleapis.com/accelerator: nvidia-l4.

  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Library

Secara default, semua library driver NVIDIA L4 dipasang di /usr/local/nvidia/lib64.

Jika layanan Anda tidak dapat menemukan library yang disediakan, perbarui jalur penelusuran untuk penaut dinamis dengan menambahkan baris ENV LD_LIBRARY_PATH /usr/local/nvidia/lib64:${LD_LIBRARY_PATH} ke Dockerfile Anda.

Perhatikan bahwa Anda juga dapat menetapkan LD_LIBRARY_PATH sebagai variabel lingkungan untuk layanan Cloud Run, jika Anda sudah memiliki image dan tidak ingin mem-build ulang image dengan Dockerfile yang diperbarui.

Jika Anda ingin menggunakan versi CUDA yang lebih besar dari 12.2, cara termudah adalah dengan bergantung pada image dasar NVIDIA yang lebih baru dengan paket kompatibilitas maju yang sudah diinstal. Opsi lainnya adalah menginstal paket kompatibilitas maju NVIDIA secara manual dan menambahkannya ke LD_LIBRARY_PATH. Lihat matriks kompatibilitas NVIDIA untuk menentukan versi CUDA yang kompatibel dengan versi driver NVIDIA yang disediakan (535.129.03).

Tentang GPU dan instance maksimum

Jumlah instance dengan GPU dibatasi dengan dua cara: