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:

Örnek not defterleri

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 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

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.