Versi data dan model

Mengembangkan Model Machine Learning untuk Produksi

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Versioning mayor & minor

Dua jenis versioning: mayor dan minor

  • Versi mayor menandakan perubahan besar pada data atau model

  • Versi minor menandakan perubahan kecil

Dengan versi mayor/minor kita dapat melihat bagaimana dan apa perubahan pada data atau model

Mengembangkan Model Machine Learning untuk Produksi

Versioning data pelatihan

  • Label mayor/minor unik atau stempel waktu
  • Menjamin reprodusibilitas dan keterlacakan eksperimen
  • Mudah kembali ke versi data sebelumnya
  • Melihat perubahan data dari waktu ke waktu

Contoh:

  1. Data V 1.0 adalah dataset awal kami
  2. Data V 1.1 menambahkan transformasi fitur
  3. Data V 1.2 menambahkan metode seleksi fitur
  4. Data V 2.0 memasukkan sumber data baru
Mengembangkan Model Machine Learning untuk Produksi

Feature store

  • Repositori terpusat untuk menyimpan dan mengelola berbagai versi fitur
  • Mudah melacak berbagai versi fitur
  • Menggunakan fitur untuk beragam eksperimen
  • Meningkatkan kolaborasi dan integritas eksperimen
  • Mengurangi duplikasi kerja
Mengembangkan Model Machine Learning untuk Produksi

Versioning model ML

  • Melacak berbagai versi model ML
  • Menjamin reproduksibilitas dan keterlacakan eksperimen
  • Mudah rollback ke versi model sebelumnya
  • Biasanya selaras dengan versi data pelatihan, tapi tidak selalu

Contoh:

  1. Model V 1.0 adalah model awal (Random Forest)
  2. Model V 1.1 adalah model yang sama, di-fine-tune pada Data V 1.1
  3. Model V 2.0 kini model XGBoost yang di-fine-tune pada Data V 1.2
  4. Model V 2.1 adalah model XGBoost yang di-fine-tune pada Data V 2.0
Mengembangkan Model Machine Learning untuk Produksi

Model store

  • Repositori terpusat untuk menyimpan dan mengelola berbagai versi model
  • Mudah melacak berbagai versi model
  • Rollback ke versi sebelumnya
Mengembangkan Model Machine Learning untuk Produksi

Contoh versioning model dengan MLflow

import mlflow

# Start a new mlflow run
with mlflow.start_run() as run:
    # Log model version as a parameter
    mlflow.log_param("model_version", "1.0")

    # Train and save the model
    model = train_model()
    mlflow.sklearn.log_model(model, "model")
Mengembangkan Model Machine Learning untuk Produksi

Ayo berlatih!

Mengembangkan Model Machine Learning untuk Produksi

Preparing Video For Download...