Bloga dön

Kimse RAM'den bahsetmiyor. Yerel LLM pişmanlıkları RAM sorunudur.

19 Eylül 2026

Yerel LLM’lerle ilgili herhangi bir tartışmaya girin; kavga GPU’lar üzerinedir. VRAM benchmark’ları, 24 GB kartlar, CUDA’ya karşı ROCm, 3060’un hâlâ halkın kartı olup olmadığı. Bu arada modelinizin çalışıp çalışmayacağını gerçekten belirleyen sayı, başka bir slotta oturuyor: benchmark’ı da pazarlaması da yok — makinede ne kadar RAM olduğu.

VRAM hayali satar. RAM modelin gerçekten açılıp açılmayacağına karar verir — ve açıldığında ne kadar bağlamın hayatta kalacağını.

Bu yazıyı yazarken önümdeki makinede test ettim: 32 GB RAM’li bir Ryzen masaüstü ve 12 GB VRAM’li bir GeForce RTX 3060. llama3.1:8b indirdim — indirme sayfası 4,9 GB diyor. Gerçekte ne rezerve ettiğine bakın:

Test makinesinden terminal görüntüsü: ollama ps, llama3.1:8b'nin 32.000 token bağlamla %100 GPU'da 7,0 GB rezerve ettiğini gösteriyor; nvidia-smi 12.288 MiB'nin 7.963'ünün kullanıldığını, free -h ise 31 GiB RAM gösteriyor

Bütün tartışma tek ekranda. «4,9 GB’lık model», tek bir promptu yanıtlamadan 7,0 GB rezerve etti — %43’lük bir bağlam vergisi — ve VRAM’in 12.288 MiB’sinin 7.963’ünü kendine ayırdı. Bütçe asla ağırlıklar değildi. Bütçe bağlamdı.

Fazladan gelen gigabaytlar nereden çıkıyor

llama.cpp bellek notları, indirme sayfalarının atladığı hesabı açıklar: toplam bellek = model ağırlıkları + KV önbelleği + hesaplama tamponu. Yalnızca ilk ter sabittir. KV önbelleği bağlam uzunluğuyla doğrusal büyür, hesaplama tamponu batch boyutuyla. Ollama, llama.cpp’yi sarar; aynı yasa geçerlidir — bu yüzden ollama ps, 4,9 GB’lık etiket için 32.000 token pencerede 7,0 GB bildirdi ve hepsi GPU’da ikamet etti.

Kantize edilmiş model bir taviz değil. Belleğin asıl bütçe olduğunun itirafıdır.

GGUF kuantizasyon merdiveninin var olma nedeni de bu zaten. Q4 bir din değil; bellek aritmetiğini insanların sahip olduğu donanıma sığdıran şeydir. Ve bu yüzden «aynı» iki 8B kurulum birbirine hiç benzemez: aynı model, farklı bağlam uzunluğu, farklı makineler.

Kimse satın almadan önce doldurmayan tablo

Üç model sınıfı, iki bellek türü, 12 GB’lık bir kart ve 32 GB RAM — binlerce geliştiricinin gerçekten sahip olduğu yapılandırma:

Model sınıfı (Q4)İndirmeYüklü + 32k ctx12 GB VRAM’de32 GB RAM’de
7–8B (llama3.1:8b)4,9 GB7,0 GB (ölçüldü)%100 GPU, ~8 GiB kullanıldıpek fark edilmez
13–14B (qwen2.5:14b)9,0 GB~12 GBoffload başlarrahat
27–32B (gemma3:27b)17 GB~20 GB ve üzeriCPU ağırlıkları çekerçalışmasının tek nedeni

Son iki satırı tekrar okuyun. Yalnızca VRAM’de, gerçek bağlamla bir 14B çoktan bölünmüş offload işidir ve 27B imkânsızdır. 32 GB RAM’de ikisi de sadece yavaştır. Bu fark — imkânsız ile yavaş arasındaki fark — RAM ile VRAM arasındaki tüm pratik farktır. VRAM’e sığarsa hızlıdır. RAM’e sığarsa çalışır. Hiçbirine sığmazsa NVMe’ye swap yapıyorsunuzdur ve zaman anlamını yitirir.

