Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Fitur ini ada di Pratinjau Umum.
Nota
Jika Anda menggunakan Ray pada komputasi klasik Databricks dengan Databricks Runtime ML, lihat Ray pada Databricks.
Ray adalah kerangka kerja sumber terbuka untuk menskalakan beban kerja Python. Anda dapat menjalankan Ray di AI Runtime tanpa menyediakan atau mengelola infrastruktur GPU yang mendasarinya.
Mengapa menggunakan Ray pada AI Runtime
Ray umum digunakan untuk mendistribusikan beban kerja Python seperti pelatihan model, inferensi batch, pemrosesan data, dan penyetelan hiperparameter. Di AI Runtime, Ray dapat mengakses data dalam volume Unity Catalog, melacak eksperimen dengan MLflow, dan menjalankan sebagai bagian dari alur kerja produksi.
Anda dapat menggunakan pustaka Ray umum seperti Ray Core, Ray Data, Ray Train, dan Ray Tune pada AI Runtime. Workload Ray yang ada dapat terus menggunakan API standar dari pustaka tersebut.
Bagaimana Ray bekerja dengan AI Runtime
Setiap aplikasi Ray berjalan di cluster Ray, yang dapat berisi satu atau lebih node. AI Runtime menyediakan node, dan Ray menjadwalkan tugas serta aktor di seluruh sumber daya CPU dan GPU yang tersedia. Cara Anda memulai Ray tergantung pada antarmuka eksekusi:
| Interface | Nodes | Mulai Ray |
|---|---|---|
| Notebook | Node tunggal yang terpasang ke notebook | Panggil ray_init() dari AI Runtime SDK (databricks.air) |
| Databricks CLI (antarmuka baris perintah) | Kumpulan tetap yang terdiri dari satu atau lebih node | Mulai head pada node 0 dan gabungkan node yang tersisa sebagai worker menggunakan skrip bootstrap yang dapat digunakan ulang |
Gunakan Ray di buku catatan
Saat notebook Anda terhubung ke komputasi GPU AI Runtime, gunakan ray_init() dari Databricks AI Runtime SDK untuk memulai Ray pada node yang terhubung:
from databricks.air import ray_init
ray_init()
ray_init() memanggil API standar ray.init() , mengonfigurasi dasbor Ray untuk akses melalui proxy driver Databricks, dan mencetak URL dasbor di output notebook. Gunakan dashboard untuk memeriksa pekerjaan Ray, tugas, aktor, log, dan penggunaan sumber daya saat kode Anda berjalan.
Nota
ray_init() memerlukan versi lingkungan 5 ke atas. Pada versi 5, impor dari serverless_gpu alih-alih dari databricks.air. Databricks AI v6 menyertakan Ray. Jika Anda menggunakan Standard v6, instal Ray sebelum memanggil ray_init(). Lihat Siapkan lingkungan Anda.
Contoh buku catatan
| Example | Deskripsi |
|---|---|
| Ray Core Hello World | Kirim tugas GPU asinkron pada komputasi terlampir, periksa penjadwalan di dashboard Ray, dan ambil hasilnya. |
| Penyetelan hyperparameter CIFAR-10 dengan Ray Tune | Jalankan uji coba GPU fraksional secara bersamaan untuk klasifikator citra PyTorch dan gunakan algoritma asinkron berurutan halving (ASHA) untuk menghentikan konfigurasi yang kurang berkinerja lebih awal. |
| Inferensi batch Qwen2.5-32B dengan Ray Data dan vLLM | Jalankan inferensi batch multibahasa dengan delapan replika vLLM persisten pada 8 GPU H100 dan simpan hasilnya sebagai Parquet dalam volume Unity Catalog. |
Gunakan Ray dengan Databricks CLI
Perintah Databricks CLI untuk AI Runtime mendukung beban kerja Ray simpul tunggal dan multisimpul. Dalam konfigurasi beban kerja, tentukan fixed accelerator_type dan total num_accelerators.
Resep memulai Ray Core menyertakan skrip bootstrap yang dapat digunakan ulang. Di workload command, atur RAY_ENTRYPOINT ke path file Python Anda dan jalankan skrip bootstrap. Skrip bootstrap melakukan hal berikut:
- Pada node 0, ia memulai kepala Ray dan menjalankan titik masuk yang telah dikonfigurasi.
- Pada setiap node lainnya, sistem memulai pekerja Ray dan menjaganya tetap terhubung selama titik entri berjalan.
- Setelah titik entri selesai, sistem ini menghentikan proses Ray.
Di aplikasi, hubungkan ke cluster dengan ray.init(address="auto").
Dengan lingkungan Standar, tambahkan ray atau ekstra yang diperlukan, seperti ray[data], ray[train], atau ray[tune], ke dependensi beban kerja. Databricks AI v6 menyertakan Ray.
Mulailah bersama Ray
Contoh minimal berikut memperkenalkan pustaka Ray utama dan mengikuti pola bootstrap klaster yang sama.
| Example | Deskripsi |
|---|---|
| Ray Core | Mulai klaster Ray pada dua GPU A10 dan jadwalkan satu tugas Ray Core per GPU. |
| Ray Train | Latih perseptron multilayer kecil pada data sintetis dengan satu pekerja Ray Train per GPU. |
| Ray Data | Jalankan pipeline pemrosesan data sintetis di seluruh klaster Ray. |
| Ray Tune | Sesuaikan perseptron multilayer kecil pada data sintetis dengan satu percobaan per GPU. |
Contoh CLI tambahan
| Example | Deskripsi |
|---|---|
| Penyempurnaan ResNet-50 dengan Ray Train | Lakukan fine-tuning pada ResNet-50 dengan satu worker Distributed Data Parallel (DDP) per GPU A10 di dua node. |
| Penyetelan Qwen2.5-3B dengan Ray Train | Tuning Qwen2.5-3B dengan satu pekerja data paralel terdistribusi per GPU pada node H100 8x. |
| Inferensi batch dengan Ray Data dan vLLM | Buat respons dengan Qwen2.5-7B-Instruct dan tulis hasilnya ke volume Unity Catalog sebagai Parquet. |
| Pencarian hiperparameter LoRA dengan Ray Tune | Cari konfigurasi LoRA untuk Qwen2.5-0.5B di empat GPU A10 dan hentikan uji coba yang kurang baik dengan penjadwal ASHA. |
| Pencarian hiperparameter XGBoost dengan Ray Tune | Cari hyperparameter XGBoost di empat GPU A10, catat konfigurasi terbaik ke MLflow, dan daftarkan model di Unity Catalog. |
Bekerja dengan data dan fitur Databricks
Beban kerja Ray dapat mengakses data dalam volume Unity Catalog, mencatat proses eksekusi dengan MLflow, dan dijalankan sebagai tugas di Lakeflow Jobs yang didefinisikan dengan Bundel Otomatisasi Deklaratif.
Akses data di Unity Catalog
Untuk data tabular dalam tabel Unity Catalog, gunakan ray.data.read_databricks_tables() untuk membaca tabel atau menjalankan query SQL melalui gudang SQL Databricks. Tentukan ID gudang, katalog, dan skema karena AI Runtime tidak menyediakan sesi Spark lokal. Anda dapat menggunakan SQL untuk melakukan gabungan, agregasi, dan filter sebelum Ray memproses hasilnya.
Untuk data berbasis file dan tidak terstruktur, gunakan volume Unity Catalog. Worker Ray dapat mengakses berkas menggunakan jalur /Volumes/<catalog>/<schema>/<volume>/... mereka. Misalnya, Ray Data dapat membaca file Parquet dengan ray.data.read_parquet() dan menulis hasil dengan Dataset.write_parquet().
Lacak dan orkestrasi beban kerja
Gunakan MLflow untuk merekam parameter, metrik, dan artefak dari beban kerja Ray. Lihat Pelacakan eksperimen dan observabilitas.
Untuk menjadwalkan beban kerja atau menggabungkannya dengan tugas persiapan data berbasis CPU, gunakan Lakeflow Jobs dan Declarative Automation Bundles. Lihat Jadwalkan beban kerja GPU dan susun tugas.
Migrasi beban kerja Ray yang sudah ada
Migrasi beban kerja Ray yang dikelola sendiri melibatkan penggantian konfigurasi infrastruktur dan integrasi layanan dengan model eksekusi AI Runtime.
Menilai beban kerja Anda
Sebelum migrasi, tinjau batasan-batasan yang ada. Konfirmasi bahwa beban kerja dapat dijalankan pada klaster berukuran tetap dengan satu tipe akselerator.
Memigrasikan beban kerja
Untuk memigrasikan beban kerja Ray yang dikelola sendiri:
- Pilih notebook untuk pengembangan interaktif pada simpul tunggal atau Databricks CLI untuk tugas pada simpul tunggal atau multisimpul.
- Petakan sumber daya klaster yang ada ke tipe akselerator AI Runtime dan jumlah akselerator. Lihat Opsi perangkat keras.
- Ganti proses startup klaster yang ada dengan
ray_init()di notebook atau bootstrap node head dan worker yang didokumentasikan dalam beban kerja Databricks CLI. - Deklarasikan ketergantungan Python beban kerja dan perbarui data, checkpoint, model, serta jalur outputnya.
- Validasi beban kerja pada konfigurasi terkecil yang berlaku. Konfirmasi akses data, permintaan sumber daya, dan output sebelum menguji topologi tetap yang diinginkan.
Limitations
Ray on AI Runtime memiliki keterbatasan berikut:
- Klaster Ray memiliki jumlah node tetap selama masa beban kerja. Penskalaan otomatis kluster Ray tidak didukung.
- Semua node dalam beban kerja menggunakan
accelerator_type. Sebuah klaster Ray tidak dapat berisi grup pekerja CPU-only dan GPU yang terpisah atau menskalakan kapasitas CPU dan GPU secara independen. - Notebook menjalankan Ray pada node tunggal yang terpasang padanya. Gunakan CLI Databricks untuk klaster Ray multi-node.
- Akses dasbor Ray melalui proxy driver Databricks saat ini hanya tersedia untuk beban kerja notebook.
Tip
Jika persiapan CPU dan pemrosesan GPU dapat berjalan sebagai tahap terpisah, gunakan Lakeflow Job multi-tugas dan transmisikan data antar tugas melalui volume Unity Catalog.