LLM VRAM Hesaplayıcı
Büyük Dil Modellerini farklı kuantizasyon seviyeleriyle çalıştırmak için GPU VRAM gereksinimlerini hesaplayın. Llama, Mistral ve Qwen gibi popüler modelleri destekler.
Girdi
Çıktı
Readme
VRAM Nedir ve LLM'ler için Neden Önemlidir?
VRAM (Video Random Access Memory), GPU hesaplamaları için veri depolamak üzere kullanılan grafik kartınızdaki özel bellektir. Büyük Dil Modellerini (LLM) yerel olarak çalıştırırken, verimli çıkarım için tüm model ağırlıkları VRAM'a sığmalıdır. Sistem RAM'ından farklı olarak, VRAM, LLM'leri çalışır hale getiren paralel hesaplamalar için gereken yüksek bant genişliğini sağlar.
VRAM'ın tükenmesi, sistemi GPU belleği ile sistem RAM'ı arasında veri değiştirmeye zorlar ve metin oluşturmayı önemli ölçüde yavaşlatır. Çoğu durumda, bir model VRAM'a sığmazsa, hiç çalışmaz. Bu, herhangi bir yerel LLM'yi indirmeden veya çalıştırmaya çalışmadan önce VRAM gereksinimlerini hesaplamayı gerekli kılar.
LLM VRAM Nasıl Hesaplanır?
LLM'ler için VRAM kullanımı üç ana bileşenden oluşur:
Model ağırlıkları: Temel sinir ağı parametreleri. FP16 (16-bit) cinsinden 7B parametreli bir model yaklaşık 14 GB kullanırken, aynı model 4-bit'e kuantize edildiğinde yalnızca ~4 GB kullanır.
KV Cache: Metin oluşturma sırasında model, önceki token'lardan anahtar-değer çiftlerini depolar. Bu cache, bağlam uzunluğu ile büyür ve uzun konuşmalar için birkaç gigabayt tüketebilir.
Ek Yük: CUDA kernel'leri, aktivasyon tensörleri ve framework ek yükü, tipik olarak temel gereksinimlere %10-15 ekler.
Model boyutu formülü: (Parametreler × Ağırlık Başına Bit) ÷ 8 = Bayt Cinsinden Boyut
Araç Açıklaması
Bu hesaplayıcı, GPU'nuzda yerel olarak Büyük Dil Modeli çalıştırmak için gereken VRAM'ı tahmin eder. Modelinizin parametre sayısını girin, bir kuantizasyon formatı seçin ve mevcut VRAM'ınızı belirtin; modelin sığıp sığmayacağını ve destekleyebileceğiniz maksimum bağlam uzunluğunu anında görün.
Araç, llama.cpp'den GGUF Q2'den Q8 varyantlarına kadar tüm yaygın kuantizasyon formatlarını, ayrıca standart FP16 ve FP32 hassasiyetini destekler. Ayrıca, VRAM kapasitesi göz önüne alındığında GPU'nuzun işleyebileceği maksimum bağlam uzunluğunu hesaplar.
Özellikler
- 20+ kuantizasyon formatı: GGUF kuantizasyon türleri (Q2_K'den Q8_0'a), i-quants (IQ2-IQ4) ve standart hassasiyetler (FP16, FP32, BF16) için tam destek
- Popüler model ön ayarları: Llama 3, Mistral, Qwen ve Phi modelleri dahil olmak üzere 1B'den 405B parametreye kadar yaygın model boyutları için hızlı seçim
- GPU ön ayarları: GTX 1650'den H100'e kadar popüler tüketici ve profesyonel GPU'lar için önceden yapılandırılmış VRAM miktarları
- Bağlam uzunluğu hesaplaması: GPU'nuzun destekleyebileceği maksimum bağlam penceresini otomatik olarak hesaplar
- Gerçek zamanlı sonuçlar: Parametreleri ayarladıkça anında geri bildirim
Kullanım Durumları
Model indirmeden önce: 50+ GB dosya indirmeye zaman harcamadan önce bir modelin donanımınızda çalışıp çalışmayacağını kontrol edin. Hangi kuantizasyon seviyesine ihtiyacınız olduğunu önceden bilin.
Çıkarım ayarlarını optimize etme: Model kalitesi (daha yüksek kuantizasyon) ile bağlam uzunluğu arasındaki ideal noktayı bulun. Bazen Q6'dan Q4'e düşmek, bağlam pencerenizi iki katına çıkarmanıza izin verir.
GPU yükseltmesi planlama: Farklı GPU'ların hedef modellerinizi nasıl işleyeceğini karşılaştırın. Llama 70B veya diğer büyük modelleri rahatça çalıştırmak için tam olarak ne kadar VRAM'a ihtiyacınız olduğunu görün.
Desteklenen kuantizasyon formatları
| Format | Bit/Ağırlık | En İyi Kullanım |
|---|---|---|
| FP32 | 32.0 | Maksimum hassasiyet, araştırma |
| FP16/BF16 | 16.0 | Eğitim, yüksek kaliteli çıkarım |
| Q8_0 | 8.5 | Neredeyse kayıpsız kalite |
| Q6_K | 6.56 | İyi sıkıştırma ile yüksek kalite |
| Q5_K_M | 5.69 | Dengeli kalite ve boyut |
| Q4_K_M | 4.85 | Tüketici GPU'ları için popüler seçim |
| Q4_0 | 4.5 | İyi sıkıştırma, hafif kalite kaybı |
| Q3_K_M | 3.65 | Agresif sıkıştırma |
| Q2_K | 2.63 | Maksimum sıkıştırma, belirgin kalite kaybı |
| IQ4_XS | 4.25 | Önem ağırlıkları ile optimize edilmiş 4-bit |
| IQ3_XXS | 3.06 | Deneysel ultra-düşük bit |
| IQ2_XXS | 2.06 | Aşırı sıkıştırma |
Nasıl Çalışır
Hesaplayıcı şu formülleri kullanır:
Model Boyutu (GB) = (Milyar cinsinden Parametreler × 10⁹ × ağırlık başına bit) ÷ 8 ÷ 10⁹
KV Cache (GB) ≈ (Parametreler × Bağlam Uzunluğu ÷ 1000 × 0.5) ÷ 1000
Toplam VRAM = Model Boyutu + KV Cache + %10 ek yük
KV cache formülü basitleştirilmiş bir yaklaşımdır. Gerçek KV cache boyutu model mimarisine (katman sayısı, dikkat başlıkları ve başlık boyutları) bağlıdır, ancak bu tahmin çoğu transformer tabanlı LLM'ler için iyi çalışır.
İpuçları
- Q4_K_M ile başlayın: Bu kuantizasyon, çoğu kullanım durumu için kalite ve boyut açısından en iyi dengeyi sunar
- Boşluk bırakın: Daha uzun oluşturmalar sırasında bellek yetersizliği hatalarından kaçınmak için 1-2 GB boş VRAM'a hedefleyin
- Bağlam ihtiyaçlarını göz önünde bulundurun: Uzun bağlam (8K+) gerekiyorsa, daha agresif kuantizasyon kullanmanız gerekebilir
- Çoklu GPU'lar: Çok GPU kurulumları için, modelleri kartlar arasında bölebilirsiniz, ancak bu hesaplayıcı tek GPU kullanımını varsayar
Sınırlamalar
- KV cache tahminleri, tipik transformer mimarileri temel alınarak yapılan yaklaşımlardır
- Gerçek VRAM kullanımı, çıkarım framework'ü (llama.cpp, vLLM, TensorRT-LLM) tarafından değişir
- Toplu çıkarım veya spekülatif kod çözme ek yükünü hesaba katmaz
- Flash Attention ve diğer optimizasyonlar gerçek gereksinimleri azaltabilir
- Bazı modellerin standart olmayan mimarileri daha fazla veya daha az bellek kullanabilir
SSS
S: Modelim hesaplanan değerden daha fazla VRAM kullanıyor neden? C: Hesaplayıcı temel tahminler sağlar. Çıkarım framework'leri kendi ek yüklerini ekler ve bazı işlemler pik kullanımını artıran geçici tamponlar gerektirir.
S: VRAM'ımdan daha büyük modelleri CPU boşaltma kullanarak çalıştırabilir miyim? C: Evet, llama.cpp gibi araçlar kısmi GPU boşaltmayı destekler, ancak performans önemli ölçüde düşer. Bu hesaplayıcı tam GPU çıkarımına odaklanır.
S: Hangi kuantizasyonu kullanmalıyım? C: Çoğu kullanıcı için Q4_K_M, ~4.85 bit/ağırlık ile mükemmel kalite sunar. VRAM'ınız varsa, Q5_K_M veya Q6_K biraz daha iyi kalite sağlar. Yalnızca kesinlikle gerekli olduğunda Q2/Q3 formatlarını kullanın.
S: Bu tahminler ne kadar doğru? C: Çoğu yaygın model için %10-20 içinde. Gerçek kullanım, belirli model mimarisi, çıkarım arka ucu ve çalışma zamanı ayarlarına bağlıdır.