Teknik KILAVUZ

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.

2 min readSon güncelleme

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ı

1

Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.

2

Gerçekçi yük ve veri koşulları altında kıyaslama yapın.

3

Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.

4

Ö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.

Testi başlat

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.