Bagikan melalui


Mengelola siklus hidup model menggunakan Registri Model Ruang Kerja (warisan)

Penting

Dokumentasi ini mencakup Registri Model Ruang Kerja. Jika ruang kerja Anda diaktifkan untuk Katalog Unity, jangan gunakan prosedur di halaman ini. Sebagai gantinya, lihat Model di Unity Catalog.

Untuk panduan tentang cara meningkatkan dari Registri Model Ruang Kerja ke Katalog Unity, lihat Memigrasikan alur kerja dan model ke Katalog Unity.

Jika katalog default ruang kerja Anda berada di Unity Catalog (bukan hive_metastore) dan Anda menjalankan kluster menggunakan Databricks Runtime 13.3 LTS atau lebih tinggi, model secara otomatis dibuat dan dimuat dari katalog default ruang kerja, tanpa memerlukan konfigurasi. Untuk menggunakan Registri Model Ruang Kerja dalam hal ini, Anda harus secara eksplisit menargetkannya dengan menjalankannya import mlflow; mlflow.set_registry_uri("databricks") di awal beban kerja Anda. Sejumlah kecil ruang kerja di mana katalog default dikonfigurasi ke katalog di Katalog Unity sebelum Januari 2024 dan registri model ruang kerja digunakan sebelum Januari 2024 dikecualikan dari perilaku ini dan terus menggunakan Registri Model Ruang Kerja secara default.

Artikel ini menjelaskan cara menggunakan Registri Model Ruang Kerja sebagai bagian dari alur kerja pembelajaran mesin Anda untuk mengelola siklus hidup penuh model ML. Registri Model Ruang Kerja adalah versi Registri Model MLflow yang disediakan Databricks.

Registri Model Ruang Kerja menyediakan:

  • Silsilah data model kronologis (yang dieksperimen dan dijalankan MLflow menghasilkan model pada waktu tertentu).
  • Penyajian Model.
  • Penerapan versi model.
  • Transisi tahap (misalnya, dari penahapan ke produksi atau diarsipkan).
  • Webhook sehingga Anda dapat memicu tindakan secara otomatis berdasarkan peristiwa registri.
  • Pemberitahuan alamat email tentang peristiwa model.

Anda juga dapat membuat dan melihat deskripsi model dan menulis komentar.

Artikel ini mencakup instruksi untuk UI Registri Model Ruang Kerja dan API Registri Model Ruang Kerja.

Untuk gambaran umum konsep Workspace Model Registry, lihat Manajemen siklus hidup ML menggunakan MLflow.

Membuat atau mendaftarkan model

Anda dapat membuat atau mendaftarkan model menggunakan UI, atau mendaftarkan model menggunakan API.

Membuat atau mendaftarkan model menggunakan antarmuka pengguna

Ada dua cara untuk mendaftarkan model di Registri Model Ruang Kerja. Anda dapat mendaftarkan model yang sudah ada yang telah masuk ke MLflow, atau Anda dapat membuat dan mendaftarkan model baru yang kosong, lalu menetapkan model yang sebelumnya masuk ke sana.

Mendaftarkan model log yang ada dari notebook

  1. Di Ruang Kerja, identifikasi MLflow berjalan yang berisi model yang ingin Anda daftarkan.

    1. Klik ikon Ikon eksperimen Eksperimen di bilah samping kanan buku catatan.

      Toolbar notebook

    2. Di bilah samping Eksekusi Eksperimen, klik ikon di Tautan Eksternal samping tanggal eksekusi. Halaman MLflow Run ditampilkan. Halaman ini menampilkan detail eksekusi termasuk parameter, metrik, tag, dan daftar artefak.

  2. Di bagian Artefak, klik direktori bernama xxx-model.

    Mendaftarkan model

  3. Klik tombol Daftarkan Model di paling kanan.

  4. Dalam dialog, klik dalam kotak Model dan lakukan salah satu hal berikut ini:

    • Pilih Buat Model Baru dari menu drop-down. Bidang Nama Model muncul. Masukkan nama model, misalnya scikit-learn-power-forecasting.
    • Pilih model yang ada dari menu drop-down.

    Membuat model baru

  5. Klik Daftar.

    • Jika Anda memilih Buat Model Baru, ini mendaftarkan model bernama scikit-learn-power-forecasting, menyalin model ke lokasi aman yang dikelola oleh Registri Model Ruang Kerja, dan membuat versi baru model.
    • Jika Anda memilih model yang sudah ada, ini mendaftarkan versi baru dari model yang dipilih.

    Setelah beberapa saat, tombol DaftarKan Model berubah menjadi link ke versi model terdaftar baru.

    Pilih model yang baru dibuat

  6. Klik tautan untuk membuka versi model baru di antarmuka pengguna Registri Model Ruang Kerja. Anda juga dapat menemukan model di Registri Model Ruang Kerja dengan mengklikIkon Model Model di bar samping.

