Linux’ta Yerel Yapay Zeka (Local AI) Ekosistemi ve Donanım Planlaması

Büyük Dil Modellerinin (LLM) yükselişiyle birlikte yapay zeka araçları günlük yazılım geliştirme pratiklerimizin merkezine yerleşti. Ancak bulut tabanlı API’ler (OpenAI, Anthropic, Google) her senaryo için ideal çözüm değildir. Şirket içi hassas kodların veya kişisel verilerin dış sunuculara aktarılması gizlilik riskleri doğurur; sürekli yapılan API çağrıları yüksek maliyetlere yol açar ve internet bağlantısı kesildiğinde tüm iş akışı durur.

Bu sorunların çözümü, modelleri kendi Linux ortamınızda yerel olarak (Local AI) çalıştırmaktır.

Bu 5 bölümlük serinin ilk yazısında; yerel yapay zeka ekosisteminin temel bileşenlerini, model boyutlarını ve Linux üzerinde akıcı bir deneyim için gereken donanım hesaplama formüllerini ele alıyorum.


1. Neden Yerel Yapay Zeka (Local AI)?

  1. Mutlak Veri Gizliliği (Privacy): Modeller tamamen yerel makinenizde çalıştığı için girdiğiniz kodlar, belgeler ve hassas veriler asla ağ dışına çıkmaz.
  2. Sıfır Abonelik / Token Maliyeti: Bir kez donanım kurulduktan sonra milyonlarca istek atsanız bile ek bir token faturası ödemezsiniz.
  3. Çevrimdışı ve Kesintisiz Çalışma: Uçakta, fabrikada veya internet erişiminin kısıtlı olduğu saha ortamlarında dahi asistanınız çalışmaya devam eder.
  4. Özelleştirme ve Sansürsüzlük (Uncensored Models): Açık kaynak modelleri kendi ihtiyaçlarınıza göre ince ayar (fine-tuning) yapabilir veya sistem istemleriyle (system prompts) tamamen özelleştirebilirsiniz.

2. Donanım Planlaması: VRAM Neden En Kritik Unsurdur?

Bir yapay zeka modelinin çalışma hızını belirleyen birincil faktör disk hızı ya da saf işlemci gücü değil, bellek bant genişliğidir (Memory Bandwidth).

  • GPU Video RAM (VRAM): Modern bir ekran kartı (örneğin RTX 3060/4090) saniyede 360 GB/s ile 1000 GB/s arasında bellek bant genişliği sunar. Model tamamen VRAM içine sığdığında saniyede 40-100 token (kelime parçası) üretim hızlarına ulaşılabilir.
  • Sistem RAM’i (DDR4 / DDR5): Standart çift kanal DDR4 bellek yaklaşık 40-50 GB/s, DDR5 ise 70-90 GB/s bant genişliğine sahiptir. Model VRAM’e sığmayıp sistem RAM’ine taştığında (offloading) hız genellikle saniyede 3-10 tokene kadar düşer.

Bu nedenle hedefiniz her zaman modelin tamamını VRAM içine sığdırmak olmalıdır.


3. Bellek İhtiyacı Nasıl Hesaplanır?

Bir modelin boyutu parametre sayısı (milyar cinsinden, örn: 7B, 14B, 32B, 70B) ve ağırlıkların hassasiyeti (bit sayısı) ile hesaplanır.

Ham modeller 16-bit (FP16 – float16) formatında saklanır. Yani her parametre 2 bayt yer kaplar: $$\text{Gereken Bellek (FP16)} \approx \text{Parametre Sayısı (Milyar)} \times 2 \text{ GB}$$

  • 7B model FP16 formatında: $7 \times 2 = 14 \text{ GB}$ VRAM gerektirir.
  • 70B model FP16 formatında: $70 \times 2 = 140 \text{ GB}$ VRAM gerektirir (Tüketici kartlarında imkansız).

Kuantizasyon (Quantization) Kurtarıcıdır

Kuantizasyon, model ağırlıklarını matematiksel kayıpları asgariye indirerek 4-bit veya 8-bit tamsayılara (GGUF formatı: Q4KM, Q8_0) sıkıştırma işlemidir.

4-bit (Q4) kuantize edilmiş bir model için pratik formül: $$\text{Gereken VRAM} \approx (\text{Parametre Sayısı} \times 0.6) + 2 \text{ GB (Bağlam Penceresi – Context Cache)}$$

Model BoyutuKuantizasyonDosya BoyutuÖnerilen Minimum VRAMHedef Donanım
Llama-3.2 / Qwen 3BQ4KM~2.2 GB4 GB VRAMGiriş seviyesi GPU veya güçlü CPU
Llama-3.1 / Mistral 8BQ4KM~4.9 GB8 GB VRAMRTX 3060 / 4060 / Apple M serisi
Qwen 2.5 14BQ4KM~9.0 GB12 GB VRAMRTX 3060 12GB / RTX 4070
Qwen 2.5 / DeepSeek 32BQ4KM~20 GB24 GB VRAMRTX 3090 / RTX 4090
Llama-3.1 70BQ4KM~42 GB48 GB VRAMÇift RTX 3090 veya Mac Studio

4. Linux Hızlandırıcıları: CUDA, ROCm ve Vulkan

Linux üzerinde donanım hızlandırması için üç temel yol vardır:

  1. NVIDIA CUDA: Ekosistemin fiili standardıdır. Neredeyse tüm LLM kütüphaneleri ilk olarak CUDA için optimize edilir. Kurulumu Debian/Ubuntu/Arch depoları üzerinden kararlıdır.
  2. AMD ROCm: AMD Radeon GPU’lar (RX 6000/7000 serisi) için Linux sürücüsüdür. Son sürümlerde (ROCm 6.x) kararlılık belirgin şekilde arttı ancak CUDA kadar tak-çalıştır değildir.
  3. Vulkan / Kompute: Hem Intel entegre grafikler (iGPU) hem de resmi desteği olmayan eski GPU’lar için taşınabilir bir arka uçtur. llama.cpp altında oldukça verimli çalışır.
  4. Saf CPU (AVX2 / AVX-512): Özel bir ekran kartınız yoksa bile modern bir AMD Ryzen veya Intel Core işlemci, AVX2 yönergeleri sayesinde küçük modellerde (3B – 8B) okunabilir bir hızda çalışır.

5. Serinin Yol Haritası

Donanım dinamiklerini ve gereksinimleri netleştirdikten sonra, serinin sonraki adımlarında bu modelleri Linux üzerinde çalıştırmanın en popüler ve performanslı yollarını inceleyeceğiz:

  • 2. Bölüm: C/C++ tabanlı saf çıkarım motoru llama.cpp ve GGUF formatı.
  • 3. Bölüm: Tek komutla model yönetimi sağlayan Ollama ve systemd servisi.
  • 4. Bölüm: Yerel ChatGPT deneyimi için Open WebUI ve RAG (belge sorgulama).
  • 5. Bölüm: Sunucu seviyesinde yüksek verimlilik sunan vLLM mimarisi.