MLflow ve Azure Machine Learning
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)
MLflow , makine öğrenmesi yaşam döngüsünün tamamını yönetmek için tasarlanmış bir açık kaynak çerçevedir. Modelleri farklı platformlarda eğitme ve sunma özelliği, denemelerinizin nerede çalıştığına bakılmaksızın tutarlı bir araç kümesi kullanmanıza olanak tanır: bilgisayarınızda, uzak işlem hedefinde, sanal makinede veya Azure Machine Learning işlem örneğinde yerel olarak.
Azure Machine Learning çalışma alanları MLflow ile uyumludur. Bu, Azure Machine Learning çalışma alanlarını MLflow sunucusuyla aynı şekilde kullanabileceğiniz anlamına gelir. Bu uyumluluk aşağıdaki avantajlara sahiptir:
- Azure Machine Learning, MLflow sunucu örneklerini arka planda barındırmaz; bunun yerine, çalışma alanı MLflow API dilini konuşabilir.
- Azure Machine Learning'de çalıştırılsa da çalışmasa da tüm MLflow kodları için izleme sunucunuz olarak Azure Machine Learning çalışma alanlarını kullanabilirsiniz. MLflow'ı yalnızca izlemenin gerçekleşmesi gereken çalışma alanına işaret eden şekilde yapılandırmanız gerekir.
- Herhangi bir değişiklik yapmadan Azure Machine Learning'de MLflow kullanan herhangi bir eğitim yordamını çalıştırabilirsiniz.
Bahşiş
Azure Machine Learning SDK v1'den farklı olarak SDK v2'de günlüğe kaydetme işlevi yoktur. Eğitim yordamlarınızın buluttan bağımsız ve taşınabilir olması için günlük kaydı için MLflow kullanmanızı ve kodunuzun Azure Machine Learning'de sahip olduğu tüm bağımlılıkları kaldırmanızı öneririz.
MLflow ile izleme
Azure Machine Learning, denemeleriniz için ölçümleri günlüğe kaydetmek ve yapıtları depolamak için MLflow izlemesini kullanır. Azure Machine Learning'e bağlandığınızda, üzerinde çalıştığınız çalışma alanında MLflow kullanılarak gerçekleştirilen tüm izlemeler gerçekleştirilir. Denemeleri ve eğitim yordamlarını izlemek için MLflow kullanmak üzere denemelerinizi ayarlama hakkında daha fazla bilgi edinmek için bkz . MLflow ile ölçümleri, parametreleri ve dosyaları günlüğe kaydetme. Denemeleri ve çalıştırmaları sorgulamak ve karşılaştırmak için MLflow da kullanabilirsiniz.
Azure Machine Learning'de MLflow, izlemeyi merkezi hale getirmek için bir yol sağlar. Yerel olarak veya farklı bir bulutta çalışırken bile MLflow'u Azure Machine Learning çalışma alanlarına bağlayabilirsiniz. Çalışma alanı, eğitim ölçümlerini ve modellerini depolamak için merkezi, güvenli ve ölçeklenebilir bir konum sağlar.
Azure Machine Learning'de MLflow'un kullanılması şunların özelliklerini içerir:
- Yerel olarak veya bulutta çalışan makine öğrenmesi denemelerini ve modellerini izleyin.
- Azure Databricks makine öğrenmesi denemelerini izleyin.
- Azure Synapse Analytics makine öğrenmesi denemelerini izleyin.
Örnek not defterleri
- MLflow ile XGBoost sınıflandırıcısını eğitme ve izleme: MLflow kullanarak denemeleri izlemeyi, modelleri günlüğe kaydetmeyi ve birden çok özelliği işlem hattında birleştirmeyi gösterir.
- Hizmet sorumlusu kimlik doğrulamasını kullanarak MLflow ile XGBoost sınıflandırıcısını eğitme ve izleme: Azure Machine Learning dışında çalışan bir işlemden MLflow kullanarak denemelerin nasıl izlendiğini gösterir. Örnek, hizmet sorumlusu kullanarak Azure Machine Learning hizmetlerinde kimlik doğrulaması yapmayı gösterir.
- HyperOpt kullanarak hiper parametre iyileştirmesi ve MLflow'da iç içe çalıştırmalar: Popüler kitaplığını
Hyperopt
kullanarak modeller için hiper parametre iyileştirmesi yapmak üzere MLflow'da alt çalıştırmaların nasıl kullanılacağını gösterir. Örnek, alt çalıştırmalardan üst çalıştırmalara ölçümleri, parametreleri ve yapıtları aktarmayı gösterir. - MLflow ile modelleri günlüğe kaydetme: MLflow ile yapıtlar yerine model kavramının nasıl kullanılacağını gösterir. Örnekte ayrıca özel model oluşturma gösterilmektedir.
- Çalıştırmaları ve denemeleri MLflow ile yönetme: MLflow kullanarak Azure Machine Learning'den denemeleri, çalıştırmaları, ölçümleri, parametreleri ve yapıtları sorgulamayı gösterir.
R'de MLflow ile izleme
R'de MLflow desteği aşağıdaki sınırlamalara sahiptir:
- MLflow izlemesi, Azure Machine Learning işlerinde deneme ölçümlerini, parametrelerini ve modellerini izlemekle sınırlıdır.
- RStudio, Posit (eski adıyla RStudio Workbench) veya R çekirdeklerine sahip Jupyter not defterleri üzerinde etkileşimli eğitim desteklenmez.
- MLflow R SDK'sı kullanılarak model yönetimi ve kaydı desteklenmez . Bunun yerine, model kaydı ve yönetimi için Azure Machine Learning CLI veya Azure Machine Learning stüdyosu kullanın.
Azure Machine Learning ile MLflow izleme istemcisini kullanma hakkında bilgi edinmek için Azure Machine Learning CLI (v2) kullanarak R modellerini eğitma konusundaki örnekleri görüntüleyin.
Java'da MLflow ile izleme
Java'da MLflow desteği aşağıdaki sınırlamalara sahiptir:
- MLflow izleme, Azure Machine Learning işlerinde deneme ölçümlerini ve parametrelerini izlemekle sınırlıdır.
- Yapıtlar ve modeller MLflow Java SDK'sı kullanılarak izlenemez. Bunun yerine, yakalamak istediğiniz modelleri (veya yapıtları) kaydetmek için yöntemiyle
mlflow.save_model
birlikte işlerde klasörünü kullanınOutputs
.
Azure Machine Learning ile MLflow izleme istemcisini kullanma hakkında bilgi edinmek için Azure Machine Learning ile MLflow izleme istemcisini kullanan Java örneğini görüntüleyin.
MLflow ile model kayıt defterleri
Azure Machine Learning, model yönetimi için MLflow'a destek sağlar. Bu destek, MLflow istemcisini bilen kullanıcılar için model yaşam döngüsünün tamamını desteklemenin kullanışlı bir yolunu temsil eder.
Azure Machine Learning'de MLflow API'sini kullanarak modelleri yönetme hakkında daha fazla bilgi edinmek için bkz . MLflow ile Azure Machine Learning'de model kayıt defterlerini yönetme.
Örnek not defteri
- MLflow ile model kayıt defterlerini yönetme: MLflow kullanarak kayıt defterlerindeki modellerin nasıl yönetileceğini gösterir.
MLflow ile model dağıtımı
MLflow modellerini Azure Machine Learning'e dağıtabilir ve MLflow modellerini kullanırken geliştirilmiş deneyimden yararlanabilirsiniz. Azure Machine Learning, ortam veya puanlama betiği belirtmek zorunda kalmadan MLflow modellerinin hem gerçek zamanlı hem de toplu iş uç noktalarına dağıtımını destekler. Dağıtım MLflow SDK'sı, Azure Machine Learning CLI, Python için Azure Machine Learning SDK'sı veya Azure Machine Learning stüdyosu kullanılarak desteklenir.
Hem gerçek zamanlı hem de toplu çıkarım için Azure Machine Learning'e MLflow modelleri dağıtma hakkında daha fazla bilgi edinmek için bkz . MLflow modellerini dağıtma yönergeleri.
Örnek not defterleri
- MLflow'ı çevrimiçi uç noktalara dağıtma: MLflow SDK'sını kullanarak MLflow biçimindeki modellerin çevrimiçi uç noktalara nasıl dağıtılacağı gösterilir.
- Güvenli dağıtım ile MLflow'ı çevrimiçi uç noktalara dağıtma: MLflow SDK'sını ve modelleri aşamalı olarak kullanıma sunma ile MLflow biçimindeki modellerin çevrimiçi uç noktalara nasıl dağıtılacağı gösterilir. Örnek ayrıca bir modelin birden çok sürümünün aynı uç noktaya dağıtımını da gösterir.
- MLflow'ı web hizmetlerine dağıtma (V1): MLflow SDK'sını kullanarak modellerin MLflow biçiminde web hizmetlerine (ACI/AKS v1) nasıl dağıtılacağı gösterilir.
- Azure Databricks'te eğitilen modelleri MLflow ile Azure Machine Learning'e dağıtma: Azure Databricks'te modelleri eğitmeyi ve Azure Machine Learning'de dağıtmayı gösterir. Örnek ayrıca Azure Databricks'teki MLflow örneğiyle denemeleri izlemek istediğiniz durumları işlemeyi de kapsar.
MLflow projeleriyle eğitim (önizleme)
Ö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ı.
MLflow projelerini (önizleme) kullanarak Azure Machine Learning'e eğitim işleri gönderebilirsiniz. Azure Machine Learning izleme ile işleri yerel olarak gönderebilir veya Azure Machine Learning işlemi aracılığıyla işlerinizi buluta geçirebilirsiniz.
İzleme için Azure Machine Learning çalışma alanlarını kullanan MLflow Projeleri ile eğitim işleri göndermeyi öğrenmek için bkz . MLflow projeleri ve Azure Machine Learning ile makine öğrenmesi modellerini eğitma.
Örnek not defterleri
- Azure Machine Learning çalışma alanlarında bir MLflow projesini izleyin.
- Azure Machine Learning işlerinde bir MLflow projesi eğitin ve çalıştırın.
MLflow SDK' sı, Azure Machine Learning v2 ve Azure Machine Learning stüdyosu özellikleri
Aşağıdaki tabloda, makine öğrenmesi yaşam döngüsünde kullanılabilen istemci araçlarının her biri kullanılarak gerçekleştirilebilecek işlemler gösterilmektedir.
Özellik | MLflow SDK'sı | Azure Machine Learning CLI/SDK | Azure Machine Learning Studio |
---|---|---|---|
Ölçümleri, parametreleri ve modelleri izleme ve günlüğe kaydetme | ✓ | ||
Ölçümleri, parametreleri ve modelleri alma | ✓ | 1 | ✓ |
Eğitim işleri gönderme | ✓2 | ✓ | ✓ |
Azure Machine Learning veri varlıklarıyla eğitim işleri gönderme | ✓ | ✓ | |
Makine öğrenmesi işlem hatları ile eğitim işleri gönderme | ✓ | ✓ | |
Denemeleri ve çalıştırmaları yönetme | ✓ | ✓ | ✓ |
MLflow modellerini yönetme | ✓3 | ✓ | ✓ |
MLflow olmayan modelleri yönetme | ✓ | ✓ | |
MLflow modellerini Azure Machine Learning'e dağıtma (Çevrimiçi ve Toplu İş) | ✓4 | ✓ | ✓ |
MLflow olmayan modelleri Azure Machine Learning'e dağıtma | ✓ | ✓ |
Dekont
- 1 Yalnızca yapıtlar ve modeller indirilebilir.
- 2 MLflow projeleri kullanılarak mümkündür (önizleme).
- 3 Bazı işlemler desteklenmeyebilir. Ayrıntılar için Bkz. MLflow ile Azure Machine Learning'de model kayıt defterlerini yönetme.
- 4 MLflow SDK'sını kullanarak toplu çıkarım için MLflow modellerinin dağıtımı şu anda mümkün değildir. Alternatif olarak bkz . Spark işlerinde MLflow modellerini dağıtma ve çalıştırma.
İlgili içerik
- Yapıtlardan MLflow'daki modellere.
- Azure Machine Learning için MLflow'ı yapılandırın.
- Günlüğü SDK v1'den MLflow'a geçirme
- MLflow ile ML denemelerini ve modellerini izleyin.
- MLflow modellerini günlüğe kaydetme.
- MLflow modellerini dağıtma yönergeleri.