Membuat model terdaftar baru dan menetapkan model yang dicatat padanya

Anda dapat menggunakan tombol Buat Model di halaman model terdaftar untuk membuat model baru yang kosong, lalu menetapkan model yang dicatat ke dalamnya. Ikuti langkah-langkah ini:

  1. Pada halaman model terdaftar, klik Buat Model. Masukkan nama untuk model dan klik Buat.

  2. Ikuti Langkah 1 hingga 3 di Daftarkan model yang sudah ada dari buku catatan.

  3. Dalam dialog Daftarkan Model, pilih nama model yang Anda buat di Langkah 1 dan klik Daftar. Ini mendaftarkan model dengan nama yang Anda buat, menyalin model ke lokasi aman yang dikelola oleh Registri Model Ruang Kerja, dan membuat versi model: Version 1.

    Setelah beberapa saat, antarmuka pengguna MLflow Run menggantikan tombol Daftar Model dengan link ke versi model terdaftar baru. Anda sekarang dapat memilih model dari daftar drop-down Model dalam dialog Daftarkan Model di halaman Eksekusi Eksperimen . Anda juga dapat mendaftarkan versi baru model dengan menentukan namanya dalam perintah API seperti Create ModelVersion.

Mendaftarkan model menggunakan API

Ada tiga cara terprogram untuk mendaftarkan model di Registri Model Ruang Kerja. Semua metode menyalin model ke lokasi aman yang dikelola oleh Registri Model Ruang Kerja.

  • Untuk mencatat model dan mendaftarkannya dengan nama yang ditentukan selama eksperimen MLflow, gunakan metode mlflow.<model-flavor>.log_model(...) . Jika model terdaftar dengan nama tidak ada, metode ini mendaftarkan model baru, membuat Versi 1, dan mengembalikan ModelVersion objek MLflow. Jika sudah ada model terdaftar dengan nama, metode akan membuat versi model baru dan mengembalikan objek versi.

    with mlflow.start_run(run_name=<run-name>) as run:
      ...
      mlflow.<model-flavor>.log_model(<model-flavor>=<model>,
        artifact_path="<model-path>",
        registered_model_name="<model-name>"
      )
    
  • Untuk mendaftarkan model dengan nama yang ditentukan setelah semua eksekusi eksperimen Anda selesai dan Anda telah memutuskan model mana yang paling cocok untuk ditambahkan ke registri, gunakan metode mlflow.register_model() . Untuk metode ini, Anda memerlukan ID eksekusi untuk argumen mlruns:URI. Jika model terdaftar dengan nama tidak ada, metode ini mendaftarkan model baru, membuat Versi 1, dan mengembalikan ModelVersion objek MLflow. Jika sudah ada model terdaftar dengan nama, metode akan membuat versi model baru dan mengembalikan objek versi.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Untuk membuat model terdaftar baru dengan nama yang ditentukan, gunakan metode MLflow Client API create_registered_model() . Jika nama model ada, metode ini membuat MLflowException.

    client = MlflowClient()
    result = client.create_registered_model("<model-name>")
    

Anda juga dapat mendaftarkan model dengan penyedia Databricks Terraform dan databricks_mlflow_model.

Batas kuota

Mulai Mei 2024 untuk semua ruang kerja Databricks, Registri Model Ruang Kerja memberlakukan batas kuota pada jumlah total model terdaftar dan versi model per ruang kerja. Lihat Batas sumber daya. Jika Anda melebihi kuota registri, Databricks menyarankan agar Anda menghapus model terdaftar dan versi model yang tidak lagi Anda butuhkan. Databricks juga merekomendasikan agar Anda menyesuaikan strategi pendaftaran dan retensi model agar tetap di bawah batas. Jika Anda memerlukan peningkatan batas ruang kerja, hubungi tim akun Databricks Anda.

Buku catatan berikut mengilustrasikan cara menginventarasikan dan menghapus entitas registri model Anda.

Notebook entitas registri model ruang kerja inventori

Dapatkan buku catatan

Menampilkan model di UI

Halaman model terdaftar

Halaman model terdaftar ditampilkan saat Anda mengklik Ikon ModelModel di bilah samping. Halaman ini memperlihatkan semua model dalam registri.

Anda dapat membuat model baru dari halaman ini.

