Yapay zeka ekosisteminde herkes DeepSeek-R1'in düşük maliyetini konuşurken, arkasındaki asıl mimari devrim olan GRPO (Group Relative Policy Optimization) algoritmasını gözden kaçırıyor. OpenAI'ın o1 modelinde kullandığı klasik PPO (Proximal Policy Optimization) yöntemi devasa bir ikinci eleştirmen (Critic) model gerektirdiği için süper bilgisayarlar haricinde eğitilemiyordu. GRPO, bu eleştirmen model ihtiyacını tamamen ortadan kaldırarak pekiştirmeli öğrenmeyi ev tipi ekran kartlarına indirdi.
PPO vs GRPO Karşılaştırma Tablosu
| Kriter | Geleneksel PPO (OpenAI Modeli) | DeepSeek GRPO (Unsloth) |
|---|---|---|
| Eleştirmen Modeli (Critic Network) | Zorunlu (Aynı boyutta ikinci bir model gerekir) | Yok (Grup içi göreli ortalama kullanılır) |
| GPU Bellek (VRAM) İhtiyacı | Minimum 4–8 Adet A100/H100 | Tek bir 16–24 GB GPU (RTX 3090 / 4090) |
| Eğitim Süresi ve Karmaşıklık | Günler sürer, çökmelere hassastır | 1–2 saatte ilk <think> çıktıları başlar |
| Ödül Puanlama Mantığı | Karmaşık sinir ağı ödülü | Kural tabanlı (Format + Doğruluk formülü) |
Adım 1: Unsloth ile GRPO Ortamının Kurulması
pip install unsloth vllm
pip install --upgrade --no-deps "trl<0.15.0" peft accelerate bitsandbytesAdım 2: Ödül Fonksiyonlarının (Reward Functions) Tanımlanması
Modelin yanıt vermeden önce içsel düşünmesini sağlamak için iki basit ödül kuralı yazılır:
import re
def dogruluk_odulu(prompts, completions, answer, **kwargs):
# Doğru cevaba tam puan (+2.0) ver
responses = [c[0]['content'] for c in completions]
return [2.0 if a.strip() in r else 0.0 for r, a in zip(responses, answer)]
def format_odulu(completions, **kwargs):
# Modelin <think> ... </think> etiketlerini düzgün kullanmasını ödüllendir
pattern = r"^<think>.*?</think>\s*.*$"
responses = [c[0]['content'] for c in completions]
return [1.0 if re.match(pattern, r, re.DOTALL) else 0.0 for r in responses]Adım 3: Eğitimi Başlatma
Qwen 2.5 (1.5B veya 7B) taban modeli üzerinde LoRA ağırlıklarıyla GRPO eğitim döngüsünü başlatın. Yaklaşık 200 adım sonra modelin sorulara doğrudan cevap vermek yerine kendi kendini sorgulayan düşünme blokları ürettiğini göreceksiniz.