Sürekli entegrasyon ve sürekli dağıtım (CI/CD)

Uçtan Uca Machine Learning

Joshua Stapleton

Machine Learning Engineer

ML yaşam döngüsünde CI/CD

Makine öğrenimi yaşam döngüsünün dağıtım aşaması

Uçtan Uca Machine Learning

CI/CD ilkeleri

Sürekli Entegrasyon (CI)

  • Merkeze düzenli kod birleştirme
  • Hataları bulmak için genellikle otomatik test içerir

Güncellenen bulutla gösterilen Sürekli Entegrasyon

Sürekli Dağıtım (CD)

  • Kod tabanındaki güncellemeleri otomatik olarak üretime alır
  • Sıklıkla CI ile birlikte kullanılır

Roketle gösterilen Sürekli Dağıtım

Uçtan Uca Machine Learning

Makine öğreniminde CI/CD

Üretim/iterasyon için CI/CD kritiktir

  • Örn.: yeni hasta verilerini otomatik ekleme
  • Veri kaymasını azaltır

 

ML’de CI/CD:

  • Modelleri düzenli yeniden eğitme
  • Performans testi
  • Otomatik, kurallı dağıtım
Uçtan Uca Machine Learning

AWS Elastic Beanstalk ile CI/CD

AWS Elastic Beanstalk (EB):

  • Uygulama ve servislerin dağıtımı ve ölçeklenmesi için tam yönetilen hizmet
  • EB’yi kurun
eb init

eb create heart_disease_env
eb deploy
eb open
Uçtan Uca Machine Learning

EB’ye alternatifler (1)

Azure Machine Learning:

  • Gerçek zamanlı skorlayıcı servisler
  • Eğitim için yönetilen hesaplama kaynakları
  • Üretimde performans izleme
Uçtan Uca Machine Learning

EB’ye alternatifler (2)

GCP App Engine:

  • AWS EB veya Azure Machine Learning’e benzer bir alternatif
Uçtan Uca Machine Learning

EB’ye alternatifler (3)

Kubernetes:

  • Açık kaynak konteyner orkestrasyon sistemi
  • Konteynerli uygulamaların dağıtımını, ölçeklenmesini ve yönetimini otomatikleştirir
  • Birden çok büyük bulut platformuyla uyumlu
  • Öğrenmesi daha zor, ancak daha fazla kontrol sunar
Uçtan Uca Machine Learning

EB’ye alternatifler (4)

Daha fazlası da var!

Uçtan Uca Machine Learning

Hadi pratik yapalım!

Uçtan Uca Machine Learning

Preparing Video For Download...