Yineleyebilir deneyler tasarlama

Üretim İçin Machine Learning Modelleri Geliştirme

Sinan Ozdemir

Data Scientist and Author

Yineleyebilir deneyler

  • Doğruluk ve güvenilirliği sağlar.
  • Sonuçları yinelemek daha kolay.
  • Daha iyi iş birliği sağlar.
  • ML modellerinde önyargı riskini azaltır.
  • Araştırma sürecinin bütünlüğünü güçlendirir.
Üretim İçin Machine Learning Modelleri Geliştirme

MLflow

Machine learning deneylerini izlemek ve yönetmek için açık kaynaklı bir platform. MLflow şunlar için kullanılabilir:

  • Yineleyebilir ML işlem hatları oluşturmak
  • Şunları izlemek ve yönetmek:
    • paket bağımlılıkları
    • kod sürümleri
    • deney ayarları
  • Birden çok kullanıcının deneylere erişmesini sağlar

mlflow

1 https://www.databricks.com/blog/2018/06/05/introducing-mlflow-an-open-source-machine-learning-platform.html
Üretim İçin Machine Learning Modelleri Geliştirme

MLflow kullanma örneği

# standard scikit-learn imports
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# new imports from MLflow
import mlflow
import mlflow.sklearn
Üretim İçin Machine Learning Modelleri Geliştirme

MLflow kullanma örneği (devam)

with mlflow.start_run():  # Start an MLflow run assuming we have data prepared

    # Build and train model
    rf = RandomForestClassifier()
    rf.fit(X_train, y_train)

    # Log parameters and model information
    mlflow.log_param("n_estimators", rf.n_estimators)
    mlflow.sklearn.log_model(rf, "model")

    y_pred = rf.predict(X_test)  # Evaluate model
    accuracy = accuracy_score(y_test, y_pred)
    mlflow.log_metric("accuracy", accuracy)  # log the test accuracy metric
Üretim İçin Machine Learning Modelleri Geliştirme

Kodu izleme

  • Kod sürümlerini ve değişikliklerini MLflow ile kaydetme
  • Farklı kod sürümlerini karşılaştırma
  • Belirli sonuçları hangi kod sürümünün ürettiğini belirleme
  • Deneyleri kolayca yeniden üretme
  • Hata ayıklamayı ve sorun gidermeyi kolaylaştırma
Üretim İçin Machine Learning Modelleri Geliştirme

Model kayıtları

  • Modeller ve metaverileri için merkezi bir depo
  • MLflow, farklı model sürümlerini günlüğe almak, depolamak ve karşılaştırmak için kullanılabilir
  • Tüm ML işlem hatlarını yeniden üretme
  • Modelleri karşılaştırmada kullanılır
  • Modellerin doğruluğunu ve güvenilirliğini sağlama

storage

Üretim İçin Machine Learning Modelleri Geliştirme

Deney yineleyebilirliği

  • Girdi verilerini, kodu ve ayarları izleme ve kaydetme
  • Tüm ML işlem hatlarını yeniden üretme
  • ML model sonuçlarına güven inşa etme
  • Başkalarının işi doğrulayıp üzerine inşa etmesine olanak tanıma
  • Farklı çalıştırmalarda tutarlı sonuçlar sağlama

Üretim İçin Machine Learning Modelleri Geliştirme

Dokümantasyona yeniden bakış

  • Yineleyebilir ML için dokümantasyon şarttır ve şunları içermelidir:
    • Modellerin girdi verileri.
    • Modelleri oluşturan kod.
    • Deneyde kullanılan ayarlar.
    • Deney sonuçları (hangi model seçildi vb.)
  • Dokümantasyon erişilebilir olmalı
  • Bir deneyin tam kaydı olmalı
Üretim İçin Machine Learning Modelleri Geliştirme

Hadi pratik yapalım!

Üretim İçin Machine Learning Modelleri Geliştirme

Preparing Video For Download...