MLflow Nedir?
MLflow, açık kaynaklı bir proje yönetim ve model izleme platformudur. Veri bilimi projelerinde
model geliştirme sürecini kolaylaştırmak ve takip etmek için tasarlanmıştır. MLflow, veri
bilimcilerin modelleri deneyler halinde yönetmelerine, modelleri izlemelerine, takip etmelerine ve
dağıtmalarına olanak tanır.
MLflow’un Amacı ve Avantajları:
Model yönetimi kolaylığı: MLflow, veri bilimcilerin farklı deneyler, parametre ayarlamaları ve
versiyonlar arasında geçiş yapmalarını sağlar.
Çeşitli kütüphanelerle uyumluluk: MLflow, popüler makine öğrenimi kütüphaneleri ve
platformlarıyla uyumlu çalışır. Bu sayede veri bilimciler, tercih ettikleri kütüphaneleri kullanırken
MLflow’un sağladığı avantajlardan faydalanabilir.
İzleme ve takip: MLflow, modelin eğitim sürecinde elde edilen metrikleri ve sonuçları izleme imkanı
sunar. Bu sayede veri bilimciler, modellerin performansını değerlendirebilir, hataları teşhis edebilir ve
iyileştirmeler yapabilir.
Dağıtım kolaylığı: MLflow, eğitilen modellerin kolayca dağıtılmasını sağlar. Modelleri paketleyerek
çeşitli platformlarda kullanılabilir hale getirebilir ve üretim ortamlarına entegre edebilir.
MLflow’un Bileşenleri:
MLflow Tracking: Deneylerin, parametrelerin ve metriklerin izlenmesini sağlar. Kodunuzdaki MLflow
entegrasyonu ile modelinizi, verilerinizi ve sonuçlarınızı izleyebilirsiniz.
MLflow Projects: MLflow, veri bilimi projelerini tekrarlanabilir ve taşınabilir hale getirmek için projelerin
paketlenmesini ve dağıtılmasını sağlar. Bu sayede projenizin farklı ortamlarda sorunsuz çalışmasını
sağlayabilirsiniz.
MLflow Models: Eğitilen modellerin paketlenmesi, yönetimi ve dağıtımını sağlar. MLflow Models,
çeşitli platformlarda (örneğin, Docker, Kubernetes) modellerin çalıştırılabilir hale getirilmesine
yardımcı olur.
MLflow Registry: MLflow modellerinin versiyon kontrolünü ve yönetimini sağlar. MLflow
Registry, modellerinizi merkezi bir yerde saklamanıza, izlemenize ve paylaşmanıza olanak tanır.
MLflow’un Kurulması:
MLflow kurulumu için bir sanal ortam kurup mlflow yüklemesi yapacağız, bunun sebebi ise sanal
ortam sayesinde daha izole bir python ortamı elde edeceğiz
Sanal ortam ve mlflow kurulumu için aşağıdaki kod sırası takip edilmeli
Bir Yapay Zeka Modelini MLflow’ da Takip Etmek
Bu yazımızda kodlama kısmına değinmiyeceğiz o yüzden kod kısmını göstermeden devam
ediyoruz.
İki tane bülten yazısı için toplamda 100 den fazla KNN modeli geliştirdik farklı parametreler ve
hazır datasetler kullanıldı.
Önce iris data seti ile yapılan modellerin MLflow ekranındaki yapısına göz atalım
Resimde de göründüğü gibi iris veri seti ile yapılan modellerden 72 tane geliştirilmiş şimdi
modellerin başarımlarını karşılaştırmak için Chart view butonuna tıklayalım.
Ardından Configure chart butonuna tıklayalım.
Edit chart kısmını görseldekilerin hepsini seçip Save changes diyelim
Şimdi de load_digits data setindeki yapıya bakalım. Bu sefer daha fazla metric kullanarak sonuçları analiz etmeye çalışılmış bir yapı karşımızda Edit chart diyerek görseldekileri seçtim ve Save changes dedim.
Sonuç ve Tavsiyeler:
MLflow, veri bilimi projeleri için önemli avantajlar sunan bir platformdur. Proje yönetimi, model
takibi ve dağıtımı gibi süreçleri kolaylaştırırken, deneylerin izlenmesini ve sonuçların
kaydedilmesini sağlar.
Deneylerinizi düzenli bir şekilde takip edin: MLflow’un Tracking özelliği, deneylerinizi,
parametreleri ve metrikleri takip etmenizi sağlar. Deneylerinizi açık ve anlaşılır bir şekilde
adlandırın, parametreleri kaydedin ve farklı model versiyonlarını izleyin.
Metrikleri çeşitlendirin: MLflow, farklı metrikleri kaydetme ve izleme imkanı sunar. Sadece
accuracy değil, Precision, Recall, Mean Squared Error (MSE) ve F1 Score gibi diğer önemli
metrikleri de hesaplayın ve kaydedin. Bu şekilde model performansını daha kapsamlı bir şekilde
değerlendirebilirsiniz.
Modellerinizi yayınlayın ve versiyon kontrolünü kullanın: MLflow’un Models ve Registry
özellikleri, eğitilen modellerin yönetimini ve dağıtımını kolaylaştırır. Modellerinizi farklı
formatlarda kaydedin ve üretim ortamlarına entegre edin. Ayrıca, model versiyonlarını takip edin
ve gerektiğinde geri alma işlemleri yapın. Bu, modellerin yeniden kullanılabilirliğini artırır ve
model yönetimini daha iyi bir şekilde kontrol etmenizi sağlar.
MLflow ekosistemine aşina olun: MLflow, farklı bileşenleriyle bir ekosistem oluşturur. MLflow
Tracking, Projects, Models ve Registry gibi bileşenleri anlamak ve doğru şekilde kullanmak
önemlidir. Dokümantasyonu ve örnek projeleri inceleyerek MLflow’u daha etkili bir şekilde
kullanmayı öğrenin.
MLflow topluluğu ve kaynaklarını takip edin: MLflow, geniş bir kullanıcı topluluğuna sahiptir
ve sürekli olarak geliştirilmektedir. MLflow ile ilgili güncellemeleri, yeni özellikleri ve kullanım
ipuçlarını takip etmek için topluluk forumlarını, blogları ve kaynakları izleyin. Bu şekilde MLflow’u
daha iyi anlayabilir ve projelerinizde daha verimli bir şekilde kullanabilirsiniz.