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 terkelola sepenuhnya, tanpa driver atau library tambahan diperlukan. Fitur GPU menawarkan ketersediaan sesuai permintaan tanpa memerlukan reservasi, mirip dengan cara CPU on-demand kerja memori on-demand di Cloud Run. Instance layanan Cloud Run yang telah dikonfigurasi untuk menggunakan GPU dapat memperkecil skala ke nol untuk penghematan biaya jika tidak sedang digunakan.
Instance Cloud Run dengan GPU L4 terpasang dan driver yang telah diinstal sebelumnya dimulai dalam waktu sekitar 5 detik. Pada saat itu, proses yang sedang berjalan di dapat mulai menggunakan GPU.
Anda dapat mengonfigurasi satu GPU per instance Cloud Run. Jika Anda menggunakan file bantuan container-nya, perhatikan bahwa GPU hanya dapat dikaitkan ke satu container.
Region yang didukung
us-central1
(Iowa) 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
CPU always allocated
untuk menggunakan fitur GPU, instance minimum akan dikenai biaya penuh meskipun tidak ada aktivitas. - Anda harus menggunakan minimum 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 yang berlaku saat menggunakan GPU di Cloud Run:
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Run.
- 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. - Konsultasi Praktik terbaik: Inferensi AI di Cloud Run dengan GPU untuk rekomendasi tentang cara membangun image container dan memuat model besar.
- Pastikan layanan Cloud Run Anda memiliki konfigurasi berikut:
- CPU harus dikonfigurasi ke CPU always allocated. Perhatikan bahwa layanan CPU yang selalu dialokasikan masih dapat diperkecil hingga nol.
- Konfigurasikan minimal 4 CPU untuk layanan Anda, dengan 8 CPU yang direkomendasikan.
- Konfigurasi minimal 16 GiB memori, dengan 32 GiB direkomendasikan.
- Tentukan dan tetapkan konkurensi maksimum yang optimal untuk penggunaan GPU Anda.
- Instance maksimum harus ditetapkan ke jumlah yang berada di bawah kuota per project per region yang diizinkan untuk GPU. Lihat Tentang GPU dan instance maksimum.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
-
Cloud Run Developer (
roles/run.developer
) di layanan Cloud Run -
Service Account User (
roles/iam.serviceAccountUser
) pada identitas layanan
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
Di konsol Google Cloud, buka Cloud Run:
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.
Jika Anda mengonfigurasi layanan baru, isi layanan awal halaman setelan, lalu klik Container, volume, networking, security untuk meluaskan konfigurasi layanan Google Cloud.
Klik tab Container.
- Mengonfigurasi CPU, memori, konkurensi, eksekusi Google Cloud Platform, dan pemeriksaan startup dengan mengikuti rekomendasi di bagian Sebelum memulai.
- Centang kotak GPU, lalu pilih jenis GPU dari menu GPU type, dan jumlah GPU dari menu Number of GPUs.
Klik Buat atau Deploy.
gcloud
Untuk menetapkan atau memperbarui setelan GPU untuk layanan, gunakan perintah gcloud beta run services update:
gcloud beta run deploy SERVICE \ --image IMAGE_URL \ --project PROJECT_ID \ --region REGION \ --port PORT \ --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.
- PROJECT_ID dengan ID project yang menjadi tujuan deployment Anda.
- REGION dengan region tempat Anda men-deploy. Anda harus menentukan region yang mendukung GPU.
- PORT dengan port untuk mengirim permintaan. Perhatikan bahwa
port defaultnya adalah
8080
. - 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 bentukLOCATION-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). - GPU_TYPE dengan jenis GPU. Anda harus menggunakan
nvidia-l4
(nvidiaL
4 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
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
Update atribut
nvidia.com/gpu:
dannodeSelector:
:
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 bentukLOCATION-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 setidaknya
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-L
4 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.
Buat atau update layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Melihat setelan GPU
Untuk melihat pengaturan GPU saat ini untuk Layanan Cloud Run:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik layanan yang Anda minati untuk membuka Detail layanan kami.
Klik tab Revisi.
Pada panel detail di sebelah kanan, setelan GPU tercantum di bawah tab Container.
gcloud
Gunakan perintah berikut:
gcloud run services describe SERVICE
Temukan pengaturan GPU di kolom konfigurasi Anda.
Menghapus GPU
Anda dapat menghapus GPU menggunakan konsol Google Cloud, Google Cloud CLI, atau YAML.
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container lalu pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi layanan awal halaman setelan, lalu klik Container, volume, networking, security untuk meluaskan konfigurasi layanan Google Cloud.
Klik tab Container.
- Hapus centang pada kotak GPU.
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
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
Hapus baris
nvidia.com/gpu:
dannodeSelector: run.googleapis.com/accelerator: nvidia-l4
.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
Cloud Run, jika Anda sudah memiliki image dan tidak ingin
membangun ulang image dengan Dockerfile yang sudah diupdate.
Jika Anda ingin menggunakan
versi CUDA yang lebih besar dari 12.2,
cara termudah adalah bergantung pada image dasar NVIDIA yang lebih baru
dengan paket kompatibilitas maju yang sudah diinstal. Pilihan lain adalah dengan
menginstal paket kompatibilitas maju NVIDIA secara manual
lalu 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:
- Batas setelan Maksimalkan instance jumlah instance per layanan. Nilai ini tidak boleh ditetapkan lebih tinggi dari kuota GPU per project per region untuk GPU.
- Kuota GPU yang diizinkan per project per region. Hal ini membatasi jumlah instance di seluruh layanan di region yang sama.