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.
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.
Masuk ke portal Azure, pilih langganan baru atau langganan yang sudah ada.
Pilih entri Peristiwa dari area navigasi kiri, lalu pilih + Langganan peristiwa.
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 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
Buka portal Azure dan masuk ke ruang kerja Pembelajaran Mesin Azure Anda.
Dari bilah sebelah kiri, pilih Acara lalu pilih Langganan Acara.
Pilih jenis acara yang akan dipakai.
Pilih titik akhir untuk menerbitkan acara. Dalam tangkapan layar berikut, Event hub adalah titik akhir yang dipilih:
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.
Di portal Azure, masuk ke ruang kerja Pembelajaran Mesin Azure Anda dan pilih tab acara dari bilah kiri. Dari sini, pilih Aplikasi logika.
Masuk ke UI Aplikasi Logika dan pilih layanan Pembelajaran Mesin sebagai jenis topik.
Pilih peristiwa mana yang akan diberi tahu. Misalnya, tangkapan layar berikut RunCompleted.
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.
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.
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:
- Menyiapkan monitor himpunan data untuk mendeteksi penyimpangan data (SDK/CLI v1) di ruang kerja
- Membuat alur Azure Data Factory yang diterbitkan.
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.
Mulai dengan membuat aplikasi logika. Buka portal Azure, cari Aplikasi Logika, dan pilih buat.
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.
Setelah Anda membuat aplikasi logika, pilih Saat peristiwa sumber daya Event Grid terjadi.
Masuk dan isi detail acara. Atur Nama Sumber Daya ke nama ruang kerja. Atur Jenis Acara ke DatasetDriftDetected.
Tambahkan langkah baru, dan cari Azure Data Factory. Pilih Buat jalankan alur.
Masuk dan tentukan alur Azure Data Factory yang diterbitkan untuk dijalankan.
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.
Sekarang alur pabrik data dipicu ketika drift terjadi. Lihat detail tentang eksekusi penyimpangan data dan alur pembelajaran mesin Anda di Azure Machine Learning studio.
Langkah berikutnya
Pelajari selengkapnya tentang Event Grid dan coba gunakan acara Pembelajaran Mesin Azure: