Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Sürekli Entegrasyon (CI)

Sürekli Entegrasyon ile AI/ML iş akışlarını geliştirin. Testleri otomatikleştirin, kod kalitesini artırın ve model geliştirmeyi zahmetsizce kolaylaştırın.

Sürekli Entegrasyon (CI), geliştiricilerin kod değişikliklerini sık sık merkezi bir depoda birleştirdiği, ardından otomatik derlemelerin ve testlerin çalıştırıldığı bir yazılım geliştirme uygulamasıdır. CI'nın temel amacı, entegrasyon sorunlarını erken tespit etmek, kod kalitesini artırmak ve geliştirme iş akışını kolaylaştırmaktır. Yapay Zeka (AI) ve Makine Öğrenimi (ML) bağlamında CI, geleneksel kod kontrollerinin ötesine geçerek veri, modeller ve genel hat performansının doğrulanmasını içerir ve Makine Öğrenimi Operasyonları'nın (MLOps) kritik bir bileşenini oluşturur.

Sürekli Entegrasyonun Temel İlkeleri

CI süreci, otomasyon ve sık yineleme temeli üzerine kurulmuştur. Geliştiriciler, Git gibi bir sürüm kontrol sistemi kullanarak paylaşılan bir depoya küçük, sık değişiklikler gönderir. Her gönderme, birkaç önemli adımı yürüten otomatik bir iş akışını veya ardışık düzeni tetikler:

  • Otomatik Derleme: Sistem, doğru entegrasyonu sağlamak için kodu otomatik olarak derler. Makine öğrenimi projeleri için bu, Docker gibi konteynerleştirme araçları kullanılarak ortamın ayarlanmasını içerebilir.
  • Otomatik Test: Yeni değişiklikleri doğrulamak için bir dizi test çalıştırılır. Bu, kod mantığı için birim testlerini, bileşen etkileşimleri için entegrasyon testlerini ve veri doğrulama ve model değerlendirme gibi makine öğrenimi için özel testleri içerir.
  • Hızlı Geri Bildirim Döngüsü: İşlem hattındaki herhangi bir adım başarısız olursa, geliştirme ekibi derhal bilgilendirilir. Bu, sorunların daha karmaşık hale gelmeden ve ana kod tabanına entegre edilmeden hızlı bir şekilde çözülmesini sağlar.

Makine Öğrenimi için CI (CI4ML)

Makine Öğrenimi projelerine Sürekli Entegrasyon (CI) uygulamak benzersiz zorluklar getirir. Sadece kodun ötesinde, makine öğrenimi sistemleri, sürüm kontrolü ve doğrulanması gereken verileri ve eğitilmiş modelleri içerir. Bir Ultralytics YOLO modeli içeren bir ML projesi için etkili bir CI hattı ek adımlar içerir:

Gerçek Dünya Uygulamaları

  1. Otonom Sürüş Geliştirme: Bir nesne algılama modeli üzerinde çalışan bir ekip, otonom araçlar için bir CI hattı kullanır. Bir geliştirici, modelin geceleri yayaları algılama yeteneğini geliştirmek için kod gönderdiğinde, hat otomatik olarak tetiklenir. Birim testlerini çalıştırır, YOLO11 modelinin hafif bir sürümünü bir test veri kümesi üzerinde yeniden eğitir ve mAP'sini değerlendirir. Doğruluk düşmezse ve tüm testler geçerse, değişiklik birleştirme için onaylanır. GitHub Actions veya Jenkins gibi popüler CI araçları, bu iş akışlarını otomatikleştirmek için yaygın olarak kullanılır.
  2. Tıbbi Görüntü Analizi: Tıbbi görüntülerde tümör tespiti için tasarlanmış bir sistemde, bir veri bilimcisi sağlamlığı artırmak için yeni artırılmış veriler ekleyebilir. CI hattı, yeni veri biçimini ve dağıtımını doğrular. Daha sonra, modelin bir "altın veri kümesi" üzerindeki tahminlerinin tutarlı kalmasını sağlamak ve üretimde beklenmedik davranışları önlemek için önceden eğitilmiş bir model kullanarak bir doğrulama çalıştırmasını tetikler. Bu süreç, sağlık hizmetlerinde yapay zeka için çok önemli olan yüksek güvenilirlik standartlarını korumaya yardımcı olur.

Sürekli Entegrasyon ve Sürekli Teslim/Dağıtım (CD) Karşılaştırması

Yakından ilişkili olsalar da, CI, Sürekli Teslim ve Sürekli Dağıtımdan (CD) farklıdır.

  • Sürekli Entegrasyon (CI): Kod değişikliklerinin sık sık entegrasyonuna ve otomatik test edilmesine odaklanır. Çıktı, bir sonraki aşama için hazır, doğrulanmış bir derlemedir. Ultralytics, birleştirmeden önce tüm çekme isteklerini test etmek için CI kullanır.
  • Sürekli Teslimat (CD): Doğrulanmış her değişikliği bir hazırlık veya üretim ortamına yayınlanmak üzere otomatik olarak hazırlayarak CI'yı genişletir. Ancak, üretime son model dağıtımı manuel onay gerektirir. Bu yaklaşım, Atlassian gibi kaynaklardan alınan kılavuzlarda ayrıntılı olarak açıklanmıştır.
  • Sürekli Dağıtım (CD): Doğrulanmış her değişikliği herhangi bir insan müdahalesi olmadan doğrudan üretime dağıtarak bir adım daha ileri gider. Bu, yazılım yayın yaşam döngüsündeki en yüksek otomasyon düzeyini temsil eder.

CI ve CD uygulamaları birlikte, makine öğrenimi sistemlerinin ilk deneylerden dağıtıma ve sürekli model izlemeye kadar geliştirilmesi ve işletilmesini birleştirmeyi amaçlayan sağlam bir MLOps stratejisinin temelini oluşturur.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın
Bağlantı panoya kopyalandı