Memicu aplikasi, proses, atau alur kerja CI/CD berdasarkan peristiwa Azure Machine Learning

Dalam artikel ini, Anda mempelajari cara menyiapkan aplikasi berbasis peristiwa, proses, atau alur kerja CI/CD berdasarkan peristiwa azure Pembelajaran Mesin. Misalnya, email pemberitahuan kegagalan atau alur ML berjalan, ketika kondisi tertentu terdeteksi menggunakan Azure Event Grid.

Pembelajaran Mesin Azure mengelola seluruh siklus hidup proses pembelajaran mesin, termasuk pelatihan model, penerapan model, dan pemantauan. Anda dapat menggunakan Event Grid untuk bereaksi terhadap acara Pembelajaran Mesin Azure, seperti penyelesaian pelatihan, pendaftaran dan penyebaran model, serta deteksi drift data, dengan menggunakan arsitektur tanpa server modern. Anda kemudian dapat berlangganan dan memakai acara seperti menjalankan status diubah, menjalankan penyelesaian, pendaftaran model, penyebaran model, dan deteksi drift data dalam ruang kerja.

Kapan waktunya menggunakan Event Grid untuk tindakan yang digerakkan acara:

  • Mengirim email saat menjalankan kegagalan dan menjalankan penyelesaian
  • Menggunakan fungsi Azure setelah model terdaftar
  • Acara streaming dari Pembelajaran Mesin Azure ke berbagai titik akhir
  • Memicu alur ML saat drift dideteksi

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Versi pratinjau disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Prasyarat

Untuk menggunakan Event Grid, Anda memerlukan akses kontributor atau pemilik ke ruang kerja Azure Pembelajaran Mesin tempat Anda membuat peristiwa.

Jenis & model acara

Azure Event Grid membaca acara dari sumber, seperti Pembelajaran Mesin Azure dan layanan Azure lainnya. Acara ini kemudian dikirim ke penanganan acara seperti Azure Event Hubs, Azure Functions, Logic Apps, dan lainnya. Diagram berikut menunjukkan bagaimana Event Grid menghubungkan sumber dan handler, tetapi bukan daftar komprehensif integrasi yang didukung.

Model fungsional Azure Event Grid

Untuk informasi selengkapnya tentang sumber aktivitas dan penanganan aktivitas, lihat Apa itu Event Grid?

Jenis acara untuk Pembelajaran Mesin Azure

Pembelajaran Mesin Azure menyediakan acara di berbagai titik siklus hidup pembelajaran mesin:

Jenis peristiwa Deskripsi
Microsoft.MachineLearningServices.RunCompleted Dinaikkan ketika eksperimen pembelajaran mesin selesai
Microsoft.MachineLearningServices.ModelRegistered (pratinjau) Dinaikkan ketika model pembelajaran mesin terdaftar di ruang kerja
Microsoft.MachineLearningServices.ModelDeployed (pratinjau) Dinaikkan saat penyebaran layanan inferensi dengan satu atau beberapa model selesai
Microsoft.MachineLearningServices.DatasetDriftDetected (pratinjau) Dinaikkan saat pekerjaan deteksi drift data untuk himpunan data selesai
Microsoft.MachineLearningServices.RunStatusChanged Muncul saat status proses berubah

Filter & langganan ke acara

Acara ini dipublikasikan melalui Azure Event Grid. Dari portal Azure, PowerShell, atau Azure CLI, Anda dapat dengan mudah berlangganan peristiwa dengan menentukan satu atau beberapa jenis peristiwa, dan kondisi pemfilteran.

Saat menyiapkan acara, Anda dapat menerapkan filter hanya untuk memicu data acara tertentu. Dalam contoh berikut, untuk peristiwa yang diubah status eksekusi, Anda dapat memfilter menurut jenis eksekusi. Peristiwa hanya memicu ketika kriteria terpenuhi. Untuk informasi selengkapnya tentang data peristiwa yang dapat Anda filter, lihat skema Azure Pembelajaran Mesin Event Grid.

