Bagikan melalui


Bundel Aset Databricks untuk Tumpukan MLOps

Anda dapat menggunakan Bundel Aset Databricks, Databricks CLI, dan repositori Databricks MLOps Stack di GitHub untuk membuat Tumpukan MLOps. MLOps Stack adalah proyek MLOps di Azure Databricks yang mengikuti praktik terbaik produksi di luar kotak. Lihat Apa itu Bundel Aset Databricks?.

Untuk membuat, menyebarkan, dan menjalankan proyek MLOps Stacks, selesaikan langkah-langkah berikut:

Persyaratan

  • Pastikan ruang kerja jarak jauh target mengaktifkan file ruang kerja. Lihat Apa itu file ruang kerja?.
  • Pada komputer pengembangan Anda, pastikan Databricks CLI versi 0.212.2 atau yang lebih tinggi diinstal. Untuk memeriksa versi Databricks CLI yang terinstal, jalankan perintah databricks -v. Untuk memperbarui versi Databricks CLI Anda, lihat Menginstal atau memperbarui Databricks CLI. (Bundel tidak berfungsi dengan Databricks CLI versi 0.18 ke bawah.)

Langkah 1: Menyiapkan autentikasi

Konfigurasikan Databricks CLI untuk autentikasi.

Artikel ini mengasumsikan bahwa Anda ingin menggunakan autentikasi pengguna-ke-mesin (U2M) OAuth dan profil konfigurasi Azure Databricks terkait bernama DEFAULT untuk autentikasi.

Catatan

Autentikasi U2M sesuai untuk mencoba langkah-langkah ini secara real time. Untuk alur kerja yang sepenuhnya otomatis, Databricks menyarankan agar Anda menggunakan autentikasi mesin-ke-mesin (M2M) OAuth sebagai gantinya. Lihat instruksi penyiapan autentikasi M2M di Autentikasi.

  1. Gunakan Databricks CLI untuk memulai manajemen token OAuth secara lokal dengan menjalankan perintah berikut untuk setiap ruang kerja target.

    Dalam perintah berikut, ganti <workspace-url> dengan URL per ruang kerja Azure Databricks Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI meminta Anda untuk menyimpan informasi yang Anda masukkan sebagai profil konfigurasi Azure Databricks. Tekan Enter untuk menerima nama profil yang disarankan, atau masukkan nama profil baru atau yang sudah ada. Profil yang ada dengan nama yang sama ditimpa dengan informasi yang Anda masukkan. Anda dapat menggunakan profil untuk mengalihkan konteks autentikasi dengan cepat di beberapa ruang kerja.

    Untuk mendapatkan daftar profil yang ada, di terminal atau prompt perintah terpisah, gunakan Databricks CLI untuk menjalankan perintah databricks auth profiles. Untuk melihat pengaturan profil tertentu yang sudah ada, jalankan perintah databricks auth env --profile <profile-name>.

  3. Di browser web Anda, selesaikan instruksi di layar untuk masuk ke ruang kerja Azure Databricks Anda.

  4. Untuk melihat nilai token OAuth profil saat ini dan tanda waktu kedaluwarsa token yang akan datang, jalankan salah satu perintah berikut:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Jika Anda memiliki beberapa profil dengan nilai yang sama --host , Anda mungkin perlu menentukan --host opsi dan -p bersama-sama untuk membantu Databricks CLI menemukan informasi token OAuth yang cocok dengan benar.

Langkah 2: Membuat proyek bundel

  1. Gunakan templat Bundel Aset Databricks untuk membuat file starter proyek MLOps Stacks Anda. Untuk melakukan ini, mulailah dengan menjalankan perintah berikut:

    databricks bundle init mlops-stacks
    
  2. Jawab perintah di layar. Untuk panduan tentang menjawab perintah ini, lihat Memulai proyek baru di repositori Databricks MLOps Stacks di GitHub.

    Prompt pertama menawarkan opsi untuk menyiapkan komponen kode ML, komponen CI/CD, atau keduanya. Opsi ini menyederhanakan penyiapan awal karena Anda dapat memilih untuk membuat hanya komponen yang segera relevan. (Untuk menyiapkan komponen lain, jalankan perintah inisialisasi lagi.) Pilih salah satu hal berikut ini:

    • CICD_and_Project (default) - Siapkan kode ML dan komponen CI/CD.
    • Project_Only - Siapkan komponen kode ML saja. Opsi ini adalah agar ilmuwan data memulai.
    • CICD_Only - Siapkan komponen CI/CD saja. Opsi ini agar teknisi ML menyiapkan infrastruktur.

    Setelah Anda menjawab semua perintah di layar, templat membuat file starter proyek MLOps Stacks Anda dan menambahkannya ke direktori kerja Anda saat ini.

  3. Sesuaikan file starter proyek MLOps Stacks Anda sesuai keinginan. Untuk melakukan ini, ikuti panduan dalam file berikut dalam proyek baru Anda:

    Peran Tujuan: Docs
    Pengguna pertama kali repositori ini Pahami alur ML dan struktur kode dalam repositori ini README.md
    Saintis Data Mulai menulis kode ML untuk proyek baru <project-name>/README.md
    Saintis Data Memperbarui kode ML produksi (misalnya, logika pelatihan model) untuk proyek yang ada docs/ml-pull-request.md
    Saintis Data Mengubah sumber daya ML model produksi (misalnya, pelatihan model atau pekerjaan inferensi) <project-name>/resources/README.md
    MLOps / DevOps Menyiapkan CI/CD untuk proyek ML saat ini docs/mlops-setup.md
    • Untuk menyesuaikan eksperimen, pemetaan dalam deklarasi eksperimen sesuai dengan payload permintaan operasi buat eksperimen seperti yang didefinisikan dalam format POST /api/2.0/mlflow/experiments/create dalam referensi REST API, yang dinyatakan dalam format YAML.

    • Untuk menyesuaikan pekerjaan, pemetaan dalam deklarasi pekerjaan sesuai dengan payload permintaan operasi pekerjaan buat seperti yang didefinisikan dalam POST /api/2.1/jobs/create dalam referensi REST API, yang dinyatakan dalam format YAML.

      Tip

      Anda dapat menentukan, menggabungkan, dan mengambil alih pengaturan untuk kluster pekerjaan baru dalam bundel dengan menggunakan teknik yang dijelaskan dalam Mengambil alih pengaturan kluster di Bundel Aset Databricks.

    • Untuk menyesuaikan model, pemetaan dalam deklarasi model sesuai dengan payload permintaan operasi buat model Katalog Unity seperti yang didefinisikan dalam POST /api/2.1/unity-catalog/models dalam referensi REST API, yang dinyatakan dalam format YAML.

    • Untuk menyesuaikan alur, pemetaan dalam deklarasi alur sesuai dengan payload permintaan operasi buat alur seperti yang didefinisikan dalam POST /api/2.0/pipelines dalam referensi REST API, yang dinyatakan dalam format YAML.

Langkah 3: Memvalidasi proyek bundel

Periksa apakah konfigurasi bundel valid. Untuk melakukan ini, jalankan Databricks CLI dari akar proyek, di mana databricks.yml berada, sebagai berikut:

databricks bundle validate

Jika ringkasan konfigurasi bundel dikembalikan, maka validasi berhasil. Jika ada kesalahan yang dikembalikan, perbaiki kesalahan, lalu ulangi langkah ini.

Langkah 4: Menyebarkan bundel

Sebarkan sumber daya dan artefak proyek ke ruang kerja jarak jauh yang diinginkan. Untuk melakukan ini, jalankan Databricks CLI dari akar proyek, di mana databricks.yml berada, sebagai berikut:

databricks bundle deploy -t <target-name>

Ganti <target-name> dengan nama target yang diinginkan dalam databricks.yml file, misalnya dev, , teststaging, atau prod.

Langkah 5: Jalankan bundel yang disebarkan

Pekerjaan Azure Databricks yang disebarkan proyek secara otomatis berjalan pada jadwal yang telah ditentukan sebelumnya. Untuk segera menjalankan pekerjaan yang disebarkan, jalankan Databricks CLI dari akar proyek, tempat databricks.yml lokasinya, sebagai berikut:

databricks bundle run -t <target-name> <job-name>
  • Ganti <target-name> dengan nama target yang diinginkan dalam databricks.yml file tempat pekerjaan disebarkan, misalnya dev, , teststaging, atau prod.
  • Ganti <job-name> dengan nama pekerjaan di salah .yml satu file dalam <project-name>/databricks-resources, misalnya batch_inference_job, , write_feature_table_jobatau model_training_job.

Tautan ke pekerjaan Azure Databricks muncul, yang dapat Anda salin ke browser web Anda untuk membuka pekerjaan dalam antarmuka pengguna Azure Databricks.

Langkah 6: Hapus bundel yang disebarkan (opsional)

Untuk menghapus sumber daya dan artefak proyek yang disebarkan jika Anda tidak lagi membutuhkannya, jalankan Databricks CLI dari akar proyek, tempat databricks.yml lokasinya, sebagai berikut:

databricks bundle destroy -t <target-name>

Ganti <target-name> dengan nama target yang diinginkan dalam databricks.yml file, misalnya dev, , teststaging, atau prod.

Jawab permintaan di layar untuk mengonfirmasi penghapusan sumber daya dan artefak yang disebarkan sebelumnya.