GPU bellek talebi, kullanımdaki verileri ve ağırlıkları, ara sonuçları, çalışma zamanı çalışma alanlarını ve iş yüküne bağlı önbellekleri içerir. Zirve kullanımı amaçlanan hassasiyet, toplu iş boyutu ve eşzamanlılıkta ölçün; kaydedilen model boyutu yalnızca bir girdidir.
GPU seçmeden önce iş yükünü seçin
Bir GPU spesifikasyonu, yazılımı ve gerçekleştireceği işi bildiğinizde faydalı hale gelir. Görüntüleme, görüntü işleme, eğitim ve çıkarım farklı bellek ve hesaplama desenlerine sahiptir. Kapasiteyi karşılaştırmadan önce uygulamanın desteklediği GPU mimarisini, sürücülerini ve çalışma zamanını kontrol edin. Yeterli belleğe sahip bir kart, gerekli yazılım yolu veya özelliği desteklenmiyorsa yine de uygun olmayabilir.
İzin vermeyi düşündüğünüz maksimum giriş boyutunu, hassasiyeti, toplu iş boyutunu ve eşzamanlı işi tanımlayın. Çıkarım için desteklenen en uzun isteği ve eşzamanlı oturumları dahil edin. Görüntüleme için temsili sahneyi ve dokuları dahil edin. Başarılı küçük bir gösterim, yığının başlayabileceğinin kanıtıdır; tam üretim iş yükünün sığdığının kanıtı değildir.
Kalıcı verileri çalışma belleğinden ayırın
Ağırlıklar veya giriş varlıkları cihazda kalabilirken, yürütme sırasında ara sonuçlar ve geçici arabellekler ortaya çıkar. Eğitim ayrıca gradyanlar ve optimize edici durumu gerektirebilir. Çıkarım iş yükleri, boyutu istekle değişen önbellekleri koruyabilir. Kesin düzenleme modele, çerçeveye ve uygulamaya bağlıdır. Her göreve tek bir evrensel çarpan uygulamayın ve bunu kapasite garantisi olarak değerlendirmeyin.
Basit bir aritmetik örnek olarak, parametre başına iki bayt ile temsil edilen varsayımsal yedi milyar parametreli bir model, yalnızca bu parametreler için yaklaşık on dört milyar bayt gerektirir. Bu hesaplama, çalışma zamanı tahsislerini, aktivasyonları, önbellekleri ve biçim ek yükünü hariç tutar. Bu, alt düzey bir planlama örneğidir; böyle bir iş yükünün belirli bir SwissOctet yapılandırmasına sığdığının ifadesi değildir.
| Bellek bileşeni | Bunu ne değiştirir | Nasıl araştırılır |
|---|---|---|
| Ağırlıklar veya sahne varlıkları | Model boyutu, temsil ve yüklenen varlıklar | Dağıtılan biçimi ve gerçek yüklenen tahsisi inceleyin |
| Ara sonuçlar | Giriş şekli ve toplu iş boyutu | Tam temsili bir işlemi ölçün |
| Önbellekler | İstek uzunluğu ve eşzamanlılık | Desteklenen maksimum iş yükünü uygulayın |
| Çalışma alanları ve çalışma zamanı | Kitaplıklar, çekirdekler ve yürütme stratejisi | Zirve cihaz ve çerçeve kullanımını gözlemleyin |
En yoğun kullanımı doğru görünüm üzerinden ölçün
Çerçeve metrikleri ve cihaz düzeyi metrikler farklı şeyleri tanımlayabilir. PyTorch, tensörlere tahsis edilen belleği önbellek ayırıcısı tarafından ayrılan bellekten ayırır ve zirve ölçümleri sağlar. Bellek görselleştirme belgeleri ayrıca, ayırıcısı dışında yapılan tahsislerin bu görünümde yer almayabileceğini açıklar. Tek bir sayının her tahsisi kapsadığını varsaymak yerine çerçevenin raporunu daha geniş cihaz durumuyla karşılaştırın.
Gerçek işlemi ısıtın, ardından tam görevi ve görevler arasındaki gerçekçi örtüşmeyi ölçün. Yazılım sürümlerini ve tam giriş koşullarını kaydedin. Bellek yetersizliği olayı geçici bir zirvede meydana gelebilir, bu nedenle sakin bir son anlık görüntü sorunu kaçırabilir. Model ayrıntıları veya uygulamanızın girişleri hakkında bilgi içerebilecek tanılama kayıtlarını gizli tutun.
Toplu iş boyutunu ve hassasiyeti tasarım tercihleri olarak değerlendirin
Daha büyük toplu işler hem kullanımı hem de bellek talebini değiştirebilir. NVIDIA'nın performans rehberi, işlem şekli, aritmetik yoğunluk ve donanım yetenekleri arasındaki etkileşimi ele alır. Yararlı toplu iş boyutu, iş yükünün gecikme hedefine ve verime bağlıdır. Saniyede tamamlanan işi en üst düzeye çıkaran bir toplu iş politikası, tek tek kullanıcıların uygulamanın izin verdiğinden daha uzun beklemesine neden olabilir.
Azaltılmış hassasiyet veya nicemleme bazı bellek gereksinimlerini azaltabilir, ancak uyumluluk ve çıktı kalitesinin test edilmesi gerekir. Bir değerlendirme veri kümesi tutun ve biçim değişikliğinden sonra ilgili sonuçları karşılaştırın. Projenin bağlı olduğu davranışı kontrol etmeden yalnızca sığdırmak için bir modelin temsilini değiştirmeyin. Bellek optimizasyonu, yalnızca bir tahsis hatasından kaçınmakla kalmayıp gerekli sonucu korumalıdır.
Makinenin geri kalanını bütçede tutun
CPU, ana bilgisayar RAM ve depolama yolu GPU işini hazırlar ve besler. Yavaş giriş kod çözme veya yetersiz ana bilgisayar belleği, hızlandırıcıyı beklemeye bırakabilir. Büyük model dosyaları ve veri kümeleri ayrıca kurulum, geçici dönüşümler ve güncellemeler için yeterli disk alanı gerektirir. Bir GPU satın alıp önceki her adımın hızlanmasını beklemek yerine tüm ardışık düzeni değerlendirin.
Birden çok GPU otomatik olarak tek bir havuzlanmış bellek aygıtı gibi davranmaz. Uygulama uygun bir paralel strateji kullanmalıdır ve iletişim ek yükü önemli olabilir. Kaç aygıt sağlandığını, her birinin belleğini ve yazılımın desteklediği düzenlemeyi doğrulayın. Bir GPU yükseltme adları listesi, değiştirilmemiş tek bir süreç için kullanılabilir belleğin doğrulanmış açıklaması değildir.
Temsili bir kabul testi kullanın
Seçilen yazılım yığını, beklenen maksimum giriş ve izin verilen eşzamanlılık ile bir test tanımlayın. Zirve belleği, tamamlanma süresini, hataları ve çıktının kalitesini ölçün. Normal çalışma zamanı değişimi ve bakım için bir miktar pay bırakın; miktar gözlemlerle gerekçelendirilmelidir. İş yükü sığmıyorsa eşzamanlılığı azaltmaya, uygulamayı değiştirmeye veya farklı donanım seçmeye karar verin.
Tensor GPU, SwissOctet kataloğunda GPU ile ilgili seçenekleri sunar. Güvenmeden önce tam aygıtı, aygıt başına VRAM'i, sürücü uyumluluğunu ve seçilen yapılandırmayı doğrulayın. Site, uygulamaya özgü uygunluk garantisi sağlamaz. Belgelenmiş bir kabul testi, bu donanım ayrıntılarını makinenin gerçekleştirmesini istediğiniz işle birleştirir.
Pratik kontrol listeniz.
- Desteklenen GPU mimarisini ve çalışma zamanını doğrulayın.
- Ağırlıkları, ara sonuçları, önbellekleri ve çalışma alanlarını bütçeleyin.
- Maksimum amaçlanan giriş ve eşzamanlılıkta zirveleri ölçün.
- Çerçeve ve cihaz düzeyi bellek görünümlerini karşılaştırın.
- Hassasiyet veya biçim değişikliklerinden sonra çıktıyı doğrulayın.
- Sipariş vermeden önce tam aygıt başına VRAM'i doğrulayın.
Önemli olan ayrıntılar.
Kaydedilen model boyutu VRAM talebine eşit midir?+
Hayır. Yürütme ara sonuçlar, çalışma alanları, önbellekler ve diğer tahsisleri ekler; depolama biçimleri bellek içi temsillerden farklı olabilir.
İkinci bir GPU eklemek kullanılabilir belleği otomatik olarak ikiye katlar mı?+
Hayır. Uygulamanın uygun bir paralel stratejiye ihtiyacı vardır. Aygıt başına sınırlar ve iletişim davranışı hâlâ önemlidir.
Azaltılmış hassasiyet her zaman bellek yetersizliği sorununu çözebilir mi?+
Hayır. Bazı tahsisleri azaltabilir, ancak destek, kalan arabellekler ve kabul edilebilir çıktı kalitesi test edilmelidir.
Kaynağa gidin.
Bu kaynaklar, bu kılavuzdaki teknik kavramları destekler. Bir üretim sistemini değiştirmeden önce güncel belgeleri izleyin.
- NVIDIA: Derin Öğrenme Performansına Başlarken docs.nvidia.com
- PyTorch: CUDA Bellek Kullanımını Anlama docs.pytorch.org
- PyTorch: CUDA bellek yönetimi docs.pytorch.org
SwissOctet tarafından editoryal rehberlik. Örnekler açıklayıcıdır. Hizmet spesifikasyonları, mevcut seçenekler ve sözleşme koşulları ayrıca doğrulanmalıdır.