Makine Öğrenimi için Sürekli Entegrasyon/Sürekli Teslimata Giriş

Machine Learning için CI/CD

Ravi Bhadauria

Machine Learning Engineer

SDLC Genel Bakış

  • SDLC: Software Development Life Cycle
  • Baştan sona yazılım geliştirmeyi kapsayan sistematik yaklaşım
  • SDLC iş akışı, belirli hedeflere ulaşmak için izlenen adım dizisidir:
    • Build: kodu derleme ve/veya paketleme, bağımlılıkları çözme
    • Test: kod tabanının işlevsellik, kalite ve güvenilirliğini doğrulama
    • Deploy: yazılımı belirli bir ortamda kullanıma sunma süreci

  SDLC iş akışı adımlarının bağımlılık grafiği. İlk adım Build, ardından Test ve Deploy gelir.

Machine Learning için CI/CD

Makine öğreniminde SDLC

  • Makine öğrenimi geliştirme süreci karmaşık ve zaman alıcı olabilir
    • Model, dinamik olarak evrilen bir algoritmadır
    • Veri mühendisliği önemlidir
  • Sürekli Entegrasyon/Sürekli Teslimat, hataları azaltır ve yüksek kaliteli ML yazılımının daha hızlı teslimini sağlar
  • Verimli makine öğrenimi ve deneyler için gereklidir
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
Machine Learning için CI/CD

CI/CD nedir?

  • Sürekli Entegrasyon (CI): Kod değişikliklerini sık sık derleme, test etme ve paylaşılan bir depoya birleştirme pratiği
  • Geliştiricilerin entegrasyon sorunlarını erken tespit etmesini ve tutarlı bir kod tabanı sürdürmesini sağlar
  • Sürekli Teslimat (CD): Kod değişikliklerinin istenen anda üretime dağıtılabilmesini sağlar; ancak manuel onay gerekir
  • Sürekli Dağıtım (CD): Kod değişikliklerini manuel müdahale olmadan otomatik olarak üretime alır
Machine Learning için CI/CD

Makine öğreniminde CI/CD

  • Veri Bağımlılığı: Veri sürümlendirme ve yönetim stratejileri
  • Deneyler: Hiperparametre ayarlamasının otomasyonu
  • Model Sürümlendirme: İş birliğini geliştirme
  • Test Paradigması: Geleneksel fonksiyonel ve birim testlerinin ötesine geçer
  • Sürekli Dağıtım Zorlukları: Model sunumu, izleme ve güncellemelerdeki karmaşıklıklar
Machine Learning için CI/CD

Bu dersin kapsamı

Makine öğrenimi proje adımlarının grafiği; Veri Hazırlama, Model Geliştirme ve Model Değerlendirme/Ayarlama adımları vurgulanmış.

Machine Learning için CI/CD

Özet

  • Yazılım Geliştirme Yaşam Döngüsü (SDLC) akışı, kodu derleme, test etme ve dağıtmayı içerir
  • Sürekli Entegrasyon (CI), sık kod birleştirmeyi ve sorunların erken tespitini sağlar
  • Sürekli Teslimat (CD), kod değişikliklerinin manuel onayla dağıtılabilmesini sağlar
  • Sürekli Dağıtım (CD), kod dağıtımını manuel müdahale olmadan otomatikleştirir
  • Makine Öğreniminde CI/CD şunları sağlar:
    • Veri sürümlendirme
    • Model kurma ve model sürümlendirme
    • Deneylerin otomasyonu
    • Test
    • Dağıtım
Machine Learning için CI/CD

Hadi pratik yapalım!

Machine Learning için CI/CD

Preparing Video For Download...