ML İş Yükleri için Kubernetes
Kubernetes, bir makine kümesinde kapsayıcıya alınmış programları otomatik olarak planlayan, ölçeklendiren ve yeniden başlatan açık kaynaklı bir sistemdir.
Genel Bakış
For machine learning, it lets teams pack GPU-hungry training jobs and latency-sensitive model servers onto shared hardware without babysitting individual servers.
Derin Dalış
Başlangıçta web hizmetlerini çalıştırmak için Google'de oluşturulan Kubernetes, kümenizi büyük bir CPU, bellek ve GPU havuzu olarak ele alır ve ardından her bir konteyneri hangi makinenin çalıştırdığına karar verir. Makine öğrenimi ekipleri, iş yüklerinin çok fazla ve pahalı olması nedeniyle buna güveniyor: Bir eğitim çalışması altı saat boyunca sekiz GPU'ya ihtiyaç duyabilir, sonra hiçbir şey gerektiremez. Kubernetes, bu bölmeyi boş GPU'lara sahip bir düğüme yerleştirir ve iş bittiğinde donanımı serbest bırakır. Ayrıca çıkarım sunucularını canlı tutar, çökmüş konteynerleri yeniden başlatır ve dayanıklılık için kopyaları makineler arasında yayar. Kubeflow, Ray ve KServe gibi temel üzerine inşa edilen araçlar, dağıtılmış eğitim operatörleri, hiperparametre ayarlama ve otomatik ölçeklendirme modeli uç noktaları gibi ML'ye özgü parçalar ekler; böylece veri bilimcileri ham YAML yerine daha yüksek düzeyde soyutlamalarla çalışır.
Teknik Bilgi
Kubernetes, GPU'ları, zamanlayıcının bir bölmenin isteklerine göre eşleştirdiği nvidia.com/gpu gibi kaynakların reklamını yapan cihaz eklentileri aracılığıyla atar. Kusurlar ve toleranslar, ucuz CPU işlerini pahalı GPU düğümlerinden uzak tutarken, düğüm seçiciler ve benzeşim kuralları eğitimi belirli donanıma bağlar. Çoklu GPU eğitimi için operatörler, birbirini keşfeden ve PyTorch DDP veya Horovod gibi çerçeveleri çalıştıran, NCCL kullanarak küme ağı üzerinden degrade alışverişi yapan bir grup bölme oluşturur.
Stratejik Etki
Maliyet ve bütçe
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Daha net kararlar
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Quality control
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
ML İş Yükleri için Kubernetes'in Geleceği
Daha sıkı ML entegrasyonu bekleyebilirsiniz: tüm dağıtılmış eğitim bölmelerini aynı anda başlatan veya hiç başlatmayan grup planlaması, birkaç hafif işin tek bir kartı paylaşması için kısmi ve zaman dilimli GPU paylaşımı ve hızlı NVLink ara bağlantılarına saygı duyan topolojiye duyarlı yerleştirme. İstekler arasında uç noktaları sıfıra ölçeklendiren Kubernetes'te sunucusuz çıkarım olgunlaşıyor. Modeller çoğaldıkça, planlayıcılar birden fazla küme ve bulut arasında giderek daha fazla koordinasyon sağlıyor ve Kueue ve Volcano gibi sıra tabanlı adil paylaşım sistemleri, kıt GPU kapasitesini yönetmek için standart hale geliyor.
Gerçek Dünya Uygulaması
Bir araştırma laboratuvarı, dört düğümde 32 GPU'lu PyTorch dağıtılmış eğitim işi başlatmak için Kubeflow Eğitim Operatörünü kullanıyor ve ardından birleştiğinde GPU'ları otomatik olarak serbest bırakıyor.
Bir e-ticaret şirketi, öneri modelini, anlık satış sırasında kopyaları otomatik olarak ölçeklendiren ve bir gecede geri ölçeklendiren KServe ile sunuyor.
Bir banka, gece boyunca toplu puanlama işlerini Kubernetes CronJobs olarak çalıştırıyor ve bunları gündüz hizmet trafiğiyle rekabet etmemeleri için yedek CPU düğümlerinde sıraya koyuyor.
Yeni kurulan bir şirket, paralel hiperparametre taramaları yürütmek için Kubernetes üzerinde Ray'i kullanıyor ve maliyeti azaltmak için spot örneklerde düzinelerce kısa ömürlü deneme bölmesini döndürüyor.
Riskler ve Korkuluklar
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulama Yol Haritası
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Keşfetmeye Devam Edin
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Kubernetes for ML Workloads quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
ML Modelleri için A/B Testi
Sık sorulan sorular
What is Kubernetes for ML Workloads?
Kubernetes, bir makine kümesinde kapsayıcıya alınmış programları otomatik olarak planlayan, ölçeklendiren ve yeniden başlatan açık kaynaklı bir sistemdir. Makine öğrenimi için, ekiplerin GPU'ya ihtiyaç duyan eğitim işlerini ve gecikmeye duyarlı model sunucularını, ayrı ayrı sunuculara bakım yapmadan paylaşılan donanıma paketlemesine olanak tanır.
Makine öğrenimi iş yükleri için Kubernetes zamanlayıcının birincil işi nedir?
Zamanlayıcı, bir bölmenin kaynak isteklerini (CPU, bellek, GPU'lar) mevcut düğümlerle eşleştirir ve bölmeyi uygun yere yerleştirir. Model koduna veya verilere dokunmaz.
Kubernetes genellikle GPU'ları bir kapsül için nasıl kullanılabilir hale getirir?
Cihaz eklentileri, GPU'ları programlanabilir bir kaynak (örn. nvidia.com/gpu) olarak kullanıma sunarak bölmelerin bunları talep etmesine ve zamanlayıcının kullanılabilirliği izlemesine olanak tanır.
Bir ML kümesinde yaygın olarak kullanılan kusurlar ve toleranslar nelerdir?
Bir leke, bölmeleri bir düğümden uzaklaştırır; yalnızca eşleşen toleransa sahip kapsüller oraya inebilir. Bu, aslında GPU'lara ihtiyaç duyan işler için kıt GPU düğümlerini ayırır.
Hangi araç, Kubernetes'in üzerine dağıtılmış eğitim operatörleri gibi makine öğrenimine özgü yetenekler ekler?
Kubeflow, eğitim operatörleri, işlem hatları ve ayarlama da dahil olmak üzere ML iş akışlarını Kubernetes'e katmanlar; böylece ekipler, düşük seviyeli küme yapılandırmasını elle yazmaktan kaçınır.
Kubernetes neden hızlı makine öğrenimi iş yüklerine çok uygundur?
Eğitim çok hızlı: Kısa süreliğine çok sayıda GPU var, ardından hiç yok. Kubernetes, işi kaynaklar serbest olduğunda yerleştirir ve tamamlandığında yayınlayarak kullanımı artırır.