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

Kubernetes

Kubernetes'in ölçeklenebilir model dağıtımı, dağıtılmış eğitim ve verimli kaynak yönetimi ile yapay zeka/makine öğrenimi iş yüklerini nasıl kolaylaştırdığını keşfedin.

Kubernetes, sıklıkla K8s olarak kısaltılır, açık kaynak kodlu bir konteyner düzenleme sistemidir. konteynerli uygulamaların dağıtımı, ölçeklendirilmesi ve yönetimi. Başlangıçta Google daki mühendisler tarafından tasarlandı ve şimdi Cloud Native Computing Foundation (CNCF) tarafından sürdürülen Kubernetes evrim geçirmiştir esnek, dağıtık yazılım sistemlerini çalıştırmak için endüstri standardı haline getirmiştir. Hızla ilerleyen teknoloji alanlarında Yapay Zeka (AI) ve Makine Öğrenimi (ML), bir temel altyapı katmanı, mühendislik ekiplerinin karmaşık yapıların tüm yaşam döngüsünü verimli bir şekilde yönetmesini sağlar. deneysel geliştirmeden büyük ölçekli üretime kadar modeller.

Temel Kavramlar ve Mimari

Kubernetes özünde, konteynerleştirilmiş iş yüklerini çalıştıran ve düğüm olarak bilinen bilgi işlem makinelerinden oluşan bir kümeyi yönetir. Bu büyük ölçüde birteknoloji olan konteynerleştirmeyedayanır uygulamaların farklı ortamlarda tutarlı bir şekilde çalışmasını sağlamak için kodu bağımlılıklarıyla birlikte paketleyen ortamlar. Kubernetes, konuşlandırılabilir en küçük birimler olan "Podlar" gibi soyutlamalar sunar, ve bir uygulamanın istenen durumunu koruyan "Dağıtımlar". Yazılımı sistemden ayırarak altta yatan donanım, şunları sağlar bilgisayarlı görü mühendisleri modele odaklanacak gibi yönetilen hizmetleri kullanarak sunucu bakımı yerine performans Amazon EKS veya Google Kubernetes Engine (GKE).

Yapay Zeka ve Makine Öğreniminde Kubernetes

İçin Makine Öğrenimi Operasyonları (MLOps), Kubernetes vazgeçilmezdir çünkü aşağıdaki kritik zorlukları çözer ölçeklenebilirlik. Modern yapay zeka iş yükleri, özellikle de derin öğrenme içeren, önemli ölçüde hesaplama kaynakları. Kubernetes şunları kolaylaştırır akıllıca dağıtılmış eğitim ile donatılmış birden fazla düğümde eğitim işlerinin planlanması Grafik İşleme Birimleri (GPU'lar). Model dağıtım aşaması sırasında K8s şunları sağlar Çıkarım API'leri için yüksek kullanılabilirlik, çalışan pod sayısını gerçek zamanlı olarak otomatik olarak yukarı veya aşağı ölçeklendirir trafik taleplerini karşılayarak hem performansı hem de maliyeti optimize eder.

Gerçek Dünya Uygulamaları

  1. Akıllı Şehir Trafik İzleme: Bir şehir yönetimi, bir Ultralytics YOLO11 trafik akışını analiz etmek için model ve tıkanıklığı gerçek zamanlı olarak detect eder. Uygulama bir Kubernetes kümesi üzerinde konteynerleştirilir ve düzenlenir. Kullanılması ve Yatay Pod Otomatik Ölçekleyici, Sistem, yoğun saatlerde video akışı verilerindeki ani artışları tespit eder ve otomatik olarak ek çıkarım sağlar kapsüller. Bu sayede kesintisiz gerektirmeden nesne algılama hizmetleri manuel sunucu hazırlama.
  2. E-ticaret Görsel Arama: Çevrimiçi bir perakendeci bir kullanıcıların aşağıdakileri yapmasına olanak tanıyan öneri sistemi görüntüleri kullanarak ürün arama. Boru hattı, görüntü ön işleme için farklı mikro hizmetlerden oluşur, özellik çıkarma ve vektör veritabanı araması. Kubernetes bu bileşenleri düzenler, böylece güncellemek için özellik mühendisliği ekibi çıkarma modelini arama endeksinden bağımsız olarak kullanarak çeviklik ve sistem kararlılığı sağlar. üretim ortamı.

İlgili Teknolojileri Ayırt Etme

Kubernetes'in diğer yaygın altyapı araçlarından farkını anlamak faydalı olacaktır:

  • Kubernetes vs Docker: Docker bir araçtır tek tek konteynerler oluşturmak ve çalıştırmak için kullanılırken, Kubernetes bu konteynerleri yöneten bir orkestratördür bir makine filosunda. Genellikle geliştiriciler Docker'ı kullanarak sinir ağı uygulama görüntüleri ve ardından ölçekte çalıştırmak için Kubernetes üzerinde.
  • Kubernetes vs. Sunucusuz Hesaplama: AWS Lambda gibi sunucusuz platformlar tüm altyapıyı soyutlar yönetimi, onları olay odaklı işlevler için ideal hale getirir. Buna karşılık, Kubernetes aşağıdakiler üzerinde ayrıntılı kontrol sağlar ağ, depolama ve kaynak tahsisi, genellikle uzun süre çalışan, durum bilgisi içeren uygulamalar veya karmaşık model hizmet mimarileri.

Araçlar ve Ekosistem

Kubernetes ekosistemi, paket yönetimi için Helm gibi araçlar da dahil olmak üzere çok geniştir ve Küme sağlığını izlemek için Prometheus. Özel makine öğrenimi iş akışları için platformlar Kubeflow gibi uçtan uca boru hatlarını kolaylaştırmak için Kubernetes'in üstünde çalışır. Geleceğe baktığımızda, yakında çıkacak olan Ultralytics Platformu aşağıdakiler için tasarlanmıştır veri yönetimi ve model eğitimi için kapsamlı bir ortam sunarak bu süreçleri daha da basitleştirir. altta yatan altyapı karmaşıklıklarını soyutlar.

Örnek: Konteynerizasyon için Çıkarım Komut Dosyası

Kubernetes'e bir model dağıtmak için öncelikle çıkarım yapan bir betiğe ihtiyacınız vardır. Bu Python kod parçacığı şunları gösterir bir YOLO11 modelinin yüklenmesi ve bu modelin daha sonra bir Docker konteynerine sarılıp K8s tarafından zamanlanması.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image source
# This script would typically run inside a Kubernetes Pod
results = model("https://ultralytics.com/images/bus.jpg")

# Print the detected class names
for result in results:
    for cls_id in result.boxes.cls:
        print(f"Detected: {result.names[int(cls_id)]}")

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