Langganan acara Pembelajaran Mesin Azure dilindungi oleh kontrol akses berbasis peran Azure (Azure RBAC). Hanya kontributor atau pemilik ruang kerja yang dapat membuat, memperbarui, dan menghapus langganan acara. Filter dapat diterapkan ke langganan acara baik selama pembuatan langganan acara atau di lain waktu.

  1. Masuk ke portal Azure, pilih langganan baru atau langganan yang sudah ada.

  2. Pilih entri Peristiwa dari area navigasi kiri, lalu pilih + Langganan peristiwa.

  3. Pilih tab filter dan gulir ke bawah ke Filter tingkat lanjut. Untuk Kunci dan Nilai, sediakan jenis properti yang ingin Anda filter. Di sini Anda dapat melihat pemicu peristiwa saat jenis eksekusi adalah eksekusi alur atau eksekusi langkah alur.

    filter acara

  • Filter menurut jenis acara: Langganan acara dapat menentukan satu atau beberapa jenis acara Pembelajaran Mesin Azure.

  • Filter menurut subjek acara: Azure Event Grid mendukung filter subjek berdasarkan dimulai dengan dan diakhiri dengan kecocokan, sehingga acara dengan subjek yang cocok dikirimkan kepada pelanggan. Acara pembelajaran mesin yang berbeda memiliki format subjek yang berbeda.

    Jenis peristiwa Format subjek Subjek sampel
    Microsoft.MachineLearningServices.RunCompleted experiments/{ExperimentId}/runs/{RunId} experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
    Microsoft.MachineLearningServices.ModelRegistered (pratinjau) models/{modelName}:{modelVersion} models/sklearn_regression_model:3
    Microsoft.MachineLearningServices.ModelDeployed (pratinjau) endpoints/{serviceId} endpoints/my_sklearn_aks
    Microsoft.MachineLearningServices.DatasetDriftDetected (pratinjau) datadrift/{data.DataDriftId}/run/{data.RunId} datadrift/4e694bf5-712e-4e40-b06a-d2a2755212d4/run/my_driftrun1_1550564444_fbbcdc0f
    Microsoft.MachineLearningServices.RunStatusChanged experiments/{ExperimentId}/runs/{RunId} experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
  • Pemfilteran tingkat lanjut: Azure Event Grid juga mendukung pemfilteran tingkat lanjut berdasarkan skema acara yang dipublikasikan. Detail skema acara Pembelajaran Mesin Azure dapat ditemukan di skema acara Azure Event Grid untuk Pembelajaran Mesin Azure. Untuk Microsoft.MachineLearningServices.ModelRegistered acara, untuk memfilter nilai tag model:

    --advanced-filter data.ModelTags.key1 StringIn ('value1')
    

    Untuk mempelajari selengkapnya tentang cara menerapkan filter, lihat Memfilter kejadian untuk Event Grid.

Pakai acara Pembelajaran Mesin

Aplikasi yang menangani acara Pembelajaran Mesin harus mengikuti beberapa praktik yang direkomendasikan:

  • Karena beberapa langganan dapat dikonfigurasi untuk merutekan acara ke penanganan acara yang sama, penting untuk tidak menganggap acara berasal dari sumber tertentu, tetapi untuk memeriksa topik pesan guna memastikan bahwa acara berasal dari ruang kerja pembelajaran mesin yang Anda harapkan.
  • Demikian pula, pastikan eventType adalah kejadian yang Anda siapkan untuk diproses, dan jangan berasumsi bahwa semua acara yang diterima akan berupa jenis yang diharapkan.
  • Karena pesan dapat rusak saat tiba dan setelah beberapa penundaan, gunakan bidang etag untuk memahami apakah informasi Anda tentang objek masih yang paling baru. Selain itu, gunakan bidang pengurut untuk memahami urutan acara pada objek tertentu.
  • Abaikan bidang yang tidak Anda pahami. Praktik ini akan membantu Anda tetap tangguh terhadap fitur baru yang mungkin ditambahkan di masa mendatang.
  • Operasi Azure Machine Learning yang gagal atau dibatalkan tidak akan memicu acara. Misalnya, jika penyebaran model gagal Microsoft.MachineLearningServices.ModelDeployed tidak akan dipicu. Pertimbangkan mode kegagalan tersebut saat mendesain aplikasi Anda. Anda selalu dapat menggunakan Pembelajaran Mesin Azure SDK, CLI, atau portal untuk memeriksa status operasi dan memahami alasan kegagalan secara terperinci.

