Yerelde LLM çalıştırmanın avantajları
Büyük dil modellerini (LLM) bulut yerine kendi bilgisayarınızda çalıştırmak; gizliliği artırır, gecikmeyi düşürür ve yoğun denemelerde maliyeti kontrol altına alır. Son dönemde popülerleşen Ollama, Llama 3.1, Qwen, Mistral gibi açık modelleri tek komutla indirip çalıştırmanızı sağlayan hafif ve pratik bir platformdur. Bu yazıda, Llama 3.1’i Ollama ile yerelde kurmayı, GPU hızlandırmayı devreye almayı ve RAG (Retrieval-Augmented Generation) mimarisine giden kısa bir yol haritasını adım adım anlatıyorum.
Gereksinimler ve model seçimi
LLM’lerin RAM ve VRAM iştahı, model boyutuna ve sıkıştırma (quantization) düzeyine göre değişir. 8B (8 milyar parametre) sınıfı modeller güncel tüketici bilgisayarlarda iyi bir denge sunar. 16 GB RAM ve tercihen en az 8 GB VRAM, akıcı kullanım için idealdir. Daha büyük 13B veya 70B modeller daha yüksek kalite verse de donanım talebi ciddi artar. Ollama, modelleri quantized (ör. 4-bit) olarak sunabildiği için daha düşük bellekle de tatmin edici performans elde edilebilir. Kural basit: RAM/VRAM yetmiyorsa daha küçük model veya daha agresif sıkıştırma seçin.
Kurulum: macOS, Windows ve Linux
macOS: Apple Silicon için Metal hızlandırma desteği hazır gelir. Homebrew ile kurabilirsiniz: “brew install ollama”. Kurulum sonrası menü çubuğundaki Ollama simgesinden servis durumunu kontrol edebilirsiniz.
Windows: Ollama’nın resmi kurulum paketini indirip çalıştırın. Kurulumla birlikte Ollama servisi otomatik başlatılır. PowerShell veya Komut İstemi üzerinden komutları çalıştırabilirsiniz.
Linux: Resmi kurulum betiği pratik bir yoldur: “curl -fsSL https://ollama.com/install.sh | sh”. NVIDIA GPU kullanacaksanız sistemde güncel CUDA sürümü yüklü olmalı (sürücü ve CUDA 12.x tavsiye edilir).
İlk model: Llama 3.1’i indirme ve çalıştırma
Kurulumdan sonra ilk test için komut satırında şu komutu verin: “ollama run llama3.1:8b”. İlk çağrıda model otomatik indirilecektir. Ardından terminalde bir istem (prompt) göreceksiniz; bir soru yazıp Enter’a basın. Çıkmak için Ctrl+C kullanabilirsiniz. Modeli önceden indirmek isterseniz “ollama pull llama3.1:8b” komutunu çalıştırmanız yeterli.
Performans/kalite dengesini değiştirmek için farklı varyantları deneyin. Daha küçük bellekli sistemlerde 8B sınıfı daha rahat çalışırken, güçlü GPU’larda 13B ve üzeri modeller daha iyi sonuç verebilir. Türkçe performansı sizin için kritikse, Qwen veya Mistral ailesinin Türkçe kapsama oranı yüksek sürümlerini de test etmeyi düşünebilirsiniz.
GPU hızlandırma: CUDA, Metal ve ROCm
Ollama, uygun GPU’yu otomatik algılar. Apple Silicon’da Metal, NVIDIA’da CUDA, Linux’ta bazı AMD kartlarda ROCm ile ivme kazanırsınız. GPU’nun gerçekten kullanıldığını doğrulamak için macOS’ta Etkinlik İzleyici’de, Linux’ta “nvidia-smi” çıktısında veya Windows’ta Görev Yöneticisi’nde GPU kullanımını kontrol edebilirsiniz. Eğer sistem otomatik olarak CPU’ya düşüyorsa sürücü/kitaplık sürümlerinizi güncelleyin ve yeniden deneyin.
Bellek hataları alırsanız, daha küçük bir model seçin veya sıkıştırma derecesini yükseltin. Uzun bağlam (context) isteyen uygulamalarda context penceresi büyüdükçe hem RAM hem VRAM tüketimi artar; bu durumda promptunuzu kısaltın veya daha geniş VRAM’e sahip bir GPU kullanın.
Modelfile ile özelleştirme
Ollama, Modelfile ile model davranışını özelleştirmenize izin verir. Klasörünüzde “Modelfile” adlı bir dosya oluşturup aşağıdaki gibi sade bir yapı yazabilirsiniz:
FROM llama3.1:8b
PARAMETER temperature 0.2
SYSTEM Şirket içi belge asistanısın. Kısa ve net yanıtlar ver.
Ardından “ollama create kurumsal-asistan -f Modelfile” komutuyla yeni bir yerel model varyantı oluşturun ve “ollama run kurumsal-asistan” ile çalıştırın. Bu yöntemle sıcaklık, sistem mesajı, durdurma token’ları gibi ayarları kalıcı hâle getirebilirsiniz.
HTTP API ile entegrasyon
Ollama, varsayılan olarak “http://localhost:11434” üzerinde bir API sunar. Basit bir metin üretimi için “/api/generate” uç noktasına şu gövdede bir POST isteği gönderebilirsiniz: { "model": "llama3.1:8b", "prompt": "Merhaba, bugün hava nasıl?" }. Akışlı (stream) yanıtları desteklediği için gerçek zamanlı token üretimini arayüzünüze yansıtabilirsiniz. Benzer şekilde “/api/embeddings” uç noktasıyla yerel embedding üretip vektör veri tabanlarına yazmanız mümkündür.
RAG (Retrieval-Augmented Generation) hızlı başlangıç
Yerel kurulumun en güçlü senaryolarından biri, belgelerinizle konuşan bir asistan oluşturmaktır. Özet adımlar şöyle: (1) Belgelerinizi parçalara ayırın (chunking), (2) Her parça için embeddings üretin (“/api/embeddings” veya LangChain/LlamaIndex ile Ollama backend), (3) Embedding’leri bir vektör veritabanına (Chroma, FAISS, Milvus vb.) kaydedin, (4) Kullanıcı sorusunu embed edip en yakın parçaları bulun ve (5) Bu parçaları prompt’un “context” bölümüne enjekte ederek modelden yanıt isteyin. Böylece modelin parametre içi bilgisini güncellemeden, belgenize dayalı güncel ve kaynaklı cevaplar üretirsiniz.
İpuçları ve sorun giderme
- Uzun süreli oturumlar için keep-alive süresini artırarak modelin bellekte kalmasını sağlayın; yükleme gecikmesi azalır. Sunucu yeniden başlarken otomatik model yüklenmesini istemiyorsanız keep-alive’ı düşürebilirsiniz.
- Yanıt kalitesi dalgalanıyorsa temperature’ı düşürüp (0.2–0.5) deterministikliği artırın; yaratıcılık istiyorsanız 0.7+ deneyin.
- Türkçe çıktı kalitesi, sistem mesajınız ve örneklerle (few-shot) ciddi iyileşir. Kısa, görev odaklı bir SYSTEM ve birkaç örnek diyaloğu eklemeyi deneyin.
- Performans sınırına yaklaştığınızda bağlam penceresini (ör. 4K yerine 2K token) küçültmek, hız ve kararlılığı belirgin artırır.
- Yeni sürümlerle birlikte çekirdek hızlandırmalar (FlashAttention benzeri optimizasyonlar) ve bellek kullanımı iyileşiyor; Ollama’yı ve sürücüleri güncel tutun.
Sonuç
Ollama, yerelde LLM çalıştırmayı herkes için erişilebilir kılıyor. Llama 3.1’in 8B sınıfı, günlük asistan görevlerinden hızlı prototiplemeye kadar pek çok kullanımda tatmin edici sonuç veriyor. GPU hızlandırma ve RAG ile birleştirildiğinde, şirket içi gizli verilerle çalışan, düşük gecikmeli ve kontrol edilebilir üretken yapay zekâ deneyimleri inşa etmek mümkün. Küçük başlayın, donanım ve kullanım senaryonuza göre modeli ve ayarları kademeli olarak büyütün; elde edeceğiniz verim, bulut tabanlı çözümlerle rahatlıkla yarışacaktır.