- ML için CI/CD yazılımdakinden nasıl farklıdır?
- Hattın aşamaları: teslim zincirinin anatomisi
- Sürekli entegrasyon kapıları: neleri otomatik sınamalı?
- Paketleme ve dağıtım stratejileri
- Örnek akış: bir kredi skorlama modelinin güncellenmesi
- Sık yapılan hatalar ve işletme ipuçları
- Bu beceriyi Mindset programlarında nerede çalışırsınız?
- Sık sorulan sorular
ML projeleri için CI/CD hattı: test, eğitim, paketleme ve dağıtım
ML projelerinde kod, veri ve model değişikliklerini otomatik test eden, eğitip değerlendiren ve güvenle yayına alan hattın adımlarını öğrenin.
ML için CI/CD yazılımdakinden nasıl farklıdır?
Klasik yazılımda hattın girdisi koddur: Kod değişir, testler çalışır, derleme yapılır, uygulama dağıtılır. Makine öğrenmesinde ise değişen unsurlar kod, veri ve modeldir. Aynı kodla farklı veri farklı bir model üretir; aynı model farklı bir ortamda farklı davranabilir. Bu yüzden ML hattı, kod testlerinin yanında veri doğrulamasını, model eğitimini ve modelin metrik temelli değerlendirmesini de içerir.
Bir diğer fark, başarının tanımıdır. Normal yazılımda test ya geçer ya kalır; ML'de yeni model "çalışıyor" olabilir ama eskisinden kötü tahmin üretiyor olabilir. Bu nedenle kabul ölçütü yalnızca hata vermemek değil, belirlenen metriklerde eşiği geçmek ve mevcut modeli geriletmemektir. CI/CD hattı bu kararları elle yürütülen kontroller yerine otomatik kapılara dönüştürür. Böylece her değişiklik aynı standartla sınanır ve yayına çıkış güvenilir, tekrarlanabilir ve izlenebilir olur.
Hattın aşamaları: teslim zincirinin anatomisi
Olgun bir ML teslim hattı genellikle şu aşamalardan oluşur.
- Kod ve yapılandırma kontrolleri: Biçim denetimi, birim testleri, bağımlılık ve güvenlik taraması. Veri işleme ve özellik hesaplama fonksiyonları ayrıca test edilir.
- Veri doğrulama: Şema, eksik değer, değer aralığı ve dağılım kontrolleri. Bozuk veri, eğitim başlamadan hattı durdurur.
- Eğitim: Parametreleri ve veri sürümünü kaydeden, tekrar üretilebilir eğitim işi. Ağır eğitimler her değişiklikte değil, belirli koşullarda ya da zamanlanmış olarak çalıştırılabilir.
- Değerlendirme: Doğrulama kümesinde metrikler, mevcut üretim modeliyle karşılaştırma, kritik alt gruplarda performans, adillik ve gecikme kontrolleri.
- Kayıt: Başarılı model, kod sürümü, veri sürümü ve metriklerle birlikte model kayıt defterine yazılır.
- Paketleme: Model ve çıkarım kodu, bağımlılıklarıyla birlikte bir kapsayıcı imajına ya da başka bir dağıtım biçimine paketlenir.
- Dağıtım: Hazırlık ortamında doğrulanır, sonra kademeli olarak üretime çıkar.
- İzleme ve geri bildirim: Üretimdeki model izlenir ve gerektiğinde hattı yeniden başlatan sinyaller üretilir.
Sürekli entegrasyon kapıları: neleri otomatik sınamalı?
ML'de sürekli entegrasyon kapıları gruplar halinde düşünülebilir. Kod kapıları, veri işleme ve model kodunun beklenen girdi-çıktı davranışını sınar; küçük bir örnek veri kümesiyle hızlı çalışan duman testleri, hattın uçtan uca çalıştığını doğrular. Veri kapıları, girdinin şemasını ve dağılımını denetler. Model kapıları ise eğitilmiş modelin davranışına bakar: belirlenen metrik eşiği, mevcut modele karşı gerileme, olağan dışı girdilerde çökmeme, tahmin dağılımının makul olması ve çıkarım süresinin sınır içinde kalması.
Bu kapıların sırası önemlidir. Hızlı ve ucuz kontroller önce, pahalı kontroller sonra çalışır; böylece basit bir biçim hatası yüzünden ağır bir eğitim işi boşuna başlamaz. Her kapı başarısız olduğunda neden açıkça raporlanmalıdır, çünkü ML hatalarında "model kötü" demek yeterli bilgi değildir: Hangi metrik, hangi veri diliminde, hangi referansa göre düştü sorularının yanıtı hatta görünmelidir.
Paketleme ve dağıtım stratejileri
Eğitilmiş model tek başına dağıtılmaz; çıkarım koduyla, bağımlılıklarıyla ve yapılandırmasıyla paketlenir. Paketleme hattın tekrar üretilebilirliğini sağlamalıdır: Aynı paket, hazırlık ve üretim ortamlarında aynı biçimde çalışmalıdır. Bu nedenle bağımlılık sürümlerinin sabitlenmesi, model dosyasının sürüm numarasıyla ilişkilendirilmesi ve imajın değiştirilemez biçimde saklanması önerilir.
Dağıtımda riski azaltan başlıca stratejiler şunlardır:
- Gölge dağıtım: Yeni model tahmin üretir ama kullanıcıya gösterilmez; çıktıları mevcut modelle karşılaştırılır.
- Kanarya: Trafiğin küçük bir bölümü yeni modele yönlendirilir, metrikler izlenir, sorun yoksa pay artırılır.
- Mavi-yeşil: Yeni sürüm ayrı bir ortamda hazırlanır, doğrulandıktan sonra trafik tek seferde geçirilir; sorunda geri dönüş hızlıdır.
- Toplu (batch) tahmin için sürüm değişimi: Zamanlanmış işin yeni model sürümünü kullanması ve sonuçların karşılaştırılması.
Hangi strateji seçilirse seçilsin, önceki model sürümü hazır tutulmalı ve geri alma yolu önceden denenmiş olmalıdır.
Örnek akış: bir kredi skorlama modelinin güncellenmesi
Örneğin bir ekip, kredi başvuru skorlama modelinin özellik hesaplama kodunu iyileştirdi ve ana dala birleştirmek istiyor. Değişiklik gönderildiğinde hat otomatik çalışır. Önce kod denetimi ve birim testleri geçer; ardından hat, veri deposundan güncel eğitim kümesini alır ve şema ile dağılım kontrolünden geçirir. Eğitim işi başlar, parametreler ve veri sürümü kaydedilir.
Değerlendirme adımında yeni model, mevcut üretim modeliyle aynı doğrulama kümesinde karşılaştırılır; genel metrik düşmemiş olsa bile belirli bir müşteri grubunda belirgin kayıp varsa kapı başarısız olur ve geliştiriciye hangi dilimde düştüğü bildirilir. Düzeltme sonrası hat yeniden çalışır, kapılar geçilir, model kayıt defterine yazılır ve kapsayıcı imajı oluşturulur.
Hazırlık ortamında duman testi yapılır; gerekli onaydan sonra kanarya dağıtımı başlar. Metrikler normal kalırsa trafik artırılır, aksi halde hat önceki sürüme otomatik döner. Her adımın kaydı tutulduğu için denetimde modelin hangi kodla, hangi veriyle üretildiği gösterilebilir.
Sık yapılan hatalar ve işletme ipuçları
ML için CI/CD kurulumunda tekrar eden hatalar şunlardır:
- Yalnızca kodu test edip veriyi ve modeli denetlememek
- Her kod değişikliğinde ağır eğitim çalıştırıp hattı yavaşlatmak ve maliyeti artırmak
- Eğitimi tekrar üretilemez kılmak: Rastgelelik tohumunun, veri sürümünün ya da bağımlılıkların kaydedilmemesi
- Kabul eşiğini keyfi belirlemek ve gözden geçirmemek
- Geri alma yolunu hiç denememek
- Gizli bilgileri (erişim anahtarı, parola) depoya yazmak; bunlar yönetilen bir gizli bilgi deposundan okunmalıdır
- Hattı kuran kişiye bağımlı bırakmak ve belgelememek
İşletme ipuçları: Hat adımlarının süre ve başarısızlık oranlarını ölçün, kararsız (zaman zaman çöken) testleri ihmal etmeyin, hat yapılandırmasını kod gibi sürümleyin ve inceleyin. Sürekli iyileştirme için başarısız koşuların nedenlerini düzenli gözden geçirin; sıkça tekrarlayan neden, yeni bir otomatik kapı eklemek için iyi bir işarettir.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
ML için CI/CD Pipeline Otomasyonu eğitimi şu modülleri içerir: ML Teslim Hattının Anatomisi, Sürekli Entegrasyon Kapıları, Otomatik Eğitim ve Değerlendirme, Paketleme ve Artefakt Yönetimi, Dağıtım Stratejileri, Hat İşletimi ve Sürekli İyileştirme. MLOps Mühendisliği Sertifika Programı ise "Makine Öğrenmesi için Test ve Sürekli Entegrasyon", "Boru Hattı Orkestrasyonu ve İş Akışı Otomasyonu" ve "Model Servis ve Dağıtım Mimarileri" gibi modülleri deney takibi, konteynerleştirme ve izleme konularıyla birlikte ele alır.
Bu içerik, ML modellerini üretime taşıyan ML ve MLOps mühendisleri, DevOps ekipleri ve platform mühendisleri için uygundur; veri bilimi ile yazılım teslim ekiplerinin ortak bir hat üzerinde çalışmasına da zemin sağlar.
İlgili Mindset programı
ML için CI/CD Pipeline Otomasyonu
Sık sorulan sorular
ML için CI/CD, DevOps'taki CI/CD ile aynı araçları kullanır mı?
Büyük ölçüde evet. Kod deposu, otomasyon sunucusu, kapsayıcı ve dağıtım araçları ortak kullanılabilir. Farkı oluşturan eklentiler veri doğrulama, deney ve model kaydı, model değerlendirme kapıları ve model odaklı izleme adımlarıdır. Hat, bu ek katmanları mevcut DevOps altyapısına bağlayarak kurulur.
Her kod değişikliğinde model yeniden eğitilmeli mi?
Gerekmez. Ağır eğitim işleri her değişiklikte çalıştırılırsa hat yavaşlar ve maliyet artar. Genellikle küçük örnek veriyle hızlı duman testi yapılır; tam eğitim ise model kodu ya da özellik mantığı değiştiğinde, zamanlanmış olarak veya elle tetiklenir.
Model kayıt defteri nedir ve neden gerekir?
Eğitilmiş model sürümlerinin, bağlı oldukları kod, veri ve metriklerle birlikte saklandığı merkezi kayıttır. Hangi sürümün hazırlıkta, hangisinin üretimde olduğunu gösterir ve geri alma için önceki sürümü hazır tutar. Denetimde modelin kökenini kanıtlamak için de kullanılır.
Model testi ile klasik yazılım testi arasındaki temel fark nedir?
Klasik testte beklenen çıktı kesindir. Modelde çıktı olasılıksaldır; bu yüzden test metrik eşikleri, dilim bazlı performans ve gerileme karşılaştırmaları üzerine kurulur. Ayrıca veri ve dağılım testleri eklenir. Tek bir doğru cevap yerine kabul edilebilir davranış aralığı tanımlanır.
Küçük bir ekip için hat nereden başlamalı?
Önce kod testleri ve tekrar üretilebilir bir eğitim komutuyla başlayın, ardından veri doğrulama ve model değerlendirme kapısını ekleyin. Dağıtım otomasyonu en sona kalabilir. Her adımı eklemeden önce o adımın hangi sorunu çözdüğünü yazın; gerekçesiz karmaşıklık küçük ekibi yavaşlatır.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Mühendisliği ve MLOps, DevOps ve Bulut Teknolojileri