Selain itu dari halaman ini, administrator ruang kerja dapat mengatur izin untuk semua model di Registri Model Ruang Kerja.

Model terdaftar

Halaman model terdaftar

Untuk menampilkan halaman model terdaftar bagi model, klik nama model di halaman model terdaftar. Halaman model terdaftar menampilkan informasi tentang model yang dipilih dan tabel dengan informasi tentang setiap versi model. Dari halaman ini, Anda juga dapat:

Model terdaftar

Halaman versi model

Untuk melihat halaman versi model, lakukan salah satu hal berikut ini:

  • Klik nama versi di kolom Versi Terbaru pada halaman model terdaftar.
  • Klik nama versi di kolom Versi di halaman model terdaftar.

Halaman ini menampilkan informasi tentang versi tertentu dari model terdaftar dan juga menyediakan tautan ke eksekusi sumber (versi notebook yang dijalankan untuk membuat model). Dari halaman ini, Anda juga dapat:

Versi model

Mengontrol akses ke model

Anda harus memiliki setidaknya izin CAN MANAGE untuk mengonfigurasi izin pada model. Untuk informasi tentang tingkat izin model, lihat ACL model MLflow. Versi model mewarisi izin dari model induknya. Anda tidak dapat mengatur izin untuk versi model.

  1. Di bar samping, klik Ikon ModelModel.

  2. Pilih nama model.

  3. Klik Izin. Dialog Izin Pengaturan terbuka

    Tombol izin model

  4. Dalam dialog, pilih menu drop-down Pilih Pengguna, Grup, atau Perwakilan Layanan... dan pilih pengguna, grup, atau perwakilan layanan.

    Mengubah izin model MLflow

  5. Pilih izin dari drop-down izin.

  6. Klik Tambahkan dan klik Simpan.

Admin ruang kerja dan pengguna dengan izin CAN MANAGE di tingkat seluruh registri dapat mengatur tingkat izin pada semua model di ruang kerja dengan mengklik Izin di halaman Model.

Transisi tahap model

Versi model memiliki salah satu tahap berikut: Tidak ada, Staging, Produksi, atau Diarsipkan. Tahap Staging dimaksudkan untuk pengujian dan validasi model, sedangkan tahap Produksi adalah untuk versi model yang telah menyelesaikan proses pengujian atau peninjauan dan telah digunakan ke aplikasi untuk penilaian langsung. Versi model yang diarsipkan dianggap tidak aktif, pada saat Anda dapat mempertimbangkan untuk menghapusnya. Versi model yang berbeda dapat berada dalam tahap yang berbeda.

Pengguna dengan izin yang sesuai dapat mentransisikan versi model antar tahapan. Jika Anda memiliki izin untuk mentransisikan versi model ke tahap tertentu, Anda dapat melakukan transisi secara langsung. Jika Anda tidak memiliki izin, Anda dapat meminta transisi tahap dan pengguna yang memiliki izin untuk transisi versi model dapat menyetujui, menolak, atau membatalkan permintaan.

Anda dapat mentransisikan tahap model menggunakan UI atau menggunakan API.

Transisi tahap model menggunakan antarmuka pengguna

Ikuti petunjuk ini untuk transisi tahap model.

  1. Untuk menampilkan daftar tahapan model yang tersedia dan opsi yang tersedia, di halaman versi model, klik drop-down di samping Tahap: dan minta atau pilih transisi ke tahapan lain.

    Opsi transisi tahapan

  2. Masukkan komentar opsional dan klik OK.

Transisi versi model ke tahap Produksi

Setelah pengujian dan validasi, Anda dapat melakukan transisi atau meminta transisi ke tahap Produksi.

Registri Model Ruang Kerja memungkinkan lebih dari satu versi model terdaftar di setiap tahap. Jika Anda hanya ingin memiliki satu versi dalam Produksi, Anda dapat mentransisikan semua versi model yang saat ini ada di Produksi ke Diarsipkan dengan memeriksa Transisi versi model Produksi yang ada ke Diarsipkan.

Menyetujui, menolak, atau membatalkan permintaan transisi tahap versi model

Pengguna tanpa izin transisi tahap dapat meminta transisi tahap. Permintaan muncul di bagian Permintaan Tertunda di halaman versi model:

Transisi ke produksi

Untuk menyetujui, menolak, atau membatalkan permintaan transisi tahap, klik link Setujui, Tolak, atau Batalkan .

Pembuat permintaan transisi tahap juga dapat membatalkan permintaan.

Melihat aktivitas versi model

