Azure Machine Learning olayları temelinde uygulamaları, işlemleri veya CI/CD iş akışlarını tetikleme
Bu makalede, Azure Machine Learning olaylarını temel alan olay temelli uygulamaları, işlemleri veya CI/CD iş akışlarını ayarlamayı öğreneceksiniz. Örneğin, Azure Event Grid kullanılarak belirli koşullar algılandığında hata bildirimi e-postaları veya ML işlem hattı çalıştırılır.
Azure Machine Learning model eğitimi, model dağıtımı ve izleme dahil olmak üzere makine öğrenmesi sürecinin tüm yaşam döngüsünü yönetir. Event Grid'i, modern sunucusuz mimarileri kullanarak eğitim çalıştırmalarının tamamlanması, modellerin kaydı ve dağıtımı ve veri kayması algılaması gibi Azure Machine Learning olaylarına tepki vermek için kullanabilirsiniz. Daha sonra çalışma alanı içinde çalışma durumu değişti, çalıştırma tamamlama, model kaydı, model dağıtımı ve veri kayması algılama gibi olaylara abone olabilir ve bunları kullanabilirsiniz.
Olay temelli eylemler için Event Grid ne zaman kullanılır:
- Çalışma hatası ve çalıştırma tamamlanma durumunda e-posta gönderme
- Model kaydedildikten sonra Azure işlevi kullanma
- Azure Machine Learning'den çeşitli uç noktalara olayları akışla aktarma
- Kayma algılandığında ML işlem hattını tetikleme
Önemli
Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Önkoşullar
Event Grid'i kullanmak için, olayları oluşturduğunuz Azure Machine Learning çalışma alanına katkıda bulunan veya sahip erişimine sahip olmanız gerekir.
Olay modeli & türleri
Azure Event Grid, Azure Machine Learning ve diğer Azure hizmetleri gibi kaynaklardan olayları okur. Bu olaylar daha sonra Azure Event Hubs, Azure İşlevleri, Logic Apps ve diğerleri gibi olay işleyicilerine gönderilir. Aşağıdaki diyagramda Event Grid'in kaynakları ve işleyicileri nasıl bağlayabilmesi gösterilmektedir ancak desteklenen tümleştirmelerin kapsamlı bir listesi değildir.
Olay kaynakları ve olay işleyicileri hakkında daha fazla bilgi için bkz. Event Grid nedir?
Azure Machine Learning için olay türleri
Azure Machine Learning, makine öğrenmesi yaşam döngüsünün çeşitli noktalarında olaylar sağlar:
Olay türü | Açıklama |
---|---|
Microsoft.MachineLearningServices.RunCompleted |
Makine öğrenmesi deneme çalıştırması tamamlandığında tetiklenir |
Microsoft.MachineLearningServices.ModelRegistered (Önizleme) |
Çalışma alanında bir makine öğrenmesi modeli kaydedildiğinde tetiklenir |
Microsoft.MachineLearningServices.ModelDeployed (Önizleme) |
Bir veya birden fazla modelle çıkarım hizmeti dağıtımı tamamlandığında tetiklenir |
Microsoft.MachineLearningServices.DatasetDriftDetected (Önizleme) |
İki veri kümesi için veri kayması algılama işi tamamlandığında tetiklenir |
Microsoft.MachineLearningServices.RunStatusChanged |
Çalıştırma durumu değiştirildiğinde tetikleniyor |
Olaylara filtre uygulama ve olaylara abone olma
Bu olaylar Azure Event Grid aracılığıyla yayımlanır. Azure portalı, PowerShell veya Azure CLI'dan bir veya daha fazla olay türü belirterek ve koşulları filtreleyerek olaylara kolayca abone olabilirsiniz.
Olaylarınızı ayarlarken, yalnızca belirli olay verilerinde tetikleme yapmak için filtreler uygulayabilirsiniz. Aşağıdaki örnekte, çalıştırma durumu değiştirilmiş olaylar için çalıştırma türlerine göre filtreleyebilirsiniz. Olay yalnızca ölçütler karşılandığında tetiklenir. Filtreleyebileceğiniz olay verileri hakkında daha fazla bilgi için bkz . Azure Machine Learning Event Grid şeması.
Azure Machine Learning olaylarının abonelikleri, Azure rol tabanlı erişim denetimi (Azure RBAC) tarafından korunur. Yalnızca çalışma alanının katkıda bulunanı veya sahibi olay abonelikleri oluşturabilir, güncelleştirebilir ve silebilir. Filtreler, olay aboneliği oluşturulurken veya daha sonra olay aboneliklerine uygulanabilir.
Azure portalına gidin, yeni bir abonelik veya mevcut bir abonelik seçin.
Sol gezinti alanından Olaylar girişini seçin ve ardından + Olay aboneliği'ni seçin.
Filtreler sekmesini seçin ve ekranı aşağı kaydırarak Gelişmiş filtreler'e gelin. Anahtar ve Değer için filtrelemek istediğiniz özellik türlerini belirtin. Burada, çalıştırma türü bir işlem hattı çalıştırması veya işlem hattı adımı çalıştırması olduğunda olay tetikleyicilerini görebilirsiniz.
Olay türüne göre filtreleme: Olay aboneliği bir veya daha fazla Azure Machine Learning olay türü belirtebilir.
Olay konusuna göre filtrele: Azure Event Grid, eşleşmelerle başlayan ve biten konu filtrelerini destekler, böylece eşleşen konuya sahip olaylar aboneye teslim edilir. Farklı makine öğrenmesi olaylarının konu biçimi farklıdır.
Olay türü Konu biçimi Örnek konu Microsoft.MachineLearningServices.RunCompleted
experiments/{ExperimentId}/runs/{RunId}
experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
Microsoft.MachineLearningServices.ModelRegistered
(Önizleme)models/{modelName}:{modelVersion}
models/sklearn_regression_model:3
Microsoft.MachineLearningServices.ModelDeployed
(Önizleme)endpoints/{serviceId}
endpoints/my_sklearn_aks
Microsoft.MachineLearningServices.DatasetDriftDetected
(Önizleme)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
Gelişmiş filtreleme: Azure Event Grid, yayımlanan olay şemasına göre gelişmiş filtrelemeyi de destekler. Azure Machine Learning olay şeması ayrıntıları, Azure Machine Learning için Azure Event Grid olay şemasında bulunabilir. Olay için
Microsoft.MachineLearningServices.ModelRegistered
modelin etiket değerini filtrelemek için:--advanced-filter data.ModelTags.key1 StringIn ('value1')
Filtreleri uygulama hakkında daha fazla bilgi edinmek için bkz . Event Grid için olayları filtreleme.
Machine Learning olaylarını kullanma
Machine Learning olaylarını işleyen uygulamalar önerilen birkaç uygulamayı izlemelidir:
- Olayları aynı olay işleyicisine yönlendirecek şekilde birden çok abonelik yapılandırılabildiği için, olayların belirli bir kaynaktan geldiğini varsaymak değil, beklediğiniz makine öğrenmesi çalışma alanından geldiğinden emin olmak için iletinin konusunu denetlemek önemlidir.
- Benzer şekilde eventType değerinin işlemeye hazır olduğunuzdan ve aldığınız tüm olayların beklediğiniz türlerde olacağını varsaymayın.
- İletiler sıralı olarak ve biraz gecikmeden sonra ulaşaabildiği için, nesneler hakkındaki bilgilerinizin hala güncel olup olmadığını anlamak için etag alanlarını kullanın. Ayrıca, belirli bir nesnedeki olayların sırasını anlamak için sıralayıcı alanlarını kullanın.
- Anlamadığınız alanları yoksayın. Bu uygulama, gelecekte eklenebilecek yeni özelliklere karşı dayanıklı kalmanıza yardımcı olacaktır.
- Başarısız olan veya iptal edilen Azure Machine Learning işlemleri bir olayı tetiklemez. Örneğin, bir model dağıtımı başarısız olursa Microsoft.MachineLearningServices.ModelDeployed tetiklenmez. Uygulamalarınızı tasarlarken bu tür hata modunu göz önünde bulundurun. Bir işlemin durumunu denetlemek ve ayrıntılı hata nedenlerini anlamak için her zaman Azure Machine Learning SDK'sını, CLI'yı veya portalı kullanabilirsiniz.
Azure Event Grid, müşterilerin Azure Machine Learning olayları tarafından tetiklenebilen ayrılmış ileti işleyicileri oluşturmasına olanak tanır. İleti işleyicilerinin bazı önemli örnekleri şunlardır:
- Azure İşlevleri
- Azure Logic Apps
- Azure Event Hubs
- Azure Data Factory İşlem Hattı
- Azure platformunda veya başka bir yerde barındırılan genel web kancaları
Azure portalında ayarlama
Azure portalını açın ve Azure Machine Learning çalışma alanınıza gidin.
Sol çubuktan Olaylar'ı ve ardından Olay Abonelikleri'ni seçin.
Kullanılacak olay türünü seçin.
Olayın yayımlanması için uç noktayı seçin. Aşağıdaki ekran görüntüsünde Olay hub'ı seçili uç noktadır:
Seçiminizi onayladıktan sonra Oluştur'u seçin. Yapılandırmadan sonra bu olaylar uç noktanıza gönderilecektir.
CLI ile ayarlama
En son Azure CLI'yı yükleyebilir veya Azure aboneliğinizin bir parçası olarak sağlanan Azure Cloud Shell'i kullanabilirsiniz.
Event Grid uzantısını yüklemek için CLI'dan aşağıdaki komutu kullanın:
az extension add --name eventgrid
Aşağıdaki örnekte Azure aboneliği seçme ve Azure Machine Learning için yeni bir olay aboneliği oluşturma adımları gösterilmektedir:
# 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"
Örnekler
Örnek: E-posta uyarıları gönderme
Tüm etkinlikleriniz için e-postaları yapılandırmak için Azure Logic Apps'i kullanın. Birlikte çalışan ekipler arasında işbirliği ve farkındalık sağlamak için koşulları özelleştirin ve alıcıları belirtin.
Azure portalında Azure Machine Learning çalışma alanınıza gidin ve sol çubuktan olaylar sekmesini seçin. Buradan Mantıksal uygulamalar'ı seçin.
Logic App kullanıcı arabiriminde oturum açın ve konu türü olarak Machine Learning hizmetini seçin.
Hangi olay için bildirim alınacağı seçin. Örneğin, aşağıdaki RunCompleted ekran görüntüsü.
Ardından, bu olayı kullanmak ve e-posta aramak için bir adım ekleyin. Olayları almak için kullanabileceğiniz birkaç farklı posta hesabı vardır. Ayrıca, e-posta uyarısı gönderme zamanlarına ilişkin koşulları da yapılandırabilirsiniz.
E-posta gönder'i seçin ve parametreleri doldurun. Konu başlığına olayları filtrelemeye yardımcı olmak için Olay Türü ve Konu Başlığı'nı ekleyebilirsiniz. ayrıca, ileti gövdesindeki çalıştırmalar için çalışma alanı sayfasına bir bağlantı ekleyebilirsiniz.
Bu eylemi kaydetmek için sayfanın sol köşesindeki Farklı Kaydet'i seçin.
Örnek: Veri kayma tetikleyicileri yeniden eğitme
Önemli
Bu örnekte yalnızca Azure Machine Learning SDK v1 veya Azure Machine Learning için Azure CLI uzantısı v1 kullanılırken kullanılabilen bir özellik (veri kayıyor) kullanılır. Daha fazla bilgi için bkz . Azure Machine Learning CLI & SDK v2 nedir?
Modeller zaman içinde eskir ve çalıştığı bağlamda kullanışlı kalmaz. Modeli yeniden eğitme zamanının geldiğinde veri kaymadığını algılamanın bir yoludur.
Bu örnekte, yeniden eğitmeyi tetikleyen bir Azure Logic App ile Event Grid'in nasıl kullanılacağı gösterilmektedir. Örnek, modelin eğitimi ile veri kümelerini sunma arasında veri kaydığında bir Azure Data Factory işlem hattını tetikler.
Başlamadan önce aşağıdaki eylemleri gerçekleştirin:
- Çalışma alanındaki veri kayma durumunu (SDK/CLI v1) algılamak için veri kümesi izleyicisi ayarlama
- Yayımlanmış bir Azure Data Factory işlem hattı oluşturun.
Bu örnekte, dosyaları blob deposuna kopyalamak ve yayımlanmış bir Machine Learning işlem hattını çalıştırmak için basit bir Data Factory işlem hattı kullanılır. Bu senaryo hakkında daha fazla bilgi için bkz. Azure Data Factory'de Machine Learning adımı ayarlama.
Mantıksal uygulamayı oluşturmaya başlayın. Azure portalına gidin, Logic Apps'i arayın ve oluştur'u seçin.
İstenen bilgileri doldurun. Deneyimi basitleştirmek için Azure Data Factory İşlem Hattı ve Azure Machine Learning çalışma alanınızla aynı aboneliği ve kaynak grubunu kullanın.
Mantıksal uygulamayı oluşturduktan sonra Event Grid kaynak olayı oluştuğunda'yı seçin.
Oturum açın ve olayın ayrıntılarını girin. Kaynak Adı'nı çalışma alanı adı olarak ayarlayın. Olay Türünü DatasetDriftDetected olarak ayarlayın.
Yeni bir adım ekleyin ve Azure Data Factory'yi arayın. İşlem hattı çalıştırması oluştur'u seçin.
Oturum açın ve çalıştırılacak yayımlanan Azure Data Factory işlem hattını belirtin.
Sayfanın sol üst kısmındaki kaydet düğmesini kullanarak mantıksal uygulamayı kaydedin ve oluşturun. Uygulamanızı görüntülemek için Azure portalında çalışma alanınıza gidin ve Olaylar'ı seçin.
Artık veri fabrikası işlem hattı kayma oluştuğunda tetikleniyor. Azure Machine Learning stüdyosu'de veri kayma çalıştırmanızın ve makine öğrenmesi işlem hattınızın ayrıntılarını görüntüleyin.
Sonraki adımlar
Event Grid hakkında daha fazla bilgi edinin ve Azure Machine Learning olaylarını deneyin: