Bagikan melalui


Komputasi berkemampuan GPU

Catatan

Beberapa jenis instans berkemampuan GPU berada di Beta dan ditandai seperti di daftar drop-down saat Anda memilih jenis driver dan pekerja selama pembuatan komputasi.

Gambaran Umum

Azure Databricks mendukung komputasi yang dipercepat dengan unit pemrosesan grafis (GPU). Artikel ini menjelaskan cara membuat komputasi dengan instans berkemampuan GPU dan menjelaskan driver dan pustaka GPU yang diinstal pada instans tersebut.

Untuk mempelajari selengkapnya tentang pembelajaran mendalam tentang komputasi berkemampuan GPU, lihat Pembelajaran mendalam.

Membuat komputasi GPU

Membuat komputasi GPU mirip dengan membuat komputasi apa pun. Ingatlah hal berikut ini:

  • Kotak centang Pembelajaran mesin harus dicentang. Versi ML GPU dipilih secara otomatis berdasarkan jenis pekerja.
  • Kotak centang Akselerasi Foton harus tidak dicentang. Photon tidak didukung dengan jenis instans GPU.
  • Jenis Pekerja harus berupa jenis instans GPU.
  • Kotak centang Simpul tunggal dapat dicentang untuk mendapatkan satu instans GPU.

Proses untuk mengonfigurasi instans GPU menggunakan API Kluster bervariasi tergantung pada apakah kind bidang diatur. kind menentukan apakah permintaan Anda menggunakan spesifikasi formulir sederhana :

  • Jika kind = CLASSIC_PREVIEW, atur "use_ml_runtime": true.
  • Jika Anda tidak mengatur kind bidang, atur spark_version ke versi berkemampuan GPU, seperti 15.4.x-gpu-ml-scala2.12.

Jenis instans yang didukung

Peringatan

Azure Databricks tidak akan lagi mendukung peluncuran komputasi menggunakan seri instans NC v3 karena Azure akan menghentikan Nc24rs pada 31 Maret 2025 dan NC6s_v3, NC12s_v3, dan NC24s_v3 pada 30 September 2025.

Azure Databricks mendukung jenis instans berikut:

NCads_H100_v5

  • Jenis GPU: GPU NVIDIA H100 NVL
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_NC40ads_H100_v5 1 94GB 40 320GB
Standard_NC80adis_H100_v5 2 94GB x 2 80 640GB

NC_A100_v4

  • Jenis GPU: GPU PCIe NVIDIA A100
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_NC24ads_A100_v4 1 80GB 24 220GB
Standard_NC48ads_A100_v4 1 80GB x 2 48 440GB
Standard_NC96ads_A100_v4 1 80GB x 4 96 880GB

NDasrA100_v4

  • Jenis GPU: GPU NVIDIA Ampere A100 40GB Tensor Core
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_ND96asr_v4 8 40GB x 8 96 900GB

NVadsA10_v5

  • Jenis GPU: GPU NVIDIA A10
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_NV36ads_A10_v5 1 24GB 36 440GB
Standard_NV36adms_A10_v5 1 24GB 36 880GB
Standard_NV72ads_A10_v5 2 24GB x 2 72 880GB

NCasT4_v3

  • Jenis GPU: GPU NVIDIA T4
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_NC4as_T4_v3 1 16GB 4 28GB
Standard_NC8as_T4_v3 1 16GB 8 56GB
Standard_NC16as_T4_v3 1 16GB 16 110GB
Standard_NC64as_T4_v3 4 16GB x 4 64 440GB

NC_v3

  • Jenis GPU: GPU NVIDIA Tesla V100
Nama Instans Jumlah GPU Memori GPU vCPU Memori CPU
Standard_NC6s_v3 1 16GB 6 112GB
Standard_NC12s_v3 2 16GB x 2 12 224GB
Standard_NC24s_v3 4 16GB x 4 24 448GB
Standard_NC24rs_v3 4 16GB x 4 24 448GB

Lihat Harga Azure Databricks untuk daftar up-to-tanggal jenis instans GPU yang didukung dan wilayah ketersediaannya. Penyebaran Azure Databricks Anda harus berada di wilayah yang didukung untuk meluncurkan komputasi berkemampuan GPU.

Penjadwalan GPU

Penjadwalan GPU mendistribusikan tugas Spark secara efisien di sejumlah besar GPU.

Databricks Runtime mendukung penjadwalan sadar GPU dari Apache Spark 3.0. Azure Databricks melakukan prakonfigurasi pada komputasi GPU.

Catatan

Penjadwalan GPU tidak diaktifkan pada komputasi simpul tunggal.

Penjadwalan GPU untuk AI dan ML

spark.task.resource.gpu.amount adalah satu-satunya konfigurasi Spark yang terkait dengan penjadwalan sadar GPU yang mungkin perlu Anda konfigurasikan. Konfigurasi default menggunakan satu GPU per tugas, yang merupakan garis besar yang baik untuk beban kerja inferensi terdistribusi dan pelatihan terdistribusi jika Anda menggunakan semua simpul GPU.