Untuk melihat semua transisi yang diminta, disetujui, tertunda, dan diterapkan ke versi model, buka bagian Aktivitas. Catatan kegiatan ini memberikan silsilah data siklus hidup model untuk audit atau inspeksi.

Transisi tahap model menggunakan API

Pengguna dengan izin yang sesuai dapat mentransisikan versi model ke tahap baru.

Untuk memperbarui tahap versi model ke tahap baru, gunakan metode MLflow Client API transition_model_version_stage() :

  client = MlflowClient()
  client.transition_model_version_stage(
    name="<model-name>",
    version=<model-version>,
    stage="<stage>",
    description="<description>"
  )

Nilai yang diterima untuk <stage> adalah: "Staging"|"staging", "Archived"|"archived", "Production"|"production", "None"|"none".

Menggunakan model untuk inferensi

Penting

Fitur ini ada di Pratinjau Publik.

Setelah model terdaftar di Registri Model Ruang Kerja, Anda dapat secara otomatis membuat buku catatan untuk menggunakan model untuk inferensi batch atau streaming. Atau, Anda dapat membuat titik akhir untuk menggunakan model untuk penyajian real time dengan Model Serving.

Di sudut kanan atas halaman model terdaftar atau halaman versi model, klik tombol gunakan model. Dialog Konfigurasikan inferensi model muncul, yang memungkinkan Anda mengonfigurasi inferensi batch, streaming, atau real-time.

Penting

Anaconda Inc. memperbarui ketentuan layanan untuk alur anaconda.org. Berdasarkan persyaratan layanan baru, Anda mungkin memerlukan lisensi komersial jika Anda mengandalkan pengemasan dan distribusi Anaconda. Lihat FAQ Anaconda Commercial Edition untuk informasi lebih lanjut. Penggunaan Anda atas setiap saluran Anaconda diatur oleh persyaratan layanan mereka.

