Yapay Zeka

Fine-tuning: LLM Modellerini Özelleştirme

05 Nov 2025
5 dakika okuma
İninia Teknoloji
14
0

Fine-tuning, önceden eğitilmiş büyük dil modellerini (LLM) spesifik görevler veya domainler için özelleştirme sürecidir. OpenAI, Anthropic ve açık kaynak modeller için fine-tuning, kurumsal AI çözümlerinin temelini oluşturur.

Fine-tuning Nedir?

Fine-tuning, foundation model'in (GPT-4, Llama, Mistral vb.) ağırlıklarını özel veri setiyle yeniden eğiterek, belirli bir alanda uzmanlaştırma işlemidir.

Ne Zaman Fine-tuning Gerekir?

  • Prompt engineering yeterli değilse
  • Tutarlı format/stil gerekiyorsa
  • Domain-specific bilgi gerekiyorsa
  • Latency kritikse (kısa prompt'larla)
  • Token maliyetini düşürmek istiyorsanız

Fine-tuning vs RAG vs Prompt Engineering

YöntemKullanım AlanıAvantaj
Prompt EngineeringBasit görevlerHızlı, maliyet yok
RAGGüncel/özel bilgiHalüsinasyon azaltır
Fine-tuningStil/format/davranışTutarlılık, performans

Veri Hazırlığı

Format (OpenAI)

{"messages": [
  {"role": "system", "content": "Sen müşteri hizmeti asistanısın."},
  {"role": "user", "content": "Siparişim nerede?"},
  {"role": "assistant", "content": "Sipariş numaranızı alabilir miyim?"}
]}

Veri Kalitesi İpuçları

  • En az 50-100 örnek (ideal 500+)
  • Çeşitli senaryolar
  • Tutarlı format
  • Gerçek kullanım vakalarından örnekler
  • Edge case'ler dahil

OpenAI Fine-tuning

# 1. Veri yükle
from openai import OpenAI
client = OpenAI()

file = client.files.create(
    file=open("training_data.jsonl", "rb"),
    purpose="fine-tune"
)

# 2. Fine-tuning job başlat
job = client.fine_tuning.jobs.create(
    training_file=file.id,
    model="gpt-3.5-turbo",  # veya gpt-4
    hyperparameters={
        "n_epochs": 3
    }
)

# 3. Modeli kullan
response = client.chat.completions.create(
    model="ft:gpt-3.5-turbo:my-org:custom_suffix:id",
    messages=[{"role": "user", "content": "..."}]
)

Açık Kaynak Modeller (Llama, Mistral)

LoRA (Low-Rank Adaptation)

Tüm model yerine küçük adapter katmanları eğiterek verimli fine-tuning:

from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1")

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05
)

model = get_peft_model(model, lora_config)

QLoRA

4-bit quantization + LoRA ile düşük bellek gereksinimi:

  • 7B model: ~6GB VRAM
  • 13B model: ~10GB VRAM
  • 70B model: ~40GB VRAM

Hyperparameters

  • Epochs: 2-4 genellikle yeterli
  • Learning Rate: 1e-5 ile 5e-5 arası
  • Batch Size: VRAM'a göre
  • LoRA Rank (r): 8-64 arası

Değerlendirme

  • Test seti ayırın (%10-20)
  • A/B testi yapın (base vs fine-tuned)
  • Domain-specific metrikler belirleyin
  • Human evaluation (ölçeklendirilemese de değerli)

Maliyetler

  • OpenAI: $8/1M tokens (training), model kullanım ücreti
  • Açık kaynak: GPU saati (A100: ~$2/saat)
  • Cloud: AWS SageMaker, Google Vertex AI

Fine-tuning, LLM'leri spesifik ihtiyaçlara uyarlamanın güçlü bir yoludur. Doğru veri ve parametrelerle, base modelden çok daha iyi sonuçlar elde edebilirsiniz.

Bu konuda bir yazılım projesi mi planlıyorsunuz?

Projenizi birlikte analiz edip teknik yol haritasını çıkarabiliriz. Ücretsiz keşif görüşmesi için hemen yazın.

İninia Teknoloji

İstanbul Teknik Üniversitesi ARI Teknokent'te kurulu Ininia Teknoloji, 12+ yıllık deneyimle AR/VR, yapay zeka ve mobil uygulama alanlarında yenilikçi çözümler sunmaktadır.

Projeniz için profesyonel destek mi arıyorsunuz?

12+ yıllık deneyimimizle dijital dönüşümünüzü hızlandıralım.

Ücretsiz Görüşme Talep Et