Yazı

Yapay Zeka İş Yükü Profilleme ve Şirket İçi GPU Kümelerini Doğru Boyutlandırma

On-Premises AI · Cost Management · AI Architecture · Intermediate

Yapay zeka çıkarım ve eğitim iş yüklerini profilleyerek GPU kümelerini doğru boyutlandırma, aşırı tedarikten kaçınma ve donanımı gerçek kullanım kalıplarıyla eşleştirme rehberi.

Veri merkezi sunucu rafları ve ağ kabloları GPU altyapısını temsil ediyor

Şirket İçi Yapay Zekada Aşırı Tedarik Tuzağı

Şirket içi yapay zeka kümeleri kuran çoğu kuruluş, en yoğun kapasite ihtiyaçlarını tahmin ederek ve buna göre donanım satın alarak işe başlar. Sonuç tahmin edilebilir: finans ekibi pahalı donanım maliyetini karşılarken, GPU kümeleri ortalama %15-30 kullanım oranında çalışır. Asıl neden kötü planlama değil, tedarik kararları verilmeden önce iş yükü profillemenin yapılmamış olmasıdır.

İş yükü profilleme, yapay zeka operasyonlarınızdaki gerçek kaynak tüketim kalıplarını ölçme ve karakterize etme pratiğidir. Temel soruları yanıtlar: Modelleriniz çıkarım sırasında gerçekte ne kadar GPU belleği tüketiyor? Hesaplama yoğun ve bellek yoğun işlemlerin oranı nedir? Toplu iş boyutları aktarım hızını ve gecikmeyi nasıl etkiliyor? Bu soruların yanıtları olmadan her kapasite kararı bir tahmindir.

Çıkarım İş Yüklerini Profilleme

Çıkarım iş yükleri en yaygın ve genellikle en az anlaşılan iş yükleridir. Tek bir model sunucu uç noktası, istek özelliklerine bağlı olarak dramatik şekilde farklı kaynak kalıpları sergileyebilir. 50 token'lık kısa tamamlamalar işleyen bir dil modeli, tam bağlam penceresiyle 4.000 token'lık yanıtlar üreten aynı modele kıyasla GPU belleğinin ve hesaplama gücünün çok küçük bir kısmını kullanır.

Çıkarım sunucularınızı enstrümante ederek profillemeye başlayın. NVIDIA'nın Nsight Systems ve DCGM (Data Center GPU Manager) araçları ayrıntılı metrikler sağlar: SM (Streaming Multiprocessor) doluluk oranı, bellek bant genişliği kullanımı, PCIe aktarım hızları ve tensor çekirdeği aktivitesi. Bu metrikleri hem yoğun hem de düşük yoğunluklu dönemleri kapsayan temsili zaman pencerelerinde yakalayın.

GPU bellek zirve noktası ile ortalama tüketim arasındaki farka özellikle dikkat edin. Birçok kuruluş, çıkarım sırasında KV önbellek büyümesinin asıl bellek kullanımını belirlediğini göz ardı ederek, modeli yüklemek için gereken belleğe göre GPU tahsis eder. 7 milyar parametreli bir model, FP16'da yüklenmek için 14 GB gerektirebilir ancak uzun bağlam çıkarımı sırasında zirve noktasında 24 GB tüketebilir. Profilleme bu boşluğu ortaya çıkarır.

GPU metrikleriyle birlikte istek varış kalıplarını da takip edin. Çıkarım trafiğiniz mesai saatlerini takip ediyor ve gece minimum yük varsa, ayrı donanım tedarik etmek yerine eğitim işlerini veya toplu işlemleri yoğun olmayan saatlerde planlama fırsatınız var demektir.

Eğitim ve İnce Ayar İş Yüklerini Profilleme

Eğitim iş yüklerinin farklı profilleme gereksinimleri vardır. Kaynak tüketiminde daha öngörülebilir olma eğilimindedirler ancak süre açısından daha değişkendirler. Yakalanması gereken temel metrikler: zaman içinde GPU kullanım yüzdesi, aşamaya göre bellek tüketimi (ileri geçiş, geri yayılım, optimize edici adımı), veri yükleme darboğazları ve dağıtık eğitim için GPU'lar arası iletişim ek yükü.

Eğitim iş yükü profilleme sırasında yaygın bir bulgu, GPU hesaplamasının değil veri yüklemenin asıl darboğaz olduğudur. GPU'lar depolamadan bir sonraki veri yığınının gelmesini bekleyerek boşta kalır. PyTorch Profiler ve DeepSpeed Flops Profiler gibi araçlar, eğitim adım süresini hesaplama, iletişim ve veri yükleme aşamalarına ayırabilir. Veri yükleme, adım süresinin %10-15'inden fazlasını oluşturuyorsa, daha hızlı depolamaya yatırım yapmak (NVMe dizileri veya Lustre gibi dağıtık dosya sistemi) genellikle GPU eklemekten daha fazla aktarım hızı iyileştirmesi sağlar.

