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.

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.

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, zamanlayıcılar birden fazla küme ve bulut arasında giderek daha fazla koordinasyon sağlıyor ve Kueue ve Volcano gibi kuyruk 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.

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ı

1

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.

2

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.

3

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.

4

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

Keşfetmeye Devam Edin