Untuk mengurangi overhead komunikasi selama pelatihan terdistribusi, Databricks merekomendasikan pengaturan spark.task.resource.gpu.amount ke jumlah GPU per simpul pekerja dalam konfigurasi Spark komputasi. Ini hanya membuat satu tugas Spark untuk setiap pekerja Spark dan menetapkan semua GPU dalam simpul pekerja tersebut ke tugas yang sama.

Untuk meningkatkan paralelisasi inferensi pembelajaran mendalam terdistribusi, Anda dapat mengatur spark.task.resource.gpu.amount ke nilai pecahan seperti 1/2, 1/3, 1/4, ... 1/N. Ini membuat lebih banyak tugas Spark daripada GPU, memungkinkan tugas yang lebih bersamaan untuk menangani permintaan inferensi secara paralel. Misalnya, jika Anda mengatur spark.task.resource.gpu.amount ke 0.5, 0.33, atau 0.25, maka GPU yang tersedia akan dibagi di antara jumlah tugas ganda, tiga kali lipat, atau empat kali lipat.

Indeks GPU

Untuk tugas PySpark, Azure Databricks secara otomatis memetakan ulang GPU yang ditetapkan ke indeks berbasis nol. Untuk konfigurasi default yang menggunakan satu GPU per tugas, Anda dapat menggunakan GPU default tanpa memeriksa GPU mana yang ditetapkan ke tugas. Jika Anda mengatur beberapa GPU per tugas, misalnya, 4, indeks GPU yang ditetapkan selalu 0, 1, 2, dan 3. Jika Anda memerlukan indeks fisik GPU yang ditetapkan, Anda bisa mendapatkannya dari variabel lingkungan CUDA_VISIBLE_DEVICES.

Jika Anda menggunakan Scala, Anda bisa mendapatkan indeks GPU yang ditetapkan ke tugas dari TaskContext.resources().get("gpu").

driver NVIDIA GPU, CUDA, dan cuDNN

Secara default, Azure Databricks menginstal driver NVIDIA serta pustaka yang diperlukan untuk menggunakan GPU pada driver Spark dan instans pekerja:

  • Toolkit CUDA yang diinstal di /usr/local/cuda.
  • cuDNN: NVIDIA CUDA Deep Neural Network Library.
  • NCCL: Pustaka Komunikasi Kolektif NVIDIA.

Versi driver NVIDIA yang disertakan adalah 535.54.03, yang mendukung CUDA 11.0. Untuk seri jenis instans NV A10 v5, versi driver NVIDIA yang disertakan adalah 535.154.05.

Untuk versi pustaka yang disertakan, lihat catatan rilis untuk versi Runtime bahasa umum Databricks tertentu yang Anda gunakan.

Catatan

Perangkat lunak ini berisi kode sumber yang disediakan oleh NVIDIA Corporation. Secara khusus, untuk mendukung GPU, Azure Databricks menyertakan kode dari Sampel CUDA.

Perjanjian Lisensi Pengguna Akhir (EULA) NVIDIA

Saat Anda memilih "Versi Runtime Databricks" dengan dukungan GPU di Azure Databricks, Anda secara implisit menyetujui syarat dan ketentuan yang diuraikan dalam EULA NVIDIA sehubungan dengan pustaka CUDA, cuDNN, dan Tesla, dan Perjanjian Lisensi Pengguna Akhir NVIDIA (dengan Tambahan NCCL) untuk pustaka NCCL.

Layanan Kontainer Databricks pada komputasi GPU

Penting

Fitur ini ada di Pratinjau Publik.

Anda dapat menggunakan Databricks Container Services pada komputasi dengan GPU untuk membuat lingkungan pembelajaran mendalam portabel dengan pustaka yang disesuaikan. Lihat Menyesuaikan kontainer dengan Layanan Kontainer Databricks untuk instruksi.

Untuk membuat gambar kustom untuk komputasi GPU, Anda harus memilih versi runtime standar alih-alih Databricks Runtime ML untuk GPU. Saat Anda memilih Gunakan kontainer Docker Anda sendiri, Anda dapat memilih komputasi GPU dengan versi runtime standar. Gambar kustom untuk GPU didasarkan pada kontainer CUDA resmi, yang berbeda dari Databricks Runtime ML untuk GPU.

Saat Anda membuat gambar kustom untuk komputasi GPU, Anda tidak dapat mengubah versi driver NVIDIA karena harus cocok dengan versi driver pada komputer host.

databricksruntime Docker Hub berisi contoh gambar dasar dengan kemampuan GPU. Dockerfiles yang digunakan untuk menghasilkan gambar-gambar ini terletak di kontainer contoh repositori GitHub, yang juga memiliki detail tentang apa yang disediakan gambar contoh dan cara menyesuaikannya.