Sorun gidermeKılavuz
Yerel LLM VRAM'den taştı mı? gputaskman ile ağırlıklar ve KV önbelleğini görün
Bir Ollama veya llama.cpp modeli başarısız olduğunda ya da yavaşladığında GPU belleğinizi neyin doldurduğunu, hangi ayarın değiştirileceğini ve bir API'nin ne zaman daha basit olduğunu öğrenin.

Bu sayfada
Yerel modeliniz dün sorunsuz yüklendi, bugün yüklemede çöküyor ya da sürünüyor ve değiştirdiğiniz tek şey bağlam uzunluğuydu. Yaygın bir suçlu KV önbelleğidir ve gputaskman adlı ücretsiz bir terminal aracı, sizi tahminle baş başa bırakmak yerine bunu size gösterebilir.
Tipik bir GPU monitörü size VRAM'in ne kadar dolu olduğunu söyler. Bu "ne", "neden" değil. gputaskman'in README'si (5 Kasım 2026'da kontrol edildi) kendisini "GPU'nuzun içinde ne olduğu için bir htop, sadece ne kadar dolu olduğu için değil" olarak tanımlıyor. Erken aşamada, deneysel, MIT lisanslı bir proje, bu yüzden ona bir hüküm değil, kullanışlı bir mercek olarak bakın.
VRAM'inizi aslında ne dolduruyor#
VRAM'i bir bavul gibi düşünün. İçine üç şey girer:
- Ağırlıklar: modelin kendisi. Belirli bir model ve niceleme için sabit boyut.
- KV önbelleği: modelin konuşmanıza dair kısa süreli belleği. Bağlam büyüdükçe büyür.
- Hesaplama tamponları: çalışma zamanının çalışırken ihtiyaç duyduğu geçici alan.
İnsanlar "model sığmıyor" dediğinde, genellikle ağırlıkların sığdığını ama üstüne istediğiniz önbelleğin sığmadığını kastederler. Bu ayrım düzeltmeye karar verir ve sıradan bir monitörün tam olarak gizlediği şey budur.
Durumunu seç
Ne görüyorsunuz?
Cevabı görmek için bir seçenek seçin
Yüklemede hemen başarısız oluyor
Yalnızca ağırlıklar ya da ağırlıklar artı bağlam uzunluğunuz için önbellek, boş VRAM'den büyük. Daha küçük bir niceleme veya daha küçük bir model seçin ya da bağlamı kısaltın.
Yükleniyor, sonra bağlamı artırdığınızda yavaşlıyor
Büyük olasılıkla KV önbelleği büyüdü ve işin bir kısmı artık VRAM'e sığmıyor; süreç görünümü ve bölünme bunu doğrulayacaktır. Önce bağlam uzunluğunu düşürün; en ucuz ayar budur.
Önceden çalışıyordu, şimdi başarısız oluyor
Başka bir süreç VRAM'i aldı: bir oyun, donanım hızlandırmalı bir tarayıcı, ikinci bir model sunucusu. Modele dokunmadan önce süreç başına görünüme bakın.
gputaskman'i kurun ve süreç başına bakın#
README üç giriş yolu listeliyor: taşınabilir bir Windows ZIP'i, uv run - ile çalıştırılan bir klon ya da Python 3.11+ sanal ortamı içinde pip. README'nin tanımladığı platformlar:
- NVIDIA veya AMD GPU'lu Windows 10/11 64-bit (Releases sayfasında x64 ve ARM64 ZIP'leri);
- NVIDIA GPU'lu Linux ve WSL (glibc 2.35+; WSL Windows ana makine sayaçlarını okuyabilir);
- macOS yalnızca Apple Silicon üzerinde kaynak klonundan, taşınabilir derleme yok.
Windows ZIP'leri imzasızdır. Bunları yalnızca resmi deponun Releases sayfasından indirin, github.com/shanselman/gputaskman. README'den komutları birebir kopyalayın: proje genç ve seçenekler değişebilir.
Çalışmaya başladığında, bu sorun için iki görünüm önemlidir:
- Aygıt görünümü: VRAM kullanımı, GPU etkinliği, PCIe, sıcaklık, güç, saat hızları ve geçmiş grafikleri. "Bir şey ani yükseldi mi?" için iyi.
- Süreç görünümü: süreç başına yerel GPU belleği, GPU'nun erişebildiği sistem RAM'i, motor etkinliği ve algılanan çalışma zamanı (CUDA, HIP, Vulkan, Direct3D, ggml, ONNX Runtime).
Süreç görünümünde model sunucunuzu bulun (Ollama için, onunla birlikte gelen runner'ı). Sonra listenin geri kalanını kontrol edin. Bir tarayıcı veya oyun birkaç gigabayt tutuyorsa, modele dokunmadan cevabınızı buldunuz.
Ağırlıklar, KV önbelleği, tamponlar: sayılar nereden geliyor#
Model denetçisi, mevcut olduğunda mimariyi, nicelemeyi ve tampon boyutlarını gösterir. Önemli bir uyarı var: README'ye göre ağırlıklar, KV önbelleği ve hesaplama tamponları, uyumlu günlükleme etkinleştirildiğinde çalışma zamanının yükleme günlüklerinden gelir. llama.cpp için, kendi llama-server'ınızı günlüklemeyle başlatın (-; README tampon boyutları için seviye 4'ün gerektiğini söylüyor). Ollama için, gputaskman mevcutsa Ollama'nın server.log çıktısını kullanır. Aksi halde bunlar GGUF meta verilerinden ve bağlam boyutundan, llama.cpp tarzı yerleşim varsayılarak yapılan tahminlerdir. Tek bir süreç içinde model başına KV muhasebesi henüz desteklenmiyor.

Yani tahmini bir bölünmeyi "yaklaşık" olarak, günlük tabanlı bir bölünmeyi ise "çalışma zamanının bildirdiği şey" olarak okuyun. Ollama için README, birlikte gelen runner'ların algılandığını, GGUF blob'larının Ollama'nın manifestlerinden adlandırıldığını ve mevcut olduğunda server.log kullanıldığını söylüyor. LM Studio desteği kısmi: modeller klasöründen adlandırılıyor ve yerel API'si üzerinden yoklanıyor, ancak bu uçtan uca değil, fixture yanıtlarıyla test edildi.
Ayrıca iki anlık görüntüyü JSON olarak kaydedip diff komutuyla karşılaştırabilirsiniz. Bu, "4K'dan 16K bağlama geçtiğimde ne değişti?" sorusunu yanıtlamanın temiz bir yoludur: bir anlık görüntü alın, ayarı değiştirin, yeniden yükleyin, bir tane daha alın.
Hızlı kontrol
Modeliniz yükleniyor ama bağlam uzunluğunu artırdıktan sonra yavaşlıyor. Önce neyi kontrol etmelisiniz?
Cevabı göster
Cevap: KV önbelleğini
Ağırlıklar bağlam uzunluğuyla değişmez; KV önbelleği değişir. Bağlam uzunluğunu düşürmek onu hemen küçültür.
Hangi ayarı çevirmeli#
Bölünmeyi okumak size sadece bir resim değil, bir karar verir.
Ağırlıklar büyük dilimdir. Daha küçük bir nicelemeye veya daha küçük bir modele geçin. Ağırlıkları küçülten tek kaldıraç budur. Arkasındaki bellek matematiğini istiyorsanız, 125B'lik bir model 16 GB'lık bir GPU'da çalışabilir mi? yazısına bakın.
KV önbelleği büyük dilimdir. Bağlamı kısaltın. Ollama'da bunu doğrudan oturum içinde deneyebilirsiniz:
ollama run <your-model>
>>> /set parameter num_ctx 81928192 yalnızca örnek bir değerdir; görevinizin gerçekten ihtiyaç duyduğunu seçin (komut Ollama'nın belgelerine göre, 5 Kasım 2026'da kontrol edildi).
Daha sonra llama.cpp'de nicelenmiş bir önbellekle istem işlemede garip bir yavaşlık görürseniz, q5_1 KV önbelleği için bu düzeltme bir sonraki duraktır. Bir bağlam penceresinin başlangıçta ne tuttuğu için Bağlam penceresi nedir? yazısını okuyun.
Başka bir süreç büyük dilimdir. Kapatın ya da entegre GPU'da çalıştırın. Modelle ilgili hiçbir şeyin değişmesi gerekmez.
Kontrol listesi
Modeli suçlamadan önce
Çalışmazsa#
- Bölünme yanlış görünüyor. Tahmin olup olmadığını kontrol edin (uyumlu yükleme günlüğü yok). llama.cpp ile llama-server'ınızı
-ile çalıştırın ve modeli yeniden yükleyin. Ollama ile, gputaskman varsa- log- file server. log - lv 4 server.logkullanır; orada bir tahmin etiketi normaldir. - LM Studio daha az ayrıntı gösteriyor. Yukarıda belirtildiği gibi destek kısmi.
- NVIDIA veya AMD GPU yok. Araç yalnızca yerel GPU iş yüklerini kapsar; yalnızca CPU, yalnızca NPU ve bulut iş yükleri kapsam dışıdır.
- macOS. Kaynak klonundan çalıştırın; taşınabilir derleme yok.
Barındırılan bir modelin daha basit çözüm olduğu durumlar#
Diyelim ki büyük bir belgeyi özetlemek gibi tek bir görev için uzun bir bağlama ihtiyacınız var ve GPU'nuz modele yalnızca kısa bir bağlamla sığıyor. Ayarlarla oynamaya devam edebilir ya da VRAM'i denklemden çıkarabilirsiniz. Bu tür görevler için CheapTokens DeepSeek-V4-Flash sunuyor: 380K bağlam, yanıt başına 32.768'e kadar çıktı token'ı, günün her saatinde tek fiyat, OpenAI uyumlu bir API üzerinden. GLM-5.3-Flash 390K bağlama ve 8.192'ye kadar çıktı token'ına sahip.
Çağrı olağan OpenAI formatındadır (anahtarınızı bir ortam değişkenine koyun):
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "messages": [{"role": "user", "content": "Summarize this document: ..."}]}'Kurulum ayrıntıları belgelerde. Karar vermek için bir pratik kural: bir görev sürekli olarak kartınızın tutabileceğinden daha fazla bağlam veya daha büyük bir model gerektiriyorsa ve süreç görünümü VRAM'inizin zaten iyi kullanıldığını gösteriyorsa, o görevi API'ye gönderin ve küçük, hızlı işleri yerelde tutun. DeepSeek'i yerelde mi çalıştırmalı yoksa API mi kullanmalı? ödünleşimi daha derinlemesine ele alıyor.
Diyelim ki her biri 60.000 giriş token'ı ve 1.000 çıktı token'ı olan 100 büyük belgeyi özetliyorsunuz (380K pencereye rahatça sığar). Bugün bunun maliyeti şöyle:
| Model | Giriş $/1M | Çıkış $/1M | İstek başına | 100 istek | OpenRouter, 100 istek |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0012 | $0.124 | $0.209 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.001 | $0.10 | $0.434 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0032 | $0.315 | $3.78 |
İstek başına 60.000 giriş ve 1.000 çıkış token'ı. 1M token başına fiyatlar günceldir ve tarifelerimizle birlikte değişir; OpenRouter sütunu aynı iş yükü için referans fiyatları gösterir.
Bu sayılarla, belge başına $0.001 böyle bir çağrının canlı fiyatıdır ve toplamda, giriş ve çıktı birlikte sayıldığında, OpenRouter'ın altında kalıyor.
Maliyet hesaplayıcı
Kendi toplu işiniz: token'ları ve istekleri değiştirin
İstek başına giriş token'ı: 60.000 · İstek başına çıkış token'ı: 1.000 · Günlük istek sayısı: 100
| Model | Günlük | Aylık |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.124 | $3.72 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.10 | $3.00 |
| MiniMax-M2.7$0.05$0.15 | $0.315 | $9.45 |



