Sözlük

Kubernetes

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

Genellikle K8s olarak kısaltılan Kubernetes, konteynerli uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştiren açık kaynaklı bir konteyner düzenleme platformudur. Başlangıçta Google tarafından geliştirilen ve şimdi Cloud Native Computing Foundation (CNCF) tarafından sürdürülen Kubernetes, esnek, dağıtılmış sistemleri çalıştırmak için sağlam bir çerçeve sağlar. Yapay Zeka (AI) ve Makine Öğrenimi (ML) bağlamında, eğitimden üretim ortamlarında dağıtıma kadar ML modellerinin tüm yaşam döngüsünü yönetmek için önemli bir araç haline gelmiştir.

Kubernetes Nasıl Çalışır?

Kubernetes, fiziksel sunucular veya sanal makineler olabilen, şirket içinde veya bulutta bulunan bir makine kümesi üzerinde çalışır. Ana bileşenler şunları içerir:

  • Küme: Kapsayıcılı uygulamaları çalıştıran bir dizi düğüm (işçi makine).
  • Düğüm: Kubernetes kümesindeki bir işçi makine. Her düğüm, düğümü yönetmek ve kontrol düzlemi ile iletişim kurmak için bir aracı olan bir Kubelet çalıştırır.
  • Pod: Kubernetes nesne modelindeki en küçük ve en basit birimdir. Pod, bir kümede çalışan bir işlemin tek bir örneğini temsil eder ve Docker kapsayıcıları gibi bir veya daha fazla kapsayıcı içerebilir.
  • Dağıtım: Belirli sayıda Pod'un her zaman çalışmasını sağlayarak bir dizi çoğaltma Pod'unu yönetir. Güncellemeleri ve geri alma işlemlerini otomatik olarak gerçekleştirir.

Kubernetes, altta yatan donanımı soyutlayarak geliştiricilerin ve MLOps mühendislerinin uygulamalarının istenen durumunu tanımlamasına olanak tanır ve bu durumu korumak için çalışır, arızaları ve ölçeklendirme ihtiyaçlarını otomatik olarak ele alır. Resmi Kubernetes dokümantasyonundan daha fazla bilgi edinebilirsiniz.

Yapay Zeka ve Makine Öğreniminde Kubernetes

Kubernetes, Makine Öğrenimi Operasyonları (MLOps) için özellikle güçlüdür çünkü yapay zeka sistemlerinin geniş ölçekte oluşturulması ve dağıtılmasıyla ilgili birçok zorluğun üstesinden gelir. Kaynakları verimli bir şekilde yönetme yeteneği, onu model eğitimi gibi yoğun kaynak gerektiren görevler için ideal hale getirir. Kubernetes, eğitim işlerini birden fazla GPU ve düğüm arasında ölçeklendirerek eğitim süresini önemli ölçüde kısaltabilir.

Çıkarım için Kubernetes yüksek kullanılabilirlik ve ölçeklenebilirlik sağlar. İşte birkaç gerçek dünya örneği:

  1. Ölçeklenebilir Nesne Algılama Hizmeti: Bir şirket, bir web hizmeti olarak gerçek zamanlı nesne algılama için bir Ultralytics YOLO11 modeli dağıtır. Model bir konteyner içine paketlenmiştir. Kubernetes'i kullanarak, gelen trafiğe göre çıkarım podlarının sayısını otomatik olarak yukarı veya aşağı ölçeklendirebilirler. Bir düğüm arızalanırsa, Kubernetes podları otomatik olarak sağlıklı düğümlere yeniden programlayarak hizmetin manuel müdahale olmadan kullanılabilir kalmasını sağlar. Bu, akıllı gözetim sistemlerinde modellerin konuşlandırılması için yaygın bir modeldir.
  2. Mikro Hizmetler Olarak Karmaşık NLP İş Hattı: Bir ekip, birden fazla adım içeren bir Doğal Dil İşleme (NLP ) uygulaması oluşturur: metin ön işleme, duygu analizi ve adlandırılmış varlık tanıma. Her bileşen ayrı bir mikro hizmettir ve bağımsız olarak konteynerleştirilmiştir. Kubernetes bu hizmetleri düzenler, ağlarını yönetir ve her bir parçanın bağımsız olarak güncellenmesine ve ölçeklendirilmesine izin verir. Bu mimari, karmaşık yapay zeka odaklı uygulamalar için esneklik ve esneklik sağlar.

Kubernetes ve İlgili Teknolojiler

  • Kubernetes vs Docker: Docker, tek tek konteynerler oluşturmak ve çalıştırmak için kullanılan bir araçtır. Kubernetes ise konteynerler için bir orkestratördür ve birçok makinede binlerce konteyneri yönetir. Bunlar rakip değil, işbirlikçidir; Docker ile konteyner imajları oluşturur ve ardından bunları Kubernetes ile yönetirsiniz. Docker Hızlı Başlangıç kılavuzunu takip ederek temel bilgilerle başlayabilirsiniz.
  • Kubernetes ve Sunucusuz Hesaplama: AWS Lambda gibi sunucusuz platformlar tüm sunucu yönetimini soyutlar. Buna karşılık Kubernetes, altyapı üzerinde daha fazla kontrol sunarak uzun soluklu veya durum bilgisi içeren uygulamalar için daha iyi bir çözümdür. Olay odaklı işlevler için sunucusuz daha basit olsa da, sunucusuz çerçeveler Knative gibi araçları kullanarak Kubernetes üzerinde çalışabilir.

Araçlar ve Ekosistem

Kubernetes ekosistemi çok geniştir ve işlevselliğini genişletmek için birçok araç içerir:

  • Helm: Genellikle Kubernetes için paket yöneticisi olarak adlandırılan Helm, Kubernetes uygulamalarını yönetmenize yardımcı olur.
  • Prometheus & Grafana: Kubernetes kümelerini ve uygulamalarını izlemek için popüler bir kombinasyon.
  • Bulut Sağlayıcı Entegrasyonları: Büyük bulut sağlayıcıları, küme kurulumunu ve bakımını basitleştiren Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS ) ve Azure Kubernetes Service (AKS) gibi yönetilen Kubernetes hizmetleri sunar.
  • Makine Öğrenimi Platformları: Kubeflow gibi araçlar, boru hatları, eğitim ve dağıtım için ML'ye özgü iş akışları sağlamak üzere Kubernetes üzerine inşa edilmiştir. Ultralytics HUB gibi platformlar, daha kolay model dağıtımı için genellikle Kubernetes karmaşıklıklarını soyutlayarak MLOps işlem hattını kolaylaştırır.

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 büyüyün

Şimdi katılın
Panoya kopyalanan bağlantı