Migrasi beban kerja GPU klasik ke serverless

Jika Anda memindahkan beban kerja pembelajaran mendalam yang ada dari kluster Databricks klasik (dengan Databricks Runtime ML) ke tanpa server (dengan AI Runtime), ikuti langkah-langkah berikut:

  1. Ganti kode yang bergantung pada kluster. Hapus referensi apa pun ke pelatihan terdistribusi berbasis Spark (misalnya, TorchDistributor) dan ganti dengan @distributed dekorator dari serverless_gpu.
  2. Memperbarui pemuatan data. Ganti jalur DBFS langsung dengan jalur volume Katalog Unity (/Volumes/...). Ganti operasi Spark DataFrame lokal dengan Spark Connect. Untuk melakukan streaming data berbasis file dari volume, gunakan UCVolumeDataset dari databricks.air.data. Lihat Memuat data pada Runtime AI.
  3. Siapkan lingkungan Anda. Beberapa pustaka yang sudah terpasang di Databricks Runtime ML tidak tersedia di AI Runtime. Siapkan lingkungan GPU nirserver dan instal paket yang diperlukan oleh beban kerja Anda dengan %pip install. Lihat Siapkan lingkungan Anda.
  4. Memperbarui jalur titik pemeriksaan. Pindahkan titik pemeriksaan dari DBFS atau penyimpanan lokal ke volume Unity Catalog (/Volumes/<catalog>/<schema>/<volume>/...). Untuk checkpointing terdistribusi, gunakan UCVolumeWriter dan UCVolumeReader dari databricks.air.data, yang melakukan staging I/O melalui NVMe lokal. Lihat Checkpoint dengan Checkpoint Terdistribusi (DCP).
  5. Tinjau konfigurasi MLflow Anda. Di AI Runtime, .distributed() API membuat MLflow berjalan secara otomatis. Untuk menyesuaikan eksperimen, atur eksperimen dengan menggunakan jalur absolut. Untuk melanjutkan proses yang terputus, tetapkan nama proses. Lihat apa yang disediakan MLflow.
  6. Uji secara interaktif terlebih dahulu. Validasi beban kerja Anda di notebook interaktif sebelum menjadwalkannya sebagai pekerjaan.