Offload PCIe üzerinden geçer ve Ollama SSS maliyeti açıkça söyler: GPU’ya sığmayan katmanlar CPU’da çalışır ve GPU payı küçüldükçe verim çöker. Kimse bu takası bilinçli seçmez. Sessizce, katman katman gelir; belirtisi yalnızca «yerel modeller abartılıyor» cümlesidir.

Dürüst defter

Bu yazıyı yazarken ne bozuldu ya da şaşırttı, sırayla:

  1. 43 sayısının kendisi. 8B modelin «dosya boyutu kadar yer kaplamasını» bekliyordum. 4,9 GB indirmeye karşı 7,0 GB rezerve etti. Beni şaşırttıysa, ps yerine teknik föy okuyan herkesi şaşırtır.
  2. Ekran görüntüsü seansı. İlk çekimim yanlış pencereyi yakaladı. İkincisi çalıştı — yukarıdaki o. Kanıt bir iş akışıdır, hava disi değil; ve pull → görüntü → ollama rm döngüsü diski dürüst tutar.
  3. Bozulmayan şey: GPU hiç taşmadı. 12 GB’da 32k bağlamla 8B gerçekten rahat. Kart iyi durumda. Yanlış kalibre olan, kartın çevresindeki sözdür.

Bunların hiçbiri GPU’ların önemsiz olduğu anlamına gelmez — görüntüdeki %100 GPU satırı, üretimin anlık hissettirmesinin nedenidir. Anlamı şu: GPU ikinci sorudur. Ollama–llama.cpp seçimi, neyin sığdığını öğrendikten sonra gelir, önce değil.

Saklamaya değer kural

Gereken RAM = model dosyası + gerçek bağlamınız için KV önbelleği + bilgisayar olarak kalmanız için 4 GB. Q4’te 7–8B için 16 GB rahattır. 14B–32B için 32 GB lüks olmaktan çıkıp konunun kendisi olur. VRAM’i, kullandığınız bağlamda istediğiniz hız için alın; RAM’i, bir gün yükleyeceğiniz her şey için alın.

ollama ps‘e bir kez bakın; teknik föy dini sessizce biter.

Sonuç olarak iki soru. Bir sonraki makinenizi toplarken VRAM’i, paylaşacağınız benchmark’lar için mi alırsınız — RAM’i, gerçekten çalıştıracağınız modeller için mi? Ve dürüst olalım: sabahın ikisinde indirdiğiniz modellerin kaçını kahvaltıdan önce sildiniz? Ben bugün sildim, yazının ortasında. Yorumlarda tek olmadığımı söyleyin — ve sizin makineniz RAM/VRAM çizgisinin hangi tarafında, anlatın.

FAQ

Yerel bir LLM için ne kadar RAM gerekir?

Model dosya boyutu artı bağlam (context) artı masaüstünüz. Q4'te 7–8B modeller için 16 GB rahattır; 32 GB, 14–32B modeli demo olmaktan çıkarıp günlük araç yapar.

Yerel LLM'ler için hangisi daha önemli: VRAM mi RAM mi?

Her şey sığdığında hızı VRAM belirler. Modelin hiç açılıp açılmayacağını ve ne kadar bağlamın hayatta kalacağını RAM belirler. İkisi arasındaki PCIe offload, kimsenin sevmediği yavaş orta bölgedir.

Yüklenen model, indirme boyutundan neden daha fazla bellek kullanıyor?

KV önbelleği ve hesaplama tamponları bağlam uzunluğuyla büyür. llama.cpp bellek notları hesabı verir: ağırlıklar + KV önbelleği + hesaplama tamponu — ve indirme sayfasında yalnızca ilk sayı var.

— mrsaynothing

— mrsaynothing

Opinions load-tested before shipping. Mostly.

Bu yazıyı dev.to'da tartış dev.to ↗

Get the next argument by email

One email per post. Agree or tear it apart.

self-hosted · üçüncü taraf yok · tek tıkla abonelikten çık

bu nedir?

SSH Permission denied (publickey): gerçek çözüm

Yazıları beğendiniz mi? Ben geçim için böyle inşa ederim. beni işe al