Giriş başlangıç
#llm
#yapay-zeka
#dil-modeli
#gpt
#transformer
LLM (Büyük Dil Modeli) Nedir? Kapsamlı Giriş Rehberi
Büyük dil modellerinin (LLM) temellerini öğrenin. ChatGPT, GPT-4, Llama gibi modellerin nasıl çalıştığını ve günlük hayatta nasıl kullanıldığını keşfedin.
Açık Llama
20 dakika
Bu eğitim için gerekli ön bilgiler:
- Temel bilgisayar kullanımı
- İngilizce okuma yetisi
LLM (Large Language Model) Nedir?
Büyük Dil Modeli (LLM), milyarlarca kelime ve cümle üzerinde eğitilmiş yapay zeka sistemleridir. Bu modeller, insan dilini anlayabilir, metin üretebilir, soruları yanıtlayabilir ve çeşitli dil görevlerini yerine getirebilir.
LLM’lerin Temel Özellikleri
- Büyük Ölçek: Milyarlarca parametre içerir
- Çok Amaçlı: Farklı görevlerde kullanılabilir
- Bağlam Anlayışı: Uzun metinleri anlayabilir
- Yaratıcılık: Orijinal içerik üretebilir
Nasıl Çalışır?
LLM’ler Transformer mimarisi kullanarak çalışır. Bu mimari:
# Basit LLM yapısının kavramsal gösterimi
class SimpleLLM:
def __init__(self, vocab_size, hidden_size, num_layers):
self.embedding = TokenEmbedding(vocab_size, hidden_size)
self.transformer_layers = [TransformerLayer() for _ in range(num_layers)]
self.output_layer = LinearLayer(hidden_size, vocab_size)
def generate_text(self, input_text):
# Metni token'lara dönüştür
tokens = self.tokenize(input_text)
# Her token için olasılık hesapla
embeddings = self.embedding(tokens)
# Transformer katmanlarından geçir
for layer in self.transformer_layers:
embeddings = layer(embeddings)
# Sonraki kelimeyi tahmin et
next_token_logits = self.output_layer(embeddings)
return self.decode(next_token_logits)
Eğitim Süreci
LLM’ler üç aşamada eğitilir:
1. Ön Eğitim (Pre-training)
- Milyarlarca web sayfası, kitap, makale
- “Sonraki kelimeyi tahmin et” görevi
- Dil yapısını ve bilgiyi öğrenir
2. İnce Ayar (Fine-tuning)
- Spesifik görevler için özelleştirme
- Daha küçük, kaliteli veri setleri
- Performansı artırır
3. İnsan Geri Bildirimli Pekiştirmeli Öğrenme (RLHF)
- İnsan değerlendirmelerine göre ayar
- Güvenli ve yararlı yanıtlar
- ChatGPT’nin başarısının sırrı
Popüler LLM Örnekleri
Açık Kaynak Modeller
| Model | Geliştirici | Parametre Sayısı | Özellik |
|---|---|---|---|
| Llama 2 | Meta | 7B - 70B | Ticari kullanım |
| Mistral 7B | Mistral AI | 7B | Yüksek performans |
| Code Llama | Meta | 7B - 34B | Kod geliştirme |
| Zephyr | HuggingFace | 7B | İnsan tercihi eğitimi |
Kapalı Kaynak Modeller
- GPT-4 (OpenAI)
- Claude (Anthropic)
- Gemini (Google)
- PaLM (Google)
Türkçe LLM’ler
Türkçe için optimize edilmiş modeller:
1. Trendyol LLM
# Hugging Face'den kullanım
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "trendyol/turkish-gpt2-large"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Türkçe metin üretimi
input_text = "Yapay zeka teknolojisi"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=100)
2. TURNA (Sabancı Üniversitesi)
- Çok görevli Türkçe model
- Açık kaynak
- Akademik araştırmalar için ideal
Pratik Kullanım Alanları
1. İçerik Üretimi
# Blog yazısı yazdırma örneği
prompt = """
Türkiye'de yapay zeka eğitimi hakkında
500 kelimelik bir blog yazısı yaz.
Başlık: "AI Eğitiminin Geleceği"
"""
response = llm.generate(prompt)
print(response)
2. Kod Geliştirme
# Kod üretimi örneği
prompt = """
Python'da bir REST API oluştur:
- FastAPI kullan
- Kullanıcı CRUD işlemleri
- JWT authentication
- PostgreSQL veritabanı
"""
code = code_llm.generate(prompt)
3. Dil Çevirisi
# Çeviri örneği
prompt = """
Türkçe: "Merhaba, nasılsın?"
İngilizce: "Hello, how are you?"
Türkçe: "Yapay zeka öğrenmek istiyorum."
İngilizce:
"""
LLM Seçimi Kriterleri
Performans Metrikleri
- BLEU Score: Çeviri kalitesi
- ROUGE Score: Özetleme başarısı
- BERTScore: Anlamsal benzerlik
- Human Eval: İnsan değerlendirmesi
Teknik Kriterler
| Kriter | Açık Kaynak | Kapalı Kaynak |
|---|---|---|
| Maliyet | Düşük | Yüksek |
| Kontrole Sahip Olma | Yüksek | Düşük |
| Güncellemeler | Manuel | Otomatik |
| Gizlilik | Yüksek | Düşük |
Kendi LLM’inizi Geliştirmek
1. Veri Toplama
# Türkçe Wikipedia indirme
wget https://dumps.wikimedia.org/trwiki/latest/trwiki-latest-pages-articles.xml.bz2
# Temizleme ve işleme
python preprocess_wikipedia.py
2. Model Mimarisi
# Transformer model tanımlama
import torch.nn as nn
class TurkishLLM(nn.Module):
def __init__(self, vocab_size=50000, d_model=512, nhead=8, num_layers=6):
super().__init__()
self.embedding = nn.Embedding(vocab_size, d_model)
self.transformer = nn.Transformer(
d_model=d_model,
nhead=nhead,
num_encoder_layers=num_layers,
num_decoder_layers=num_layers
)
self.fc_out = nn.Linear(d_model, vocab_size)
3. Eğitim
# Eğitim döngüsü
for epoch in range(num_epochs):
for batch in dataloader:
optimizer.zero_grad()
output = model(batch['input_ids'])
loss = criterion(output, batch['target_ids'])
loss.backward()
optimizer.step()
print(f"Epoch: {epoch}, Loss: {loss.item()}")
Güvenlik ve Etik Konular
Potansiyel Riskler
- Yanlış Bilgi: Güvenilir kaynak kontrolü
- Önyargı: Eğitim verisindeki önyargılar
- Gizlilik: Hassas bilgi sızıntısı
- Kötüye Kullanım: Zararlı içerik üretimi
Güvenli Kullanım
# Güvenlik filtreleri
def safe_generation(prompt, model):
# İçerik moderasyonu
if contains_harmful_content(prompt):
return "Bu tür içerik üretemem."
# Çıktı filtresi
output = model.generate(prompt)
if contains_harmful_content(output):
return "Güvenli bir yanıt üretilemedi."
return output
Gelecek Trendleri
2024 ve Sonrası
- Multimodal Modeller: Görsel + Metin
- Uzun Bağlam: 1M+ token işleme
- Özelleştirilmiş Modeller: Domain-specific LLM’ler
- Edge Deployment: Mobil cihazlarda çalışma
Türkiye Perspektifi
- Türkçe veri artışı
- Yerel model geliştirme
- Eğitim kurumları işbirliği
- Açık kaynak topluluk
Sonraki Adımlar
Bu eğitimden sonra önerilen öğrenme yolu:
Kaynaklar ve Linkler
Resmi Dokümantasyonlar
Türkçe Kaynaklar
Eğitim tamamlandı! Sorularınız varsa yorumlarda sorabilir veya YouTube kanalımızda daha detaylı videolar izleyebilirsiniz.