Ollama ile Yerel LLM: RX 7700 XT Üzerinde Çalışan Modeller
Bir AI şirketinin bulut API’sine her istek gönderdiğimde kafamda bir soru beliriyordu: bu veri nereye gidiyor?
Cevabım yerel LLM stack kurmak oldu. Donanımım: PowerColor RX 7700 XT — 12 GB GDDR6.
Kurulum (NixOS Modülü)
# modules/ollama.nix
{ config, pkgs, ... }: {
services.ollama = {
enable = true;
acceleration = "rocm"; # AMD GPU için ROCm backend
environmentVariables = {
HSA_OVERRIDE_GFX_VERSION = "11.0.0"; # Navi 32 için gerekli override
OLLAMA_MAX_LOADED_MODELS = "2";
};
};
}
HSA_OVERRIDE_GFX_VERSION olmadan ROCm, RX 7700 XT’yi desteklenen GPU listesinde görmüyor. Bu satır olmadan tüm inferans CPU’ya düşüyor.
VRAM Haritası (12 GB)
| Model | Boyut | VRAM Kullanımı | Durum |
|---|---|---|---|
| gemma3:4b | ~3 GB | ~3.5 GB | ✅ Rahat çalışıyor |
| gemma3:12b | ~8 GB | ~8.5 GB | ✅ Çalışıyor |
| qwen2.5-coder:7b | ~5 GB | ~5.5 GB | ✅ Kod asistanı için ideal |
| deepseek-r1:8b | ~5 GB | ~5.5 GB | ✅ Akıl yürütme için |
| gemma3:27b | ~17 GB | GPU taşıyor | ⚠️ CPU’ya düşüyor, yavaş |
| llama3.3:70b | ~43 GB | VRAM yok | ❌ Pratik değil |
12 GB ile 7B–12B arası modeller tatlı nokta: tam GPU’da çalışıyor, yanıt hızı tatmin edici.
Servis Olarak Ollama
Ollama, NixOS’ta systemd servisi olarak çalışıyor. API localhost:11434 üzerinden erişilebilir — CLI veya herhangi bir OpenAI-uyumlu istemci kullanılabilir:
ollama run qwen2.5-coder:7b
# veya API üzerinden
curl http://localhost:11434/api/generate -d '{"model":"gemma3:12b","prompt":"..."}'
ai-start / ai-stop shell alias’ları GPU-yoğun servisleri (Ollama dahil) isteğe göre açıp kapatıyor.
Pratik Gözlemler
- ROCm + NixOS: nixpkgs-unstable her zaman daha güncel ROCm paketleri içeriyor. Unstable kanalını takip etmek şart.
- 2 model aynı anda:
OLLAMA_MAX_LOADED_MODELS=2ile hem Qwen Coder hem Gemma aynı anda bellekte tutulabiliyor — context switching sıfır gecikme. - Isı: 7B model inference’da GPU 62–68°C arasında kalıyor. Sorun yok.
- Güç tüketimi: Tam yükte ~160–180W. Idle’da Ollama servisi GPU’ya dokunmuyor.