Azure Event Grid memungkinkan pelanggan untuk membangun penanganan pesan yang dipisahkan, yang dapat dipicu oleh peristiwa Azure Pembelajaran Mesin. Beberapa contoh penting dari penanganan pesan adalah:

  • Azure Functions
  • Azure Logic Apps
  • Azure Event Hubs
  • Alur Azure Data Factory
  • Webhook generik, yang mungkin dihosting di platform Azure atau di tempat lain

Menyiapkan di portal Azure

  1. Buka portal Azure dan masuk ke ruang kerja Pembelajaran Mesin Azure Anda.

  2. Dari bilah sebelah kiri, pilih Acara lalu pilih Langganan Acara.

    Cuplikan layar yang menunjukkan pilihan Langganan Peristiwa.

  3. Pilih jenis acara yang akan dipakai.

    Cuplikan layar formulir Buat Langganan Peristiwa.

  4. Pilih titik akhir untuk menerbitkan acara. Dalam tangkapan layar berikut, Event hub adalah titik akhir yang dipilih:

    Cuplikan layar memperlihatkan panel Buat Langganan Acara dengan Pilih Event Hub terbuka.

Setelah Anda mengonfirmasi pilihan Anda, pilih Buat. Setelah konfigurasi, acara ini akan dipindah ke titik akhir Anda.

Disiapkan dengan CLI

Anda dapat menginstal Azure CLI terbaru, atau menggunakan Azure Cloud Shell yang disediakan sebagai bagian dari langganan Azure Anda.

Untuk menginstal ekstensi Event Grid, gunakan perintah berikut dari CLI:

az extension add --name eventgrid

Contoh berikut menunjukkan cara memilih langganan Azure dan membuat langganan acara baru untuk Pembelajaran Mesin Azure:

# Select the Azure subscription that contains the workspace
az account set --subscription "<name or ID of the subscription>"

# Subscribe to the machine learning workspace. This example uses EventHub as a destination. 
az eventgrid event-subscription create --name {eventGridFilterName} \
  --source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName} \
  --endpoint-type eventhub \
  --endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 \
  --included-event-types Microsoft.MachineLearningServices.ModelRegistered \
  --subject-begins-with "models/mymodelname"

Contoh

Contoh: Kirimkan pemberitahuan email

Gunakan Azure Logic Apps untuk mengonfigurasi email untuk semua acara Anda. Sesuaikan dengan kondisi dan tentukan penerima untuk memungkinkan kolaborasi dan kesadaran di seluruh bagian tim yang bekerja sama.

  1. Di portal Azure, masuk ke ruang kerja Pembelajaran Mesin Azure Anda dan pilih tab acara dari bilah kiri. Dari sini, pilih Aplikasi logika.

    Cuplikan layar yang menunjukkan pilihan Logic Apps.

  2. Masuk ke UI Aplikasi Logika dan pilih layanan Pembelajaran Mesin sebagai jenis topik.

    Cuplikan layar memperlihatkan kotak dialog Saat acara sumber daya terjadi dengan pembelajaran mesin yang dipilih sebagai jenis sumber daya.

  3. Pilih peristiwa mana yang akan diberi tahu. Misalnya, tangkapan layar berikut RunCompleted.

    Cuplikan layar yang menunjukkan Machine Learning service sebagai jenis sumber daya.

  4. Selanjutnya, tambahkan langkah untuk memakai acara ini dan cari email. Ada beberapa akun email berbeda yang dapat Anda gunakan untuk menerima acara. Anda juga dapat mengonfigurasi kondisi tentang kapan harus mengirimkan pemberitahuan email.

    Cuplikan layar memperlihatkan kotak dialog Pilih tindakan dengan email yang dimasukkan di baris pencarian.

  5. Pilih Kirim email dan isi parameter. Dalam subjek, Anda dapat menyertakan Jenis Acara dan Topik untuk membantu memfilter acara. Anda juga dapat menyertakan tautan ke halaman ruang kerja untuk dijalankan di isi pesan.

    Untuk menyimpan tindakan ini, pilih Simpan Sebagai di pojok kiri halaman.

    Cuplikan layar memperlihatkan kotak dialog Kirim email dengan Topik dan Jenis Acara yang ditambahkan ke baris subjek pada daftar sebelah kanan.