Model MLflow yang dicatat sebelum v1.18 (Databricks Runtime 8.3 ML atau lebih lama) secara default dicatat dengan saluran conda defaults (https://repo.anaconda.com/pkgs/) sebagai dependensi. Karena perubahan lisensi ini, Databricks telah menghentikan penggunaan saluran defaults untuk model yang dicatat menggunakan MLflow v1.18 dan di atasnya. Saluran default yang dicatat sekarang adalah conda-forge, yang menunjuk pada komunitas yang dikelola https://conda-forge.org/.

Jika Anda mencatat model sebelum MLflow v1.18 tanpa mengecualikan saluran defaults dari lingkungan conda untuk model tersebut, model tersebut mungkin memiliki dependensi pada saluran defaults yang mungkin tidak Anda maksudkan. Untuk mengonfirmasi secara manual apakah model memiliki dependensi ini, Anda dapat memeriksa nilai channel dalam file conda.yaml yang dikemas dengan model yang dicatat. Misalnya, conda.yaml model dengan defaults dependensi saluran mungkin terlihat seperti ini:

channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
    - mlflow
    - scikit-learn==0.23.2
    - cloudpickle==1.6.0
      name: mlflow-env

Karena Databricks tidak dapat menentukan apakah penggunaan Anda atas repositori Anaconda untuk berinteraksi dengan model Anda diizinkan berdasarkan hubungan Anda dengan Anaconda, Databricks tidak memaksa pelanggannya untuk membuat perubahan apa pun. Jika penggunaan repositori Anaconda.com Anda melalui penggunaan Databricks diizinkan berdasarkan ketentuan Anaconda, Anda tidak perlu mengambil tindakan apa pun.

Jika Anda ingin mengubah saluran yang digunakan dalam lingkungan model, Anda dapat mendaftarkan ulang model ke registri model Ruang Kerja dengan yang baru conda.yaml. Anda dapat melakukannya dengan menentukan saluran di parameter conda_env dari log_model().

Untuk informasi selengkapnya tentang log_model() API, lihat dokumentasi MLflow untuk ragam model yang sedang Anda kerjakan, misalnya, log_model untuk scikit-learn.

Untuk informasi selengkapnya tentang conda.yaml file, lihat dokumentasi MLflow.

Dialog inferensi model konfigurasi

Mengonfigurasi inferensi batch

Saat Anda mengikuti langkah-langkah ini untuk membuat buku catatan inferensi batch, buku catatan disimpan di folder pengguna Anda di bawah Batch-Inference folder dalam folder dengan nama model. Anda dapat mengedit buku catatan sebagaimana yang diperlukan.

  1. Klik tab Inferensi batch .

  2. Dari drop-down versi Model , pilih versi model yang akan digunakan. Dua item pertama dalam drop-down adalah versi Produksi dan Staging model saat ini (jika ada). Saat Anda memilih salah satu opsi ini, buku catatan secara otomatis menggunakan versi Produksi atau Staging pada saat dijalankan. Anda tidak perlu memperbarui buku catatan saat Anda terus mengembangkan model.

  3. Klik tombol Telusuri di samping tabel Input. Dialog Pilih data input akan muncul. Jika perlu, Anda dapat mengubah kluster di drop-down Komputasi .

    Catatan

    Untuk ruang kerja berbasis Katalog Unity, dialog Pilih data input akan memungkinkan Anda untuk memilih dari tiga level, <catalog-name>.<database-name>.<table-name>.

  4. Pilih tabel yang berisi data masukan untuk model, dan klik Pilih. Buku catatan yang dihasilkan secara otomatis mengimpor data ini dan mengirimkannya ke model. Anda dapat mengedit buku catatan yang dihasilkan jika data memerlukan transformasi apa pun sebelum diinput ke model.

  5. Prediksi disimpan dalam folder di direktori dbfs:/FileStore/batch-inference. Secara default, prediksi disimpan dalam {i>folder

    Anda dapat mengubah folder tempat prediksi disimpan dengan mengetikkan nama folder baru ke bidang Lokasi tabel output atau dengan mengklik ikon folder untuk menelusuri direktori dan memilih folder lain.

    Untuk menyimpan prediksi ke lokasi di Unity Catalog, Anda harus mengedit notebook. Untuk contoh buku catatan yang memperlihatkan cara melatih model pembelajaran mesin yang menggunakan data di Katalog Unity dan menulis hasilnya kembali ke Katalog Unity, lihat Tutorial pembelajaran mesin.

Mengonfigurasi inferensi streaming menggunakan Tabel Langsung Delta

Saat Anda mengikuti langkah-langkah ini untuk membuat notebook inferensi streaming, buku catatan disimpan di folder pengguna Anda di bawah DLT-Inference folder dalam folder dengan nama model. Anda dapat mengedit buku catatan sebagaimana yang diperlukan.

  1. Klik tab Streaming (Tabel Langsung Delta).

  2. Dari drop-down versi Model , pilih versi model yang akan digunakan. Dua item pertama dalam drop-down adalah versi Produksi dan Staging model saat ini (jika ada). Saat Anda memilih salah satu opsi ini, buku catatan secara otomatis menggunakan versi Produksi atau Staging pada saat dijalankan. Anda tidak perlu memperbarui buku catatan saat Anda terus mengembangkan model.

  3. Klik tombol Telusuri di samping tabel Input. Dialog Pilih data input akan muncul. Jika perlu, Anda dapat mengubah kluster di drop-down Komputasi .

    Catatan

    Untuk ruang kerja berbasis Katalog Unity, dialog Pilih data input akan memungkinkan Anda untuk memilih dari tiga level, <catalog-name>.<database-name>.<table-name>.

  4. Pilih tabel yang berisi data masukan untuk model, dan klik Pilih. Notebook yang dihasilkan membuat transformasi data yang menggunakan tabel input sebagai sumber dan mengintegrasikan UDF inferensi PySpark MLflow untuk melakukan prediksi model. Anda dapat mengedit notebook yang dihasilkan jika data memerlukan transformasi tambahan sebelum atau sesudah model diterapkan.

  5. Berikan nama Tabel Langsung Delta output. Notebook membuat tabel langsung dengan nama yang diberikan dan menggunakannya untuk menyimpan prediksi model. Anda dapat mengubah notebook yang dihasilkan untuk menyesuaikan himpunan data target sesuai kebutuhan - misalnya: menentukan tabel langsung streaming sebagai output, menambahkan informasi skema atau batasan kualitas data.

  6. Anda kemudian dapat membuat alur Tabel Langsung Delta baru dengan buku catatan ini atau menambahkannya ke alur yang sudah ada sebagai pustaka buku catatan tambahan.

Mengonfigurasi inferensi real-time

Model Serving mengekspos model pembelajaran mesin MLflow Anda sebagai titik akhir REST API yang dapat diskalakan. Untuk membuat titik akhir Model Serving, lihat Membuat model kustom yang melayani titik akhir.

Memberikan tanggapan

Fitur ini dalam pratinjau, dan kami ingin mendapatkan umpan balik Anda. Untuk memberikan umpan balik, klik Provide Feedback dalam dialog Konfigurasi inferensi model.

Membandingkan versi model

Anda dapat membandingkan versi model di Registri Model Ruang Kerja.

  1. Pada halaman model terdaftar, pilih dua atau lebih versi model dengan mengklik kotak centang di sebelah kiri versi model.
  2. Klik Bandingkan.
  3. Layar Membandingkan <N> Versi muncul, memperlihatkan tabel yang membandingkan parameter, skema, dan metrik versi model yang dipilih. Di bagian bawah layar, Anda dapat memilih jenis plot (pencar, kontur, atau koordinat paralel) dan parameter atau metrik untuk di-plot.

Mengontrol preferensi pemberitahuan

Anda dapat mengonfigurasi Registri Model Ruang Kerja untuk memberi tahu Anda melalui email tentang aktivitas pada model terdaftar dan versi model yang Anda tentukan.

Pada halaman model terdaftar, menu Beri tahu saya tentang menunjukkan tiga opsi:

Menu pemberitahuan email

  • Semua aktivitas baru: Kirim pemberitahuan email tentang semua aktivitas di semua versi model dari model ini. Jika Anda membuat model terdaftar, pengaturan ini adalah default.
  • Aktivitas pada versi yang saya ikuti: Kirim pemberitahuan email hanya tentang versi model yang Anda ikuti. Dengan pilihan ini, Anda menerima pemberitahuan untuk semua versi model yang Anda ikuti; Anda tidak dapat menonaktifkan pemberitahuan untuk versi model tertentu.
  • Membisukan pemberitahuan: Jangan mengirim pemberitahuan email tentang aktivitas pada model terdaftar ini.

Peristiwa berikut memicu pemberitahuan email:

  • Pembuatan versi model baru
  • Permintaan untuk transisi tahap
  • Transisi tahap
  • Komentar baru

Anda secara otomatis berlangganan pemberitahuan model saat melakukan salah satu hal berikut:

  • Mengomentari versi model tersebut
  • Mentransisikan tahap versi model
  • Membuat permintaan transisi untuk tahap model

Untuk melihat apakah Anda mengikuti versi model, lihat bidang Ikuti Status di halaman versi model, atau di tabel versi model pada halaman model terdaftar.

Menonaktifkan semua pemberitahuan email

Anda dapat menonaktifkan pemberitahuan email di tab Pengaturan Registri Model Ruang Kerja di menu Pengaturan Pengguna:

  1. Klik nama pengguna Anda di sudut kanan atas ruang kerja Azure Databricks, dan pilih Pengaturan dari menu drop-down.
  2. Di bilah samping Pengaturan, pilih Pemberitahuan.
  3. Matikan Pemberitahuan email Registri Model.

Admin akun dapat menonaktifkan pemberitahuan email untuk seluruh organisasi di halaman pengaturan admin.

Jumlah maksimum email yang dikirim

Registri Model Ruang Kerja membatasi jumlah email yang dikirim ke setiap pengguna per hari per aktivitas. Misalnya, jika Anda menerima 20 email dalam satu hari tentang versi model baru yang dibuat untuk model terdaftar, Workspace Model Registry mengirimkan email yang mencatat bahwa batas harian telah tercapai, dan tidak ada email tambahan tentang peristiwa tersebut yang dikirim hingga hari berikutnya.

Untuk meningkatkan batas jumlah email yang diizinkan, hubungi tim akun Azure Databricks Anda.

Webhook

Penting

Fitur ini ada di Pratinjau Publik.

Webhook memungkinkan Anda mendengarkan peristiwa Registri Model Ruang Kerja sehingga integrasi Anda dapat memicu tindakan secara otomatis. Anda dapat menggunakan webhook untuk mengotomatiskan dan mengintegrasikan alur pembelajaran mesin Anda dengan alat dan alur kerja CI/CD yang ada. Misalnya, Anda dapat memicu build CI saat versi model baru dibuat atau memberi tahu anggota tim Anda melalui Slack setiap kali transisi model ke produksi diminta.

Anotasi model atau versi model

Anda dapat memberikan informasi tentang model atau versi model dengan anotasi. Misalnya, Anda mungkin ingin menyertakan gambaran umum tentang masalah atau informasi tentang metodologi dan algoritma yang digunakan.

Anotasi versi model atau model menggunakan antarmuka pengguna

Antarmuka pengguna Azure Databricks menyediakan beberapa cara untuk menganotasikan model dan versi model. Anda dapat menambahkan informasi teks menggunakan deskripsi atau komentar, dan Anda dapat menambahkan tag nilai kunci yang dapat dicari. Deskripsi dan tag tersedia untuk model dan versi model; komentar hanya tersedia untuk versi model.

  • Deskripsi dimaksudkan untuk memberikan informasi tentang model.
  • Komentar menyediakan cara untuk mengelola diskusi yang sedang berlangsung tentang kegiatan pada versi model.
  • Tag memungkinkan Anda menyesuaikan metadata model untuk memudahkan menemukan model tertentu.

Menambahkan atau memperbarui deskripsi untuk model atau versi model

  1. Dari halaman model atau versi model terdaftar, klik Edit di samping Deskripsi. Jendela edit muncul.

  2. Masukkan atau edit deskripsi di jendela edit.

  3. Klik Simpan untuk menyimpan perubahan Anda atau Batalkan untuk menutup jendela.

    Jika Anda memasukkan deskripsi versi model, deskripsi akan muncul di kolom Deskripsi dalam tabel di halaman model terdaftar. Kolom menampilkan maksimal 32 karakter atau satu baris teks, mana yang lebih pendek.

Menambahkan komentar untuk versi model

  1. Gulir ke bawah halaman versi model dan klik panah bawah di samping Aktivitas.
  2. Ketik komentar Anda di jendela edit dan klik Tambahkan Komentar.

Menambahkan tag untuk model atau versi model

  1. Dari halaman model terdaftar atau versi model, klik Ikon tag jika belum dibuka. Tabel tag muncul.

    tabel tag

  2. Klik di bidang Nama dan Nilai dan ketikkan kunci dan nilai untuk tag Anda.

  3. Klik Tambahkan.

    Tambahkan tag

Mengedit atau menghapus tag untuk model atau versi model

Untuk mengedit atau menghapus tag yang sudah ada, gunakan ikon di kolom Tindakan.

tindakan tag

Anotasi versi model menggunakan API

Untuk memperbarui deskripsi versi model, gunakan metode MLflow Client API update_model_version() :

client = MlflowClient()
client.update_model_version(
  name="<model-name>",
  version=<model-version>,
  description="<description>"
)

Untuk mengatur atau memperbarui tag untuk model terdaftar atau versi model, gunakan MLflow Client API set_registered_model_tag() atau set_model_version_tag() metode:

client = MlflowClient()
client.set_registered_model_tag()(
  name="<model-name>",
  key="<key-value>",
  tag="<tag-value>"
)
client = MlflowClient()
client.set_model_version_tag()(
  name="<model-name>",
  version=<model-version>,
  key="<key-value>",
  tag="<tag-value>"
)

Mengganti nama model (hanya API)

Untuk mengganti nama model terdaftar, gunakan metode MLflow Client API rename_registered_model() :

client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")

Catatan

Anda dapat mengganti nama model terdaftar hanya jika tidak memiliki versi, atau semua versi berada dalam tahap Tidak Ada atau Diarsipkan.

Mencari model

Anda dapat mencari model di Registri Model Ruang Kerja menggunakan UI atau API.

Catatan

Saat Anda mencari model, hanya model yang anda miliki setidaknya izin BACA CAN yang dikembalikan.

Mencari model menggunakan antarmuka pengguna

Untuk menampilkan model terdaftar, klik Ikon ModelModel di bilah samping.

Untuk mencari model tertentu, masukkan teks di kotak pencarian. Anda dapat memasukkan nama model atau bagian mana pun dari nama:

Pencarian model yang terdaftar

Anda juga dapat mencari di tag. Masukkan tag dalam format ini: tags.<key>=<value>. Untuk mencari beberapa tag, gunakan operator AND.

Pencarian berbasis tag

Anda dapat mencari nama model dan tag menggunakan sintaksis pencarian MLflow. Contohnya:

Pencarian berbasis nama dan tag

Mencari model menggunakan API

Anda dapat mencari model terdaftar di Registri Model Ruang Kerja dengan metode API Klien MLflow search_registered_models()

Jika Anda telah mengatur tag pada model Anda, Anda juga dapat mencari oleh tag tersebut dengan search_registered_models().

print(f"Find registered models with a specific tag value")
for m in client.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
  pprint(dict(m), indent=4)

Anda juga dapat mencari nama model tertentu dan mencantumkan detail versinya menggunakan metode MLflow Client API search_model_versions() :

from pprint import pprint

client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]

Output ini:

{   'creation_timestamp': 1582671933246,
    'current_stage': 'Production',
    'description': 'A random forest model containing 100 decision trees '
                   'trained in scikit-learn',
    'last_updated_timestamp': 1582671960712,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'ae2cc01346de45f79a44a320aab1797b',
    'source': './mlruns/0/ae2cc01346de45f79a44a320aab1797b/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 1 }

{   'creation_timestamp': 1582671960628,
    'current_stage': 'None',
    'description': None,
    'last_updated_timestamp': 1582671960628,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'd994f18d09c64c148e62a785052e6723',
    'source': './mlruns/0/d994f18d09c64c148e62a785052e6723/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 2 }

Menghapus model atau versi model

Anda dapat menghapus model menggunakan antarmuka pengguna atau API.

Menghapus versi model atau model menggunakan antarmuka pengguna

Peringatan

Anda tidak dapat membatalkan tindakan ini. Anda dapat mengalihkan versi model ke tahap Diarsipkan daripada menghapusnya dari registri. Saat Anda menghapus model, semua artefak model yang disimpan oleh Registri Model Ruang Kerja dan semua metadata yang terkait dengan model terdaftar akan dihapus.

Catatan

Anda hanya dapat menghapus model dan versi model dalam tahap Tidak Ada atau Diarsipkan. Jika model terdaftar memiliki versi dalam tahap Staging atau Produksi, Anda harus mengalihkannya ke tahap Tidak Ada atau Diarsipkan sebelum menghapus model.

Untuk menghapus versi model:

  1. Klik Ikon ModelModel di bilah samping.
  2. Klik nama model.
  3. Pilih versi model
  4. Klik Menghapus versi model di sudut kanan atas layar dan pilih Hapus dari menu drop-down.

Cara untuk menghapus model:

  1. Klik Ikon ModelModel di bilah samping.
  2. Klik nama model.
  3. Klik Menghapus model di sudut kanan atas layar dan pilih Hapus dari menu drop-down.

Menghapus versi model atau model menggunakan API

Peringatan

Anda tidak dapat membatalkan tindakan ini. Anda dapat mengalihkan versi model ke tahap Diarsipkan daripada menghapusnya dari registri. Saat Anda menghapus model, semua artefak model yang disimpan oleh Registri Model Ruang Kerja dan semua metadata yang terkait dengan model terdaftar akan dihapus.

Catatan

Anda hanya dapat menghapus model dan versi model dalam tahap Tidak Ada atau Diarsipkan. Jika model terdaftar memiliki versi dalam tahap Staging atau Produksi, Anda harus mengalihkannya ke tahap Tidak Ada atau Diarsipkan sebelum menghapus model.

Menghapus versi model

Untuk menghapus versi model, gunakan metode MLflow Client API delete_model_version() :

# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
  client.delete_model_version(name="<model-name>", version=version)

Menghapus model

Untuk menghapus model, gunakan metode MLflow Client API delete_registered_model() :

client = MlflowClient()
client.delete_registered_model(name="<model-name>")

Berbagi model di seluruh ruang kerja

Databricks merekomendasikan penggunaan Model di Unity Catalog untuk berbagi model di seluruh ruang kerja. Katalog Unity menyediakan dukungan siap pakai untuk akses model lintas ruang kerja, tata kelola, dan pengelogan audit.

Namun, jika menggunakan registri model ruang kerja, Anda juga dapat berbagi model di beberapa ruang kerja dengan beberapa penyiapan. Misalnya, Anda dapat mengembangkan dan mencatat model di ruang kerja Anda sendiri lalu mengaksesnya dari ruang kerja lain menggunakan registri model Ruang Kerja jarak jauh. Ini berguna ketika beberapa tim berbagi akses ke model. Anda dapat membuat beberapa ruang kerja dan menggunakan serta mengelola model di seluruh lingkungan ini.

Menyalin objek MLflow antar ruang kerja

Untuk mengimpor atau mengekspor objek MLflow ke atau dari ruang kerja Azure Databricks, Anda dapat menggunakan proyek sumber terbuka berbasis komunitas Ekspor-Impor MLflow untuk memigrasikan eksperimen, model, dan eksekusi MLflow di antara ruang kerja.

Dengan alat-alat ini, Anda dapat:

  • Berbagi dan berkolaborasi dengan ilmuwan data lain di server pelacakan yang sama atau lainnya. Misalnya, Anda bisa mengkloning eksperimen dari pengguna lain ke ruang kerja Anda.
  • Salin model dari satu ruang kerja ke ruang kerja lainnya, seperti dari pengembangan ke ruang kerja produksi.
  • Salin eksperimen MLflow dan jalankan dari server pelacakan lokal Anda ke ruang kerja Databricks Anda.
  • Cadangkan eksperimen dan model misi penting ke ruang kerja Databricks lain.

Contoh

Contoh ini menggambarkan cara menggunakan Registri Model Ruang Kerja untuk membangun aplikasi pembelajaran mesin.

Contoh Registri Model Ruang Kerja