Genel Bakış
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.
ML İş Yükleri için Kubernetes, model kalitesini, altyapı maliyetini, gecikmeyi ve güvenilirliği geniş ölçekte etkileyen teknik bir yapı taşıdır.
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ıracağı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.
ML İş Yükleri için Kubernetes'te Uzmanlaşma
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. ML İş Yükleri için Kubernetes, model kalitesini, altyapı maliyetini, gecikmeyi ve güvenilirliği geniş ölçekte etkileyen teknik bir yapı taşıdır. Derin bir anlayış oluşturmak için Kubernetes for ML İş Yüklerini tek bir özellik olarak değil, bir işletim modeli olarak ele alın: istenen sonuçları tanımlayın, varsayımları netleştirin ve sistemin güvenilir bir şekilde yapabileceklerini hâlâ uzman görüşü gerektiren şeylerden ayırın.
Uygulamada, ML İş Yükleri için Kubernetes'i kullanan güçlü ekipler, güvenilirlik ve maliyete göre mimariyi, verileri ve altyapı seçeneklerini optimize eder. Açık başarı kriterlerini belgeliyorlar, gerçekçi verilere ve iş akışlarına göre test ediyorlar ve tek seferlik kıyaslama kazanımları yerine gözlemlenen başarısızlık modellerine dayalı olarak yineleniyorlar. Burası teorik anlayışın ürün, politika ve operasyonlar genelinde dayanıklı yeteneğe dönüştüğü yerdir.
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler. Aynı zamanda, bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir. En dayanıklı yaklaşım, deneme hızını yönetişim disiplini ile birleştirmektir: pilot uygulamaları çalıştırın, kanıtları toplayın, karar günlüklerini yayınlayın ve model davranışı, kullanıcı beklentileri ve düzenleyici gereksinimler geliştikçe koruma önlemlerini sürekli olarak güncelleyin.
Stratejik Etki
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler. Yüksek kaliteli dağıtımlarda bu, ölçülebilir işletim kurallarına, sahiplik sınırlarına ve yinelenen inceleme ritüellerine dönüştürülür, böylece ekipler belirsizliği ölçeklendirmek yerine güveni ölçeklendirebilir.
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur. Yüksek kaliteli dağıtımlarda bu, ölçülebilir işletim kurallarına, sahiplik sınırlarına ve yinelenen inceleme ritüellerine dönüştürülür, böylece ekipler belirsizliği ölçeklendirmek yerine güveni ölçeklendirebilir.
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır. Yüksek kaliteli dağıtımlarda bu, ölçülebilir işletim kurallarına, sahiplik sınırlarına ve yinelenen inceleme ritüellerine dönüştürülür, böylece ekipler belirsizliği ölçeklendirmek yerine güveni ölçeklendirebilir.
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.
Uygulama Modelleri
Uygulamada ML İş Yükleri için Kubernetes
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 araştırma laboratuvarı, dört düğümde 32 GPU'lu bir 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. Ekipler genellikle kalite eşiklerini önceden tanımladıklarında, uç durumlar için insani bir yükseltme yolu tuttuklarında ve zaman içinde hem üretkenlik kazanımlarını hem de hata maliyetlerini takip ettiklerinde daha iyi sonuçlar elde ederler.
Uygulamada ML İş Yükleri için Kubernetes
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 e-ticaret şirketi, öneri modelini, anlık satış sırasında replikaları otomatik olarak ölçeklendiren ve gece boyunca geri indiren KServe ile sunar. Ekipler genellikle kalite eşiklerini önceden belirlediklerinde, uç durumlar için insani bir yükseltme yolunu tuttuklarında ve zaman içinde hem üretkenlik kazanımlarını hem de hata maliyetlerini takip ettiklerinde daha iyi sonuçlar elde ederler.
Uygulamada ML İş Yükleri için Kubernetes
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.
Bir banka, gece boyunca toplu puanlama işlerini Kubernetes CronJobs olarak yürütür ve bunları yedek CPU düğümlerinde sıraya koyar, böylece gündüz hizmet veren trafikle rekabet etmezler. Ekipler genellikle kalite eşiklerini önceden belirlediklerinde, uç durumlar için insani bir yükseltme yolu tuttuklarında ve zaman içinde hem üretkenlik kazanımlarını hem de hata maliyetlerini takip ettiklerinde daha iyi sonuçlar elde ederler.
Uygulamada ML İş Yükleri için Kubernetes
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.
Bir startup, maliyeti düşürmek için paralel hiperparametre taramaları yürütmek, düzinelerce kısa ömürlü deneme kapsülünü yerinde örneklerde döndürmek için Kubernetes üzerinde Ray'i kullanıyor. Ekipler genellikle kalite eşiklerini önceden belirlediklerinde, uç durumlar için insani bir yükseltme yolu tuttuklarında ve zaman içinde hem üretkenlik kazanımlarını hem de hata maliyetlerini takip ettiklerinde daha iyi sonuçlar elde ederler.
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.
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın. Her adımı bir kanıt kapısı olarak değerlendirin: Kriterler karşılanmazsa, kullanıma sunumu duraklatın, boşluğu kapatın ve ancak bundan sonra kullanımı genişletin.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın. Her adımı bir kanıt kapısı olarak değerlendirin: Kriterler karşılanmazsa, kullanıma sunumu duraklatın, boşluğu kapatın ve ancak bundan sonra kullanımı genişletin.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme. Her adımı bir kanıt kapısı olarak değerlendirin: Kriterler karşılanmazsa, kullanıma sunumu duraklatın, boşluğu kapatın ve ancak bundan sonra kullanımı genişletin.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın. Her adımı bir kanıt kapısı olarak değerlendirin: Kriterler karşılanmazsa, kullanıma sunumu duraklatın, boşluğu kapatın ve ancak bundan sonra kullanımı genişletin.