Birden fazla GPU'da dağıtık eğitim için iletişim ek yükünü dikkatle profilleyin. Gradyan senkronizasyonu için AllReduce işlemleri, ağ yapınıza ve ilgili GPU sayısına bağlı olarak toplam eğitim süresinin %20-40'ını tüketebilir. Bu profilleme, ağ ara bağlantınızın (InfiniBand ile Ethernet karşılaştırması) yeterli olup olmadığını belirlemenize yardımcı olur.

İş Yükü Sınıflandırma Sistemi Oluşturma

Profilleme verileriniz olduğunda, iş yüklerini kaynak tüketim kalıplarına göre kategorilere ayırın. Pratik bir sınıflandırma sistemi üç boyut kullanır: hesaplama yoğunluğu (tensor çekirdeği kullanımı), bellek yoğunluğu (tüketilen GB ve kullanılan bant genişliği) ve gecikme hassasiyeti (iş yükünün gerçek zamanlı yanıt gereksinimleri olup olmadığı).

Ortaya çıkan yaygın kategoriler şunlardır:

Gecikme açısından kritik çıkarım, garantili bellek ve düşük çekişme ile ayrılmış GPU tahsisi gerektirir. Bu iş yükleri, yanıt süresinin önemli olduğu müşteriye yönelik uygulamaları besler.

Aktarım hızı odaklı toplu çıkarım, istek gruplandırma yoluyla daha iyi GPU kullanımı karşılığında daha yüksek gecikmeyi tolere edebilir. Belge işleme, gömme oluşturma ve çevrimdışı analiz bu kategoriye girer.

Eğitim ve ince ayar iş yükleri genellikle zamanlanmıştır ve gerekirse önceliklendirilebilir. Büyük bellek tahsislerinden yararlanırlar ancak boş kapasiteyi doldurmak için zaman kaydırılabilirler.

Deneysel iş yükleri, veri bilimi ekiplerinden gelir, patlayıcı ve öngörülemezdir. GPU erişimine ihtiyaç duyarlar ancak nadiren sürekli tahsis gerektirirler.

Profilleme Verilerine Dayalı Doğru Boyutlandırma

Sınıflandırılmış iş yükleri ve profilleme verileriyle bilinçli donanım kararları verebilirsiniz. Amaç, her iş yükü için aynı anda zirve kapasitesini karşılamak değil, kullanımı en üst düzeye çıkarırken hizmet seviyesi hedeflerini karşılayan bir küme tasarlamaktır.

Her iş yükü kategorisi için haftalık toplam GPU-saatlerini hesaplayın. Bunu mevcut veya planlanan kümenizdeki mevcut GPU-saatleriyle karşılaştırın. Gecikme açısından kritik çıkarım iş yükleriniz haftada 200 GPU-saati tüketiyorsa ve bu havuza 10 GPU tahsis ettiyseniz, 1.680 GPU-saatlik haftalık kapasitenin yalnızca %12'si kullanılıyor demektir.

Gerçekte kaç GPU'ya ihtiyacınız olduğunu belirlemek için bin-packing analizi uygulayın. Kubernetes kaynak kota analizi veya geçmiş istek günlüklerini simüle edilmiş küme yapılandırmalarına karşı yeniden oynatanan özel betikler, gecikme ve aktarım hızı SLA'larını karşılayan minimum GPU sayısını bulmanıza yardımcı olur. Trafik artışları için %20-30 pay ekleyin, ancak çeyrekte bir gerçekleşen en kötü senaryolar için tedarik yapma cazibesine direnin.

GPU heterojenliğini maliyet optimizasyon aracı olarak değerlendirin. Her iş yükü en son H100 veya A100'e ihtiyaç duymaz. Eski nesil A10 veya T4 gibi GPU'lar, daha küçük modellere ve gömme iş yüklerine çok daha düşük maliyetle hizmet verebilir. Profilleme verileri, performans gereksinimlerini ihlal etmeden hangi iş yüklerinin daha ucuz donanımda çalışabileceğini tam olarak gösterir.

Sürekli Profilleme ve Yinelemeli Boyutlandırma

Doğru boyutlandırma tek seferlik bir egzersiz değildir. Yeni modeller dağıtıldıkça, trafik arttıkça ve ekipler yeni kullanım senaryolarını benimsedikçe iş yükü kalıpları değişir. Metrikleri haftalık olarak yakalayan ve kullanım kalıpları beklenen aralıkların dışına çıktığında uyarı veren sürekli bir profilleme pratiği oluşturun.

Zaman içinde iş yükü kategorisine göre GPU kullanımını gösteren panolar oluşturun. Hem düşük kullanım (sürekli ortalama %30'un altında, aşırı tedarik gösterir) hem de aşırı kullanım (sürekli %85'in üzerinde, kapasite riski gösterir) için uyarılar ayarlayın.

Profilleme araçları ve sürecine yapılan yatırım kendini hızla geri öder. Sistematik iş yükü profilleme benimseyen kuruluşlar, tipik olarak aynı iş yüklerini %30-50 daha az GPU ile sunabileceklerini veya eşdeğer olarak mevcut donanımları üzerinde önemli ölçüde daha fazla iş yükü barındırabileceklerini keşfeder.

Öne çıkan görsel: Elimende Inagella tarafından Unsplash'ta paylaşılmıştır.