Conrado Sol
- 29 Nis 2026
- 92 Mesaj
Aktiflik
Seviye
Deneyim
Bu konuda açık kaynak LLM'leri, bunları yerel olarak çalıştırmanın yollarını, donanım gereksinimlerini ve pratik kurulum adımlarını ele alacağız. Hem meraklılar hem de kendi LLM altyapısını kurmak isteyenler için hazırlamaya çalıştım umarım beğenirsiniz.
Meta'nın geliştirdiği Llama serisi açık kaynak LLM dünyasının en etkili modellerinden biridir. 2024 yılında yayınlanan Llama 3, 8B ve 70B parametre versiyonlarıyla geldi. 8B model orta seviye bir GPU'da rahat çalışırken 70B model daha güçlü donanım gerektirir. Llama 3 özellikle kod üretimi, akıl yürütme ve çok dilli görevlerde önceki versiyona göre ciddi iyileştirmeler sunuyor. Ticari kullanıma da izin veren lisansıyla kurumsal projelerde de kullanılabiliyor.
Fransız yapay zeka şirketi Mistral AI'ın geliştirdiği modeller verimlilik konusunda üst sıralarda. 7B parametreyle Llama 2 13B'ye yakın performans göstermesi Mistral 7B'yi düşük donanımlı sistemler için ideal kılıyor. Mixtral 8x7B ise Mixture of Experts (MoE) mimarisini kullanan farklı bir yaklaşım sunuyor. 8 adet 7B'lik uzman modelden oluşuyor ama her çıktı için yalnızca 2 uzman aktive ediliyor. Bundan dolayı 47B parametre içermesine rağmen çok daha az hesaplama kaynağı kullanıyor. GPT-3.5'e yakın performans gösterirken çok daha düşük donanım gerektiriyor.
Microsoft'un geliştirdiği Phi serisi küçük ama güçlü modeller üzerine odaklanıyor. Phi-3 Mini 3.8B parametreyle akıllı telefonlarda bile çalışabiliyor. Microsoft'un araştırmasına göre Phi-3 Mini bazı kıyaslama testlerinde Mixtral 8x7B ve GPT-3.5'i geride bıraktı. Eğitim verisi kalitesine odaklanan "textbook quality data" yaklaşımı bu başarının arkasındaki temel özelliktir.
Google'ın Gemini modeliyle aynı araştırma altyapısından türetilen açık kaynak model serisidir. 2B ve 7B versiyonlarıyla geliyor. Mesela düşük kaynaklı ortamlarda güçlü performans gösteriyor ve Google'ın araçlarıyla kolay entegrasyon sağlıyor.
Alibaba'nın geliştirdiği Qwen2 serisi çok dilli yetenekler ve kod üretimi konusunda güçlü performans gösteriyor. 0.5B'den 72B'ye kadar farklı boyutlarda versiyonlar mevcut. Çince ve diğer Asya dilleri desteğiyle öne çıkıyor ama Türkçe dahil diğer dillerde de başarılı sonuçlar veriyor.
Model Boyutuna Göre Minimum Gereksinimler (4-bit quantization ile)
+ 3B - 4B model: 4 GB RAM. Phi-3 Mini, Gemma 2B gibi modeller. Orta seviye laptop bile yeterli.
+ 7B - 8B model: 8 GB RAM ya da 6 GB VRAM. Mistral 7B, Llama 3 8B. En yaygın tercih edilen boyut.
+ 34B model: 32 GB RAM ya da 24 GB VRAM. Güçlü bir iş istasyonu gerektirir.
+ 70B model: 64 GB RAM ya da 48 GB VRAM. Yüksek performanslı GPU gerektirir.
GPU olmadan da CPU üzerinde modeller çalıştırılabilir ama hız çok daha yavaş olur. 7B bir model CPU'da saniyede 2-5 token üretirken GPU'da 30-60 token üretebilir.
Ollama yerel LLM çalıştırmanın en kolay yollarından biridir. Docker benzeri bir deneyim sunar, modeli tek komutla indirip çalıştırabilirsiniz. Linux, macOS ve Windows'u da destekler.
OpenAI SDK'sıyla uyumlu endpoint de sunduğundan mevcut OpenAI kodlarınızı minimum değişiklikle Ollama'ya taşıyabilirsiniz.
llama.cpp C++ ile yazılmış yüksek performanslı bir LLM çalıştırma kütüphanesidir. Ollama ve LM Studio arka planda llama.cpp kullanır. Daha fazla kontrol ve özelleştirme isteyenler için kullanılabilir.
GGUF (GPT-Generated Unified Format) llama.cpp tarafından geliştirilen ve yerel LLM ekosisteminde standart haline gelen model formatıdır. Quantization bilgisini, tokenizer'ı ve model metadata'sını tek bir dosyada barındırır.
Hugging Face'de modeller genellikle farklı quantization seviyelerindedir:
+ Q2_K: En küçük boyut, en düşük kalite. (Çok kısıtlı donanımlar için.)
+ Q4_K_M: Boyut ve kalite dengesi en iyi seçenek. (Genellikle önerilen.)
+ Q5_K_M: Daha yüksek kalite, biraz daha fazla bellek.
+ Q8_0: Tam precision'a çok yakın kalite, yüksek bellek gereksinimi.
+ F16: Tam precision, en yüksek kalite, en fazla bellek.
Çoğu durumda Q4_K_M yeterli kalitede sonuç verir ve bellek kullanımı mantıklıdır. Başlangıç için önerilen format budur.
+ Gemma 2B ⇛ Hafif, Google altyapısı
+ Mistral 7B Q4 ⇛ Daha güçlü ama yavaş çalışır
+ Mistral 7B ⇛ Hız ve kalite dengesi
+ CodeLlama 7B ⇛ Kod odaklı görevler için
+ Mixtral 8x7B ⇛ GPT-3.5 düzeyinde performans
+ Qwen2 72B ⇛ Çok dilli görevler için
Neden Yerel LLM?
ChatGPT ve Claude gibi bulut tabanlı modeller kullanışlı olmakla birlikte bazı ciddi sınırlılıklar taşır. Gönderdiğiniz her prompt ve aldığınız her cevap şirketin sunucularından geçer. Hassas iş verileri, kişisel bilgiler ya da gizlilik gerektiren içerikler bulut tabanlı modellere gönderildiğinde veri güvenliği riski oluşur. Yerel LLM'ler bu sorunu tamamen ortadan kaldırır. Model kendi donanımınızda çalışır, internet bağlantısı gerekmez ve hiçbir veri dışarı çıkmaz. API maliyeti yoktur, internet bağlantısı gerekmez ve istediğiniz gibi fine-tune edebilirsiniz. Meta'nın Llama modellerini açık kaynak olarak yayınlamasından sonra yerel LLM ekosistemi hızla büyüdü. Bugün kişisel bir bilgisayarda bile sağlam modeller çalıştırabiliyoruz.Popüler Açık Kaynak Modeller?
Llama 3 (Meta)
Meta'nın geliştirdiği Llama serisi açık kaynak LLM dünyasının en etkili modellerinden biridir. 2024 yılında yayınlanan Llama 3, 8B ve 70B parametre versiyonlarıyla geldi. 8B model orta seviye bir GPU'da rahat çalışırken 70B model daha güçlü donanım gerektirir. Llama 3 özellikle kod üretimi, akıl yürütme ve çok dilli görevlerde önceki versiyona göre ciddi iyileştirmeler sunuyor. Ticari kullanıma da izin veren lisansıyla kurumsal projelerde de kullanılabiliyor.
Mistral ve Mixtral
Fransız yapay zeka şirketi Mistral AI'ın geliştirdiği modeller verimlilik konusunda üst sıralarda. 7B parametreyle Llama 2 13B'ye yakın performans göstermesi Mistral 7B'yi düşük donanımlı sistemler için ideal kılıyor. Mixtral 8x7B ise Mixture of Experts (MoE) mimarisini kullanan farklı bir yaklaşım sunuyor. 8 adet 7B'lik uzman modelden oluşuyor ama her çıktı için yalnızca 2 uzman aktive ediliyor. Bundan dolayı 47B parametre içermesine rağmen çok daha az hesaplama kaynağı kullanıyor. GPT-3.5'e yakın performans gösterirken çok daha düşük donanım gerektiriyor.
Phi-3 (Microsoft)
Microsoft'un geliştirdiği Phi serisi küçük ama güçlü modeller üzerine odaklanıyor. Phi-3 Mini 3.8B parametreyle akıllı telefonlarda bile çalışabiliyor. Microsoft'un araştırmasına göre Phi-3 Mini bazı kıyaslama testlerinde Mixtral 8x7B ve GPT-3.5'i geride bıraktı. Eğitim verisi kalitesine odaklanan "textbook quality data" yaklaşımı bu başarının arkasındaki temel özelliktir.
Gemma (Google)
Google'ın Gemini modeliyle aynı araştırma altyapısından türetilen açık kaynak model serisidir. 2B ve 7B versiyonlarıyla geliyor. Mesela düşük kaynaklı ortamlarda güçlü performans gösteriyor ve Google'ın araçlarıyla kolay entegrasyon sağlıyor.
Qwen2 (Alibaba)
Alibaba'nın geliştirdiği Qwen2 serisi çok dilli yetenekler ve kod üretimi konusunda güçlü performans gösteriyor. 0.5B'den 72B'ye kadar farklı boyutlarda versiyonlar mevcut. Çince ve diğer Asya dilleri desteğiyle öne çıkıyor ama Türkçe dahil diğer dillerde de başarılı sonuçlar veriyor.
Donanım Gereksinimleri?
Yerel LLM çalıştırmak için donanım gereksinimi model boyutuna ve quantization düzeyine göre değişir. Quantization model ağırlıklarının daha az bit kullanılarak temsil edilmesidir. 4-bit quantization modeli RAM ve GPU bellek gereksinimini yaklaşık 4 kat azaltır, performans kaybı genelde minimal olur.Model Boyutuna Göre Minimum Gereksinimler (4-bit quantization ile)
+ 3B - 4B model: 4 GB RAM. Phi-3 Mini, Gemma 2B gibi modeller. Orta seviye laptop bile yeterli.
+ 7B - 8B model: 8 GB RAM ya da 6 GB VRAM. Mistral 7B, Llama 3 8B. En yaygın tercih edilen boyut.
[B]+ 13B model:[/B] 16 GB RAM ya da 10 GB VRAM. Llama 2 13B gibi modeller.+ 34B model: 32 GB RAM ya da 24 GB VRAM. Güçlü bir iş istasyonu gerektirir.
+ 70B model: 64 GB RAM ya da 48 GB VRAM. Yüksek performanslı GPU gerektirir.
GPU olmadan da CPU üzerinde modeller çalıştırılabilir ama hız çok daha yavaş olur. 7B bir model CPU'da saniyede 2-5 token üretirken GPU'da 30-60 token üretebilir.
Ollama ile Yerel LLM Kurulumu?
Ollama yerel LLM çalıştırmanın en kolay yollarından biridir. Docker benzeri bir deneyim sunar, modeli tek komutla indirip çalıştırabilirsiniz. Linux, macOS ve Windows'u da destekler.
Kurulum
Kod:
⤬ Linux ve macOS
curl -fsSL https://ollama.com/install.sh | sh
⤬ Windows için ollama.com/download adresinden indirin
Model İndirme ve Çalıştırma
Kod:
⤬ Llama 3 8B modelini indir ve çalıştır
ollama run llama3
⤬ Mistral 7B
ollama run mistral
⤬ Phi-3 Mini (düşük donanım için)
ollama run phi3:mini
⤬ Kod üretimi için özelleştirilmiş model
ollama run codellama
⤬ Mevcut modelleri listele
ollama list
⤬ Model bilgisi
ollama show llama3
⤬ Modeli sil
ollama rm llama3
Ollama API Kullanımı
Ollama yerel bir REST API sunduğundan kendi uygulamalarınızla ekleyip kullanabilirsiniz.
Kod:
import requests
import json
def ollama_sorgula(prompt, model="llama3"):
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
⤬ Kullanım
cevap = ollama_sorgula("Python'da bir port tarayıcı yaz")
print(cevap)
OpenAI SDK'sıyla uyumlu endpoint de sunduğundan mevcut OpenAI kodlarınızı minimum değişiklikle Ollama'ya taşıyabilirsiniz.
Kod:
from openai import OpenAI
⤬ Ollama'yı OpenAI SDK ile kullan
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Herhangi bir değer girilebilir
)
response = client.chat.completions.create(
model="llama3",
messages=[
{"role": "user", "content": "Merhaba, nasılsın?"}
]
)
print(response.choices[0].message.content)
LM Studio ile Yerel LLM?
LM Studio grafiksel arayüz tercih edenler için ideal bir seçenek olabilir, ben şahsen daha önce bunu tercih etmiştim. Hugging Face'deki modelleri doğrudan arayüzden indirip çalıştırmayı sağlar. ChatGPT benzeri bir sohbet arayüzü ve yerel API sunucusu özelliği sunar. lmstudio.ai adresinden işletim sisteminize uygun versiyonu indirip kurabilirsiniz. Kurulum sonrası Discover sekmesinden model arayabilir, indirip Chat sekmesinde kullanmaya başlayabilirsiniz.llama.cpp ile İleri Seviye Kullanım?
llama.cpp C++ ile yazılmış yüksek performanslı bir LLM çalıştırma kütüphanesidir. Ollama ve LM Studio arka planda llama.cpp kullanır. Daha fazla kontrol ve özelleştirme isteyenler için kullanılabilir.
Kod:
⤬ llama.cpp kurulumu
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j4
⤬ CUDA (NVIDIA GPU) desteğiyle derle
make -j4 LLAMA_CUDA=1
⤬ Model indir (GGUF formatında)
⤬ Hugging Face'den TheBloke gibi kullanıcıların quantize ettiği modeller kullanılabilir
⤬ Modeli çalıştır
./llama-cli -m models/llama-3-8b-instruct.Q4_K_M.gguf \
-p "Python'da binary search nasıl yazılır?" \
-n 512 \
--temp 0.7
GGUF Format Nedir?
GGUF (GPT-Generated Unified Format) llama.cpp tarafından geliştirilen ve yerel LLM ekosisteminde standart haline gelen model formatıdır. Quantization bilgisini, tokenizer'ı ve model metadata'sını tek bir dosyada barındırır.
Hugging Face'de modeller genellikle farklı quantization seviyelerindedir:
+ Q2_K: En küçük boyut, en düşük kalite. (Çok kısıtlı donanımlar için.)
+ Q4_K_M: Boyut ve kalite dengesi en iyi seçenek. (Genellikle önerilen.)
+ Q5_K_M: Daha yüksek kalite, biraz daha fazla bellek.
+ Q8_0: Tam precision'a çok yakın kalite, yüksek bellek gereksinimi.
+ F16: Tam precision, en yüksek kalite, en fazla bellek.
Çoğu durumda Q4_K_M yeterli kalitede sonuç verir ve bellek kullanımı mantıklıdır. Başlangıç için önerilen format budur.
Open WebUI ile ChatGPT Benzer Arayüz?
Open WebUI, Ollama ile entegre çalışan açık kaynak bir web arayüzüdür. ChatGPT'ye çok benzer bir deneyim sunar. Konuşma geçmişi, sistem promptu, model seçimi ve dosya yükleme gibi özellikler içerir. Docker ile kolayca kurulabilirsiniz.
Kod:
⤬ Docker ile Open WebUI kurulumu
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
⤬ Tarayıcıdan erişim
⤬ http://localhost:3000
Hugging Face Transformers ile Model Kullanımı?
Daha fazla kontrol ve Python entegrasyonu isteyenler için Hugging Face Transformers kütüphanesi idealdir. Modelleri doğrudan Python kodundan yükleyip kullanabilirsiniz.
Kod:
tokenizer = AutoTokenizer.from_pretrained(model_adi)
model = AutoModelForCausalLM.from_pretrained(
model_adi,
torch_dtype=torch.float16,
device_map="auto" ⤬ GPU varsa otomatik olarak GPU'ya yükler
)
⤬ Metin üret
def metin_uret(prompt, max_token=200):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=max_token,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
cevap = metin_uret("Python'da bubble sort algoritmasını açıkla")
print(cevap)
Model Karşılaştırması?
Düşük Donanım (8 GB RAM, GPU yok ya da 4-6 GB VRAM)
+ Phi-3 Mini 3.8B ⇛ Genel amaçlı, hızlı+ Gemma 2B ⇛ Hafif, Google altyapısı
+ Mistral 7B Q4 ⇛ Daha güçlü ama yavaş çalışır
Orta Seviye Donanım (16 GB RAM ya da 8 GB VRAM)
+ Llama 3 8B ⇛ Genel amaçlı en iyi seçenek+ Mistral 7B ⇛ Hız ve kalite dengesi
+ CodeLlama 7B ⇛ Kod odaklı görevler için
Yüksek Donanım (32+ GB RAM ya da 24 GB VRAM)
+ Llama 3 70B ⇛ En güçlü açık kaynak seçenek+ Mixtral 8x7B ⇛ GPT-3.5 düzeyinde performans
+ Qwen2 72B ⇛ Çok dilli görevler için