Contoh: Drift data memicu pelatihan ulang

Penting

Contoh ini bergantung pada fitur (penyimpangan data) yang hanya tersedia saat menggunakan SDK v1 Azure Machine Learning atau ekstensi v1 Azure CLI untuk Azure Machine Learning. Untuk informasi selengkapnya, lihat Apa itu Azure Pembelajaran Mesin CLI & SDK v2.

Model kedaluarsa dari waktu ke waktu, dan tidak tetap berguna dalam konteks yang dijalankannya. Salah satu cara untuk mengetahui apakah sudah waktunya melatih ulang model adalah mendeteksi drift data.

Contoh ini menunjukkan cara menggunakan Event Grid dengan Azure Logic App untuk memicu pelatihan ulang. Contoh ini memicu alur Azure Data Factory saat drift data terjadi antara pelatihan model dan menyajikan himpunan data.

Sebelum mulai, lakukan tindakan berikut:

Dalam contoh ini, alur Data Factory sederhana digunakan untuk menyalin file ke penyimpanan blob dan menjalankan alur Pembelajaran Mesin yang diterbitkan. Untuk informasi selengkapnya tentang skenario ini, lihat cara menyiapkan langkah Pembelajaran Mesin di Azure Data Factory.

Cuplikan layar yang menunjukkan alur pelatihan di Azure Data Factory.

  1. Mulai dengan membuat aplikasi logika. Buka portal Azure, cari Aplikasi Logika, dan pilih buat.

    cari-aplikasi-logika

  2. Isi informasi yang diminta. Untuk mempermudah pengalaman, gunakan grup langganan dan sumber daya yang sama dengan Alur Azure Data Factory dan ruang kerja Pembelajaran Mesin Azure Anda.

    Cuplikan layar memperlihatkan panel Buat Aplikasi logika.

  3. Setelah Anda membuat aplikasi logika, pilih Saat peristiwa sumber daya Event Grid terjadi.

    Cuplikan layar memperlihatkan Perancang Logic Apps bersama Mulai dengan opsi pemicu umum, termasuk Saat acara sumber daya Event Grid terjadi.

  4. Masuk dan isi detail acara. Atur Nama Sumber Daya ke nama ruang kerja. Atur Jenis Acara ke DatasetDriftDetected.

    Cuplikan layar yang menunjukkan item jenis peristiwa penyimpangan data.

  5. Tambahkan langkah baru, dan cari Azure Data Factory. Pilih Buat jalankan alur.

    Cuplikan layar memperlihatkan panel Pilih tindakan dengan Buat eksekusi alur dipilih.

  6. Masuk dan tentukan alur Azure Data Factory yang diterbitkan untuk dijalankan.

    Cuplikan layar memperlihatkan panel Buat eksekusi alur dengan berbagai nilai.

  7. Simpan dan buat aplikasi logika menggunakan tombol simpan di kiri atas halaman. Untuk melihat aplikasi Anda, buka ruang kerja Anda di portal Azure dan pilih Peristiwa.

    Cuplikan layar memperlihatkan acara dengan Aplikasi Logika disorot.

Sekarang alur pabrik data dipicu ketika drift terjadi. Lihat detail tentang eksekusi penyimpangan data dan alur pembelajaran mesin Anda di Azure Machine Learning studio.

Cuplikan layar yang menunjukkan titik akhir alur.

Langkah berikutnya

Pelajari selengkapnya tentang Event Grid dan coba gunakan acara Pembelajaran Mesin Azure: