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 yazılımlarını sık sık birleştirdikleri temel bir yazılım geliştirme uygulamasıdır. kod değişikliklerini paylaşılan merkezi bir depoda toplar. CI, büyük güncellemeleri periyodik olarak entegre etmek yerine Otomatik derleme ve test dizilerini tetikleyen küçük, düzenli taahhütler. Dinamik bir alan olan Yapay Zeka (AI) ve Makine Öğrenimi (ML), bu uygulama bir köşe taşı Makine Öğrenimi Operasyonları (MLOps). Kodda, verilerde veya verilerde yapılan değişikliklerin hiperparametreler mevcut veya model performansını düşürür.

Makine Öğreniminde CI'ın Temel İlkeleri

CI'ın birincil amacı, hataları mümkün olduğunca erken detect etmektir; bu kavram genellikle "başarısız hızlı." Bu süreç büyük ölçüde Git gibi sürüm kontrol sistemlerine dayanır. kod tabanını yönetir. Bir geliştirici bir değişikliği gönderdiğinde, bir CI sunucusu - örneğin GitHub Eylemleri, GitLab CI veya Jenkins-otomatikolarak yeni bir ortam yaratır.

Makine öğrenimi projeleri için bu ortam genellikle gibi konteynerleştirme araçları Geliştirme, test ve üretim aşamalarında tutarlılık sağlamak için Docker. CI boru hattı daha sonra bir dizi kontrol gerçekleştirir:

  • Kod Kalitesi: Kodlama standartlarını korumak için linter ve statik analiz çalıştırmak.
  • Birim Testi: Tek tek işlevlerin ve sınıfların beklendiği gibi davrandığının doğrulanması.
  • Veri Doğrulama: Sağlanması eğitim verilerinin beklenen şemaya uygun olması ve kalite standartları.
  • Model Değerlendirme: Eğitilmiş bir modeli bir sağlamak için doğrulama veri kümesi doğruluğu tanımlanmış bir eşiğin altına düşmemiştir.

Performans Kontrollerinin Uygulanması

Makine öğrenimi için CI'ın kritik bir yönü, kodun hatasız çalıştığı ancak modelin zeka azalır. Bu entegre edilerek yapılır model testini doğrudan CI iş akışına dahil edin.

Aşağıdaki Python parçacığı, bir CI betiğinin bir CI betiğini nasıl yükleyebileceğini göstermektedir YOLO11 modeline uygun olduğunu ve performans ölçütlerinin Kodun birleştirilmesine izin vermeden önce belirli bir standart.

from ultralytics import YOLO

# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")

# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")

# Extract the mAP50-95 metric
map_score = results.box.map

# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
    raise ValueError("Model performance regression detected! mAP is too low.")

Gerçek Dünya Uygulamaları

Sürekli Entegrasyon uygulaması, güvenilirliğin tartışılmaz olduğu sektörlerde hayati önem taşımaktadır.

  • Otonom Sürüş: geliştirilmesinde otonom araçlarda güvenlik her şeyden önemlidir. Mühendisler otomatik olarak test etmek için CI boru hatlarını kullanır binlerce nesne algılama modeline karşı Gece veya yağmurda yayaları tanımlamak gibi senaryolar. Eğer bir kod değişikliği Ortalama Ortalama Hassasiyetin (mAP) düşmesi, sistem güncellemeyi engelleyerek potansiyel olarak tehlikeli yazılımın araca ulaşmasını önler.
  • Tıbbi Teşhis: İçin Sağlık hizmetlerinde yapay zeka, özellikle aşağıdaki gibi görevler tümör tespiti, tutarlılık çok önemlidir. Bir CI işlem hattı, görüntü ön işleme algoritmalarında yapılan güncellemelerin yanlışlıkla değiştirilmemesini sağlar giriş verilerini aşağıdaki şekilde teşhis modelini karıştırıyor. Ekip, tıbbi görüntülerden oluşan bir "altın set" üzerinde regresyon testleri yaparak klinik doğruluğun korunmasını sağlar.

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

Genellikle CI/CD olarak birlikte anılsa da, Sürekli Entegrasyonu aşağıdakilerden ayırt etmek önemlidir Sürekli Dağıtım.

  • Sürekli Entegrasyon (CI) geliştirme döngüsüne odaklanır. Yeni kodun mevcut kod tabanı ile doğru bir şekilde entegre olur ve tüm otomatik testleri geçer. Doğrulanmış bir eser üretir (bir docker görüntüsü veya bir model dosyası gibi).
  • Sürekli Dağıtım (CD) sürüm döngüsüne odaklanır. Tarafından üretilen artifact'i alır CI ve otomatik olarak bir bulut sunucusu veya uç cihaz gibi bir üretim ortamına dağıtır.

Birlikte, aşağıdakilerin yaşam döngüsünü hızlandıran aerodinamik bir boru hattı oluştururlar vizyon yapay zeka ürünleri, ekiplerin daha hızlı yinelemesine olanak tanır yüksek kalite ve güvenlik standartlarını korurken.

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