Serkan Yaşar

Serkan Yaşar

AI | ML Developer

Back-End Developer

Data Scientist
📋

Professional Experience

  • Coşkunöz Holding 📍 Bursa, Türkiye

    Software Developer 🗓️ 2022 - Present

    • Developed and deployed AI-powered solutions in industrial settings, focusing on Generative AI, LLMs, Computer Vision, and Machine Learning to optimize production workflows and quality control.
    • Designed and implemented RAG pipelines using Vektor databases for intelligent document retrieval and domain-specific knowledge integration.
    • Designed and deployed LLM orchestration pipelines with LangChain, CrewAI, and n8n, integrating MCP tools to power intelligent chatbots, document Q&A systems, and AI assistants via Streamlit.
    • Applied LoRA and other parameter-efficient fine-tuning techniques for domain-adapted LLM enhancements.
    • Designed and deployed automated quality inspection systems using YOLO, OpenCV, OCR, and PyTorch, reducing manual checks and improving accuracy by up to 95%.
    • Created AI systems that enabled forklift-human collision detection, resulting in a 90% reduction in workplace accidents, awarded in the MESS Occupational Safety Stars Competition.
    • Built operator monitoring systems that prevented faulty products, winning Tofaş Best Kaizen Award, TİSK Digitalization Award, and Ministry of Industry and Technology Productivity Project Award.
    • Developed edge AI systems on Jetson Nano and Raspberry Pi, enabling low-latency inference for real-time industrial scenarios.
    • Implemented microservices with FastAPI, Django, and .NET Core, and managed API integration and deployment using Docker and CI/CD pipelines.
    • Integrated IoT sensor data and PLC communication (e.g., snap7) for fault detection and signal processing in live production environments.
    • Leveraged SQL, NoSQL, and ORM frameworks to manage complex data flows and enable real-time dashboards via Power BI, Tableau, and Grafana.
    • Used RPA (Robotic Process Automation) to streamline document processing workflows, achieving annual savings of €11,000.
    • Conducted large-scale data processing using Apache Spark, Hadoop, and Kafka, with real-time visualization.
    • Experienced in prompt engineering, LLM model evaluation, and staying up to date with multi-agent architectures, hybrid search, and AI trends.
    • Experienced in leading cross-functional teams and collaborating across departments to deliver end-to-end AI solutions in production environments.
🎓

Education

  • Bursa Technical University 📍 Bursa, Türkiye

    BSc in Mechanical Engineering 🗓️ 2018 - 2023

    • Graduated with GPA 2.97. TEKNOFEST participant with HACİWATT team.
  • Istanbul University 📍 Istanbul, Türkiye

    Associate Degree in Computer Programming 🗓️ 2022 - 2024

    • Focus on software development, backend, databases, and algorithms.
    • Expected graduation with GPA 2.8.
🏅

Certifications

Fine-Tuning Nedir ve Nasıl Çalışır? Detaylı Rehber




Modern yapay zeka dünyasında, önceden eğitilmiş büyük dil modellerini (LLM) kendi ihtiyaçlarımıza göre uyarlamak artık bir zorunluluk haline geldi. Fine-tuning, tam da bu noktada devreye giren ve bir modelin davranışını belirli bir göreve veya domain'e özelleştirmemizi sağlayan kritik bir süreçtir. Peki fine-tuning tam olarak nedir ve hangi yöntemlerle yapılabilir?

Fine-tuning, halihazırda eğitilmiş bir modelin parametrelerini ve davranış biçimini güncelleyerek, modeli belirli bir göreve adapte etme işlemidir. Genel amaç, modelin tüm parametrelerini değiştirmek yerine, belirli bir oranda güncelleme yapmaktır. Ancak bazı durumlarda Full Fine-tuning yöntemi de kullanılabilir.

  • Full Fine-Tuning: Modelin tüm parametrelerinin güncellenmesi
  • PEFT (Parameter Efficient Fine-Tuning): Parametre verimliliğine odaklanan yöntemler
  • Davranışsal Fine-Tuning: Instruction ve Alignment tuning teknikleri

Her yaklaşımın altında farklı teknikler ve alt başlıklar bulunsa da, fine-tuning dünyasını bu üç ana kategoriye ayırabiliriz. Şimdi her birini detaylıca inceleyelim.


1. Full Fine-Tuning: Tam Parametre Güncellemesi

Full Fine-Tuning, adından da anlaşılacağı üzere modelin tüm parametrelerinin güncendiği klasik fine-tuning yaklaşımıdır. Bu yöntemde, önceden eğitilmiş modelin her bir ağırlık değeri, yeni veri setiyle yeniden optimize edilir.

Teknik Detaylar ve Gereksinimler

Bu yaklaşım, en yüksek performansı sunma potansiyeline sahip olsa da, beraberinde ciddi donanım gereksinimleri getirir. Örneğin, 7 milyar parametreli bir model için 4 adet A100 GPU'ya ihtiyaç duyabilirsiniz. Bu da küçük ekipler ve bireysel araştırmacılar için ciddi bir maliyet anlamına gelir.

Avantajları

Full Fine-Tuning, modelin tam potansiyelini ortaya çıkarmanıza olanak tanır. Özellikle domain-specific görevlerde, modelin tüm katmanlarını güncelleyerek maksimum adaptasyon sağlanabilir.

Modelin tüm katmanları güncellenir, bu da domain'e özgü öğrenme için en güçlü yaklaşımdır. Ancak hesaplama maliyeti oldukça yüksektir.

Dezavantajları

Yüksek VRAM gereksinimi ve uzun eğitim süreleri, bu yöntemin en büyük dezavantajlarıdır. Ayrıca overfitting riski de daha yüksektir, özellikle küçük veri setlerinde.

7B parametreli bir model için 56GB+ VRAM gerekebilir. Bu da 4xA100 veya benzeri enterprise seviye donanım anlamına gelir.

Ne Zaman Kullanılmalı?

Full Fine-Tuning idealdir:

  • Büyük ve yüksek kaliteli domain-specific veri setiniz varsa
  • Maksimum performans kritik öneme sahipse
  • Yeterli hesaplama kaynağınız varsa
Çoğu pratik uygulama için PEFT yöntemleri daha makul bir seçim olsa da, kritik production sistemlerinde Full Fine-Tuning hâlâ altın standarttır.

Eğitim Süreci ve Optimizasyon

Full Fine-Tuning sürecinde, gradient descent algoritması kullanılarak tüm model ağırlıkları güncellenir. Learning rate, batch size ve epoch sayısı gibi hiperparametreler dikkatli şekilde ayarlanmalıdır.

Önerilen Hiperparametreler

Tipik bir Full Fine-Tuning kurulumu için şu değerler başlangıç noktası olarak kullanılabilir:

Learning rate: 1e-5 ile 5e-5 arası, Batch size: GPU kapasitesine göre 2-8, Epochs: Erken durdurma ile 3-5 epoch
Mixed precision training (FP16/BF16) kullanarak VRAM kullanımını %40-50 oranında azaltabilirsiniz.

2. PEFT: Parameter-Efficient Fine-Tuning

PEFT (Parameter-Efficient Fine-Tuning), büyük dil modellerinin sadece küçük bir kısmını güncelleyerek parametre verimli fine-tuning yapma yaklaşımıdır. Modern LLM çağında, bu yöntemler Full Fine-Tuning'e güçlü bir alternatif oluşturuyor.

PEFT'in Temel Mantığı

PEFT yöntemlerinin temel fikri basittir: Modelin davranışını değiştirmek için tüm parametreleri yeniden eğitmeye gerek yoktur. Bunun yerine, parametrelerin yalnızca %0.1-2'si gibi minimal bir kısmını güncelleyerek etkili adaptasyon sağlanabilir.

Neden PEFT?

PEFT yaklaşımı, birçok pratik avantaj sunar. En önemlisi, GPU/VRAM gereksinimlerini dramatik şekilde azaltmasıdır. 7B parametreli bir LLaMA modelini fine-tune etmek için 4xA100 yerine, tek bir consumer-grade GPU yeterli olabilir.

Ayrıca, PEFT yöntemleri overfit riskini azaltır, daha hızlı eğitime olanak tanır ve birden fazla adapter'ı aynı base model üzerinde kullanma esnekliği sağlar.

  • Daha az GPU/VRAM kullanımı ile büyük modelleri eğitme
  • Hızlı adaptasyon ve düşük overfit riski
PEFT ile 7B parametreli bir model için yalnızca 10-50M parametre güncellenir. Bu da Full Fine-Tuning'in yaklaşık %1'i kadardır.

Popüler PEFT Yöntemleri Karşılaştırması

PEFT ailesi altında birçok farklı teknik bulunmaktadır. Her birinin kendine özgü avantajları ve kullanım senaryoları vardır.

Yöntem Güncellenen Parametre VRAM Kullanımı Performans Temel Mantık
LoRA %0.1–2 Orta/Yüksek Yüksek Low-rank adaptörler eklenir, merge/unmerge mümkün
QLoRA %0.1–2 Çok Düşük Çok Yüksek LoRA + 4-bit quantization, base model düşük bit
Prefix Tuning %0.1–0.5 Çok Düşük Orta Input sequence önüne trainable prefix eklenir
Prompt Tuning %0.1–0.5 Çok Düşük Orta-Düşük Task-specific trainable prompt embeddingleri
Adapters %0.5–2 Düşük-Orta Yüksek Ara katmanlara küçük adapter layer eklenir
BitFit <%0.1 Çok Düşük Orta Sadece bias terimleri güncellenir

2.1 LoRA (Low-Rank Adaptation): Detaylı İnceleme

LoRA, PEFT yöntemleri arasında en popüler ve yaygın kullanılan tekniklerden biridir. Temel prensibi oldukça zekicedir: Modelin tüm parametrelerini güncellemek yerine, düşük rank'lı (low-rank) matrisler ekleyerek adaptasyon sağlamak.

LoRA Nasıl Çalışır?

LoRA'nın matematiksel temeli, matris ayrıştırma (matrix decomposition) prensibine dayanır. Bir ağırlık matrisini güncellemek yerine, iki küçük matrisin çarpımı şeklinde bir güncelleme eklenir. Bu sayede, çok daha az parametreyle etkili bir adaptasyon gerçekleştirilir.

Teknik Detaylar

LoRA, özellikle attention katmanlarına uygulandığında oldukça etkilidir. q_proj, k_proj, v_proj gibi projection matrislerine düşük rank'lı adaptörler eklenir ve sadece bu adaptörler eğitilir.

Örnek: 7B parametreli LLaMA modeli için normal fine-tuning 7 milyar parametreyi güncellerken, LoRA sadece 10-50 milyon parametreyi günceller (yaklaşık %0.1-1).

LoRA Konfigürasyon Parametreleri

LoRA'yı kullanırken dikkat edilmesi gereken birkaç önemli parametre bulunmaktadır:

r (rank): LoRA adaptörünün boyutunu belirler. Tipik değerler 4 ile 64 arasındadır. Daha yüksek r değeri daha fazla kapasiye ama aynı zamanda daha fazla parametre anlamına gelir.

  • r=4: Hafif görevler için, minimum parametre
  • r=8-16: Çoğu uygulama için ideal
Önerilen alpha değeri: lora_alpha = 2 * r veya lora_alpha = 4 * r. Bu oran, güncellemelerin model üzerindeki etkisini kontrol eder.

LoRA'nın Avantajları

LoRA'nın popüler olmasının birçok nedeni vardır. İlk olarak, merge/unmerge desteği sunar. Bu, LoRA adaptörlerini gerektiğinde base modelden ayırabilir veya kalıcı olarak dahil edebilirsiniz anlamına gelir. Bu özellik, aynı base model üzerinde farklı task'lar için farklı adaptörler kullanmanıza olanak tanır.

İkinci olarak, LoRA eğitimi Full Fine-Tuning'e göre çok daha hızlıdır. GPU saatleri ve maliyet açısından önemli tasarruf sağlar. Üçüncü olarak, LoRA'nın performansı Full Fine-Tuning'e oldukça yakındır, çoğu pratik senaryoda fark edilir bir kayıp olmaz.

Parametre Açıklama Önerilen Değer
r Low-rank değeri, LoRA katmanının boyutu 8-16 (genel), 32-64 (karmaşık görevler)
lora_alpha Ölçekleme katsayısı, güncellemelerin etkisi 2*r veya 4*r
target_modules LoRA'nın ekleneceği katmanlar ["q_proj","v_proj"] veya tüm linear
lora_dropout Dropout oranı, overfitting kontrolü 0.05-0.1
bias Bias terimlerinin ele alınması "none" (çoğu durumda)

2.2 QLoRA: Quantized Low-Rank Adaptation

QLoRA, LoRA yönteminin bir evrim geçirmiş versiyonudur. Temel fikir, LoRA'nın avantajlarını korurken, model quantization ile VRAM kullanımını daha da azaltmaktır. Bu sayede, büyük modelleri consumer-grade GPU'larda bile fine-tune etmek mümkün hale gelir.

QLoRA'nın Devrim Yaratan Yaklaşımı

QLoRA'nın temel yeniliği, base modeli 4-bit veya 8-bit'e düşürürken (quantization), LoRA adaptörlerini full precision'da tutmasıdır. Bu hibrit yaklaşım, hem düşük VRAM kullanımı hem de yüksek performans sağlar.

QLoRA ile 7B parametreli bir model, tek bir 24GB VRAM'li GPU'da fine-tune edilebilir. Bu, Full Fine-Tuning için gereken VRAM'in yaklaşık 1/4'ü kadardır.

NF4: QLoRA'nın Gizli Silahı

QLoRA, NormalFloat4 (NF4) adı verilen özel bir 4-bit quantization formatı kullanır. NF4, standart 4-bit quantization yöntemlerinden farklı olarak, floating point değerlerin dağılımını dikkate alarak daha az precision kaybı sağlar.

NF4'ün Avantajları

NF4 formatı, model ağırlıklarının normal dağılıma sahip olduğu varsayımından yola çıkar. Bu sayede, quantization hatası minimize edilir ve model performansı korunur.

NF4 ile quantize edilmiş modeller, full precision modellerle karşılaştırıldığında genellikle sadece %1-2 performans kaybı yaşar.
  • Double quantization: Quantization parametrelerinin kendisinin de quantize edilmesi
  • Paged optimizers: Büyük modeller için memory-efficient optimizer desteği
Özellik LoRA QLoRA
Base Model Precision Full Precision (FP16/BF16) 4-bit NF4
Adapter Precision Full Precision Full Precision
VRAM Kullanımı (7B model) ~28-40GB ~10-15GB
Eğitim Hızı Hızlı Biraz daha yavaş
Performans Kaybı Minimal Çok küçük (%1-2)

QLoRA Kullanımı: Pratik Notlar

QLoRA kullanırken, bitsandbytes kütüphanesinin doğru şekilde kurulması kritik öneme sahiptir. Ayrıca, optimizer olarak paged_adamw_32bit kullanılması önerilir. Bu optimizer, büyük modeller için memory-efficient bir çözüm sunar.


3. Davranışsal Fine-Tuning: Instruction ve Alignment

Modern LLM'lerin gelişiminde son yıllarda devrim yaratan yaklaşım, davranışsal fine-tuning olmuştur. Bu kategori, modelin sadece bilgi edinmesini değil, insan tercihlerine uygun, yardımcı ve zararsız davranışlar sergilemesini hedefler.

Davranışsal Fine-Tuning'in Önemi

ChatGPT, Claude ve benzeri modern asistanların başarısının arkasında, yoğun davranışsal fine-tuning süreçleri yatar. Bu süreçler, modelin teknik bilgisini değil, o bilgiyi nasıl sunduğunu optimize eder.

Davranışsal fine-tuning genellikle RLHF (Reinforcement Learning from Human Feedback) ailesi yöntemlerle gerçekleştirilir.
  • SFT ile model instruction-aware hale gelir
  • DPO/PPO ile insan tercihlerine uygun davranış kazanır

Davranışsal Fine-Tuning Aşamaları

Tipik bir production-grade LLM'in davranışsal fine-tuning süreci genellikle üç aşamadan oluşur. İlk olarak Supervised Fine-Tuning (SFT) ile model konuşabilir hale getirilir. Ardından, Direct Preference Optimization (DPO) veya Proximal Policy Optimization (PPO) ile model daha iyi cevaplar vermeye yönlendirilir. Son olarak, RLHF veya RLAIF ile modelin etik, yardımcı ve zararsız olması sağlanır.

Bu aşamaların her biri, öncekinin üzerine inşa edilir ve modelin davranışını kademeli olarak iyileştirir.

Yöntem Kategori Amaç Veri Tipi
SFT Supervised Instruction-aware model Prompt-Response çiftleri
DPO Preference-based İnsan tercihlerine uyum Sıralanmış yanıtlar
PPO RL-based Ödül fonksiyonu optimizasyonu Reward model feedback
RLAIF AI-Feedback Ölçeklenebilir alignment AI-generated feedback

3.1 SFT: Supervised Fine-Tuning

SFT, davranışsal fine-tuning sürecinin ilk ve belki de en kritik adımıdır. Bu aşamada, base model instruction-aware bir modele dönüştürülür. Yani model, kullanıcı talimatlarını anlayan ve bunlara uygun yanıtlar üretebilen bir asistan haline gelir.

SFT'nin Çalışma Prensibi

SFT, temelde denetimli öğrenme (supervised learning) yaklaşımına dayanır. Model, input-output çiftleriyle eğitilir: Her bir örnek, bir kullanıcı promptu (input) ve buna karşılık gelen ideal yanıt (output) içerir.

Veri Seti Yapısı

SFT için kullanılan veri setleri genellikle şu formattadır:

Prompt: "Python'da liste sıralama nasıl yapılır?" → Response: "Python'da liste sıralamak için sort() metodunu veya sorted() fonksiyonunu kullanabilirsiniz..."

Eğitim Süreci

SFT eğitimi sırasında, model her bir prompt için doğru yanıtı üretmeyi öğrenir. Bu süreç, modelin genel bilgisini korurken, instruction-following yeteneklerini geliştirir.

SFT, base modelin "bilgisini" değil, o bilgiyi nasıl sunacağını öğretir. Örneğin LLaMA gibi bir base model zaten Python bilir, SFT ile bu bilgiyi conversational bir formatta sunmayı öğrenir.

SFT Veri Setleri

Başarılı bir SFT için kaliteli ve çeşitli veri setine ihtiyaç vardır. Alpaca, Dolly, ShareGPT gibi popüler açık kaynak veri setleri bulunmaktadır. Türkçe için de Türkçe-Alpaca gibi community-driven projeler mevcuttur.

  • Alpaca (52K instruction-response çifti, Stanford)
  • Dolly (15K high-quality, Databricks)

SFT'de PEFT Kullanımı

SFT genellikle Full Fine-Tuning veya LoRA/QLoRA ile yapılabilir. PEFT yöntemleri, özellikle sınırlı kaynaklarla çalışırken tercih edilir.

7B model için SFT: Full FT ~40GB VRAM, LoRA ~20GB VRAM, QLoRA ~12GB VRAM gerektirir.

3.2 DPO: Direct Preference Optimization

DPO, RLHF sürecinin basitleştirilmiş ve daha erişilebilir bir versiyonu olarak ortaya çıkmıştır. Temel fikir, insan tercihlerini direkt olarak modelin eğitimine entegre etmektir, ancak PPO gibi karmaşık RL algoritmalarına ihtiyaç duymadan.

DPO Nasıl Çalışır?

DPO'nun çalışma prensibi oldukça zarif bir matematiksel formülasyona dayanır. Model, aynı prompt için iki farklı yanıt arasında hangi yanıtın tercih edildiğini öğrenir ve loss fonksiyonunu bu tercihlere göre optimize eder.

Veri Formatı

DPO için gereken veri seti formatı şu şekildedir:

Prompt: "Sağlıklı beslenme hakkında öneri ver" → Chosen: [Dengeli, bilimsel tavsiyeleri içeren yanıt] → Rejected: [Aşırı veya yanlış bilgi içeren yanıt]

DPO vs RLHF

Geleneksel RLHF, üç aşamalı karmaşık bir süreçtir: SFT → Reward Model Training → PPO Optimization. DPO ise bu süreci tek bir aşamaya indirger. Reward model eğitmeye gerek kalmadan, direkt olarak tercih verisiyle çalışır.

DPO'nun Avantajları

DPO'nun popüler olmasının birkaç önemli nedeni vardır:

  • Daha basit implementasyon: Reward model eğitmeye gerek yok
  • Daha stabil eğitim: PPO'nun hyperparameter hassasiyeti yok
DPO, RLHF'in performansının %90-95'ini, çok daha az compute ve mühendislik karmaşıklığıyla sağlar.

DPO Kullanım Senaryoları

DPO özellikle şu durumlarda idealdir: Chatbot alignment, zararsız ve yardımcı yanıt üretimi, belirli stil veya ton tercihleri için optimizasyon. Örneğin, bir müşteri hizmetleri botu geliştiriyorsanız, DPO ile nazik ve profesyonel ton tercihlerini modele öğretebilirsiniz.


3.3 PPO: Proximal Policy Optimization

PPO, Reinforcement Learning (RL) dünyasından LLM fine-tuning'e adapte edilmiş güçlü bir algoritmadır. OpenAI'nin ChatGPT'sinde kullandığı RLHF sürecinin temel taşlarından biridir.

PPO'nun RL Temelleri

PPO, policy gradient ailesinden bir RL algoritmasıdır. LLM bağlamında, model bir "policy" (politika) olarak düşünülür ve amacı, maksimum reward (ödül) alacak şekilde yanıtlar üretmektir.

Reward Model

PPO'nun çalışması için önce bir reward model eğitilmesi gerekir. Bu model, bir yanıtın ne kadar "iyi" olduğunu skorlayan küçük bir classifier'dır.

Reward model eğitimi: İnsan tercihlerinden oluşan veri setiyle (prompt + chosen + rejected) bir classification modeli eğitilir.

PPO Eğitim Süreci

PPO eğitimi döngüsel bir süreçtir. Model bir prompt alır, yanıt üretir, reward model bu yanıtı skorlar ve model bu skora göre güncellenir. Ancak PPO'nun özel özelliği, güncellemeleri "clipping" mekanizmasıyla sınırlamasıdır.

Clipping Mekanizması

PPO'nun "Proximal" kısmı buradan gelir. Algorithm, policy güncellemelerini bir epsilon aralığıyla sınırlar, böylece modelin aşırı değişmesini ve instabil hale gelmesini engeller.

Clipping sayesinde, PPO hem yüksek performans sağlar hem de eğitim stabilitesini korur. Bu, TRPO gibi eski RL algoritmalarına göre büyük avantajdır.

PPO vs DPO

PPO daha güçlü ve esnek bir yöntem olsa da, implementasyonu daha karmaşıktır. Reward model eğitimi gerektirir, hyperparameter tuning hassastır ve daha fazla compute gerektirir. DPO ise daha basit ve erişilebilir bir alternatif sunar.

Özellik PPO DPO
Reward Model Gereksinimi Evet Hayır
Implementasyon Karmaşıklığı Yüksek Düşük
Compute Gereksinimi Yüksek Orta
Performans Potansiyeli Maksimum Yüksek
Stabilite Orta (clipping ile kontrollü) Yüksek

3.4 RLAIF: Reinforcement Learning from AI Feedback

RLAIF, RLHF'nin ölçeklenebilirlik sorununa getirilen yaratıcı bir çözümdür. Temel fikir basittir: İnsan feedback yerine, başka bir AI modelinden gelen feedback kullanarak RL yapılması.

Neden RLAIF?

İnsan feedback almak pahalı, yavaş ve ölçeklendirmesi zor bir süreçtir. Binlerce örnek için insan annotator'lar bulmak, eğitmek ve yönetmek ciddi maliyet ve zaman gerektirir. RLAIF, bu süreci otomatize ederek bu sorunları aşar.

RLAIF Çalışma Prensibi

RLAIF sürecinde, güçlü bir AI model (örneğin GPT-4 veya Claude) "judge" rolü oynar. Bu model, farklı yanıtları değerlendirir, sıralar ve tercih verisi üretir. Bu veri daha sonra hedef modelin eğitiminde kullanılır.

RLAIF ile, bir gün içinde on binlerce preference örneği üretilebilir. İnsan annotator'larla aynı işlem aylar sürebilir.

RLAIF'in Avantajları

RLAIF'in en büyük avantajı ölçeklenebilirliğidir. İnsan feedback'in binlercesini üretmek yerine, API çağrısıyla sınırsız veri üretebilirsiniz. Ayrıca, consistency de bir avantajdır - AI judge'lar tutarlı kriterler uygular.

  • Maliyet verimliliği: İnsan annotator maliyetlerinden tasarruf
  • Hız: Saatler içinde büyük veri setleri üretimi

RLAIF'in Sınırlamaları

RLAIF'in de bazı dezavantajları vardır. En önemlisi, AI judge'ın kendi bias'larını sisteme taşıması riskidir. Ayrıca, gerçek insan tercihleriyle tam uyum sağlanamayabilir.

En iyi yaklaşım genellikle hybrid bir yöntemdir: RLAIF ile büyük ölçekli veri üretimi + kritik alanlarda insan feedback ile validasyon.

Özet: Hangi Fine-Tuning Yöntemini Seçmeliyim?

Fine-tuning yöntemleri arasında seçim yaparken, görevinizin gereksinimlerini, mevcut kaynaklarınızı ve hedef performansınızı göz önünde bulundurmalısınız.

Eğer sınırlı GPU kaynaklarınız varsa ve hızlı prototipleme yapmak istiyorsanız, QLoRA ile başlayın. Makul performans bekliyorsanız ve biraz daha fazla kaynak ayırabiliyorsanız, LoRA ideal bir seçimdir. Maksimum performans kritikse ve yeterli compute gücünüz varsa, Full Fine-Tuning'i düşünün.

Davranışsal fine-tuning için, önce SFT ile modeli instruction-aware hale getirin. Ardından, kaynaklarınıza göre DPO (basit ve etkili) veya PPO (maksimum performans) ile devam edin. Ölçeklenebilirlik önemliyse, RLAIF'i değerlendirin.

Senaryo Önerilen Yöntem Neden?
Düşük VRAM (<16GB) QLoRA 4-bit quantization ile minimal kaynak
Orta VRAM (16-40GB) LoRA İyi performans/kaynak dengesi
Yüksek VRAM (>40GB) Full Fine-Tuning Maksimum performans
Hızlı prototipleme Prefix/Prompt Tuning En hızlı adaptasyon
Chatbot geliştirme SFT → DPO Basit ve etkili pipeline
Production-grade asistan SFT → PPO/RLHF Maksimum kalite ve alignment

Sonuç olarak, fine-tuning dünyası geniş bir araç seti sunar. Her projenin kendine özgü gereksinimleri vardır ve doğru yöntemi seçmek, başarınızı doğrudan etkiler. Bu rehberde ele aldığımız yöntemler, modern LLM geliştirmede en sık kullanılan ve kanıtlanmış tekniklerdir. Kendi projenizde denemeler yaparak, hangi kombinasyonun sizin için en iyi çalıştığını keşfedebilirsiniz.


LLM Fine-Tuning Yaşam Döngüsü: Baştan Sona Süreç

Bir LLM projesini başarıyla hayata geçirmek, sadece doğru fine-tuning yöntemini seçmekten ibaret değildir. Tüm sürecin sistematik ve stratejik bir şekilde planlanması gerekir. LLM fine-tuning yaşam döngüsü, proje başlangıcından production'a kadar geçen tüm aşamaları kapsar.

Bu bölümde, gerçek dünya LLM projelerinde izlenen adım adım süreci detaylı şekilde inceleyeceğiz. Her aşamanın kritik karar noktalarını, best practice'lerini ve dikkat edilmesi gereken hususları ele alacağız.

1. Base Model Seçimi: Temeli Doğru Atmak

Fine-tuning sürecinin ilk ve belki de en stratejik kararı, doğru base model seçimidir. Bu seçim, projenizin geri kalanını doğrudan etkiler: maliyet, performans, eğitim süresi ve deployment kolaylığı gibi faktörlerin hepsi bu aşamada belirlenir.

Model Seçim Kriterleri

Base model seçerken göz önünde bulundurmanız gereken birkaç kritik faktör vardır:

Model Boyutu: 7B, 13B, 34B, 70B gibi farklı boyutlardaki modeller arasında seçim yaparken, görevinizin karmaşıklığı ile mevcut compute kaynaklarınızı dengelemelisiniz. Genelde, daha büyük modeller daha iyi performans gösterir ancak daha fazla kaynak gerektirir.

Genel kural: Basit task'lar için 7B, orta karmaşıklık için 13B, karmaşık reasoning için 34B+ modeller tercih edilir.

Model Ailesi: LLaMA, Mistral, Falcon, GPT-NeoX gibi farklı model ailelerinin kendine özgü güçlü yönleri vardır. LLaMA modelleri genelde iyi all-around performans sunar, Mistral daha kompakt ama güçlüdür, Falcon ise specific domain'lerde öne çıkar.

Lisans ve Kullanım Hakları: Ticari kullanım planlıyorsanız, model lisansını mutlaka kontrol edin. Bazı modeller sadece araştırma amaçlı kullanılabilir.

  • Açık lisans modeller: LLaMA 2, Mistral, Falcon
  • Ticari kısıtlı: Bazı LLaMA varyantları, GPT-J bazı versiyonları

Popüler Base Model Seçenekleri

Model Ailesi Boyut Seçenekleri Güçlü Yanları İdeal Kullanım
LLaMA 2/3 7B, 13B, 70B Genel performans, geniş topluluk desteği Genel amaçlı chatbot, çoğu NLP task
Mistral 7B, Mixtral 8x7B Kompakt ama güçlü, hızlı inference Production sistemler, resource-efficient
Falcon 7B, 40B, 180B Çok dilli, teknik content Multi-lingual projeler, domain-specific
Phi 2.7B, 3.5B Çok küçük, hızlı Edge devices, mobile, low-latency
Pratik tavsiye: İlk denemeleriniz için 7B model ile başlayın. Performans yeterli değilse 13B'ye geçin. Çoğu use case için 7B veya 13B yeterlidir.

2. Veri Hazırlığı: Kalite Her Şeydir

Fine-tuning'in başarısı, kullandığınız verinin kalitesiyle doğru orantılıdır. "Garbage in, garbage out" prensibi burada tam anlamıyla geçerlidir. İyi hazırlanmış, temiz ve representatif bir veri seti, orta kalite bir modeli bile mükemmel sonuçlara taşıyabilir.

SFT İçin Veri Hazırlığı

Supervised Fine-Tuning için veri hazırlarken, her örneğiniz bir input-output çifti olmalıdır. Bu çiftler, modelin öğrenmesini istediğiniz davranışı net şekilde göstermelidir.

Veri formatı standartları: Çoğu fine-tuning framework, JSON veya JSONL formatında veri bekler. Her satır bir örnek içerir:

{"instruction": "Python'da string tersine çevirme", "input": "", "output": "Python'da string'i tersine çevirmek için [::-1] slice notation kullanabilirsiniz..."}

Veri çeşitliliği: Veri setiniz, hedef kullanım senaryolarınızı geniş şekilde kapsamalıdır. Tek tip örneklerle eğitilmiş model, benzer durumlarda iyi çalışır ama edge case'lerde başarısız olabilir.

Davranışsal Fine-Tuning İçin Veri

DPO, PPO gibi yöntemler için farklı veri formatları gerekir. Burada, model çıktılarının tercih sıralaması kritik öneme sahiptir.

Preference data formatı:

{"prompt": "...", "chosen": "İyi yanıt örneği", "rejected": "Daha az tercih edilen yanıt"}

İnsan vs AI feedback: İnsan feedback'i daha güvenilir ama maliyetli ve yavaştır. AI feedback (RLAIF) ile hızlı ölçekleme mümkündür ancak bias riski vardır.

Veri Temizleme ve Preprocessing

Ham veriyi fine-tuning'e hazırlamak için birkaç kritik adım vardır:

  • Deduplication: Tekrarlayan örnekler modeli bias eder ve overfit'e neden olur
  • Formatting: Tutarlı format, tokenization sorunlarını önler
  • Quality filtering: Düşük kaliteli, hatalı veya irrelevant örnekleri çıkarın
  • Tokenization check: Çok uzun örnekler model context limitini aşabilir
Veri miktarı: SFT için minimum 1000-5000 kaliteli örnek hedefleyin. Daha az veriyle de çalışabilir ama performans düşebilir. DPO için 5000-10000 preference pair ideal.

3. Fine-Tuning Yaklaşımı Seçimi: Stratejik Karar

Bu aşamada, daha önce detaylı incelediğimiz fine-tuning yöntemlerinden birini (veya kombinasyonunu) seçmeniz gerekir. Karar, kaynaklarınıza, zaman kısıtınıza ve hedef performansa bağlıdır.

Hibrit Yaklaşımlar

Gerçek dünya projelerinde genellikle tek bir yöntem kullanılmaz. En yaygın pattern şudur:

SFT (LoRA/QLoRA ile) → DPO/PPO → Production deployment

Bu pipeline, modeli önce task-aware hale getirir, sonra davranışsal olarak optimize eder.

4. Model Eğitimi: İdeal Konfigürasyon

Eğitim aşaması, tüm hazırlıkların sonucunu aldığınız kritik aşamadır. Doğru hyperparameter seçimi ve monitoring, başarıyı belirler.

Temel Eğitim Parametreleri

Parametre Önerilen Değer Etki
Learning Rate 2e-5 (Full FT), 3e-4 (PEFT) Çok yüksek: instability, çok düşük: yavaş öğrenme
Batch Size 4-16 (VRAM'e göre) Yüksek: stabil gradient, düşük: daha fazla update
Epochs 3-5 Çok fazla: overfit riski
Warmup Steps 100-500 İlk adımlarda LR'yi yavaşça artırır
Weight Decay 0.01-0.1 Regularization, overfit kontrolü

Monitoring ve Checkpointing

Eğitim sırasında loss, perplexity ve validation metrics'i sürekli izleyin. Her N adımda checkpoint alarak, ihtiyaç halinde geri dönebileceğiniz restore point'ler oluşturun.

Best practice: Her 500-1000 step'te checkpoint alın, validation loss artmaya başlarsa early stopping uygulayın.

5. Değerlendirme & Validation: Objektif Ölçüm

Model eğitiminden sonra, performansı objektif şekilde ölçmek kritiktir. Subjektif "iyi görünüyor" değerlendirmesi yeterli değildir.

Otomatik Metrikler

NLP task'ları için standart metrikler kullanılabilir: BLEU, ROUGE, perplexity, accuracy. Ancak bunlar her zaman insan tercihiyle uyumlu olmayabilir.

İnsan Değerlendirmesi

En güvenilir değerlendirme yöntemi, insan feedback'idir. A/B test yaparak, farklı model versiyonlarını karşılaştırın.

  • Blind test: Değerlendiriciler hangi modelin hangisi olduğunu bilmez
  • Pairwise comparison: İki model çıktısını karşılaştırma
  • Likert scale rating: 1-5 arası skorlama

6. Merge / Adapter Yönetimi: PEFT Sonrası

PEFT yöntemleri kullandıysanız, deployment öncesi adapter'ları yönetmeniz gerekir.

Merge vs. Separate Adapters

Merge: LoRA/QLoRA adaptörlerini base model ile birleştirirsiniz. Sonuç tek bir model olur, inference daha hızlıdır.

Merge komutu (PEFT library): model.merge_and_unload()

Separate: Adapter'ları ayrı tutar, birden fazla task için aynı base model kullanabilirsiniz. Daha esnek ama inference biraz daha yavaştır.

7. Deployment / Inference: Production'a Alma

Model hazır, şimdi kullanıcılara sunma zamanı. Deployment stratejiniz, kullanım senaryonuza göre değişir.

Deployment Seçenekleri

Inference Optimizasyonu

Production'da hız kritiktir. Birkaç optimizasyon tekniği:

- Quantization (8-bit, 4-bit inference)
- Flash Attention kullanımı
- Batch inference (mümkünse)
- KV cache optimization

8. Sürekli Güncelleme / Iterasyon: Yaşayan Sistem

Deployment son adım değil, aslında başlangıçtır. Production'daki gerçek kullanıcı feedback'i, modelinizi sürekli iyileştirmenize olanak tanır.

Feedback Loop Oluşturma

Kullanıcılardan gelen feedback'i sistematik şekilde toplayın. Thumbs up/down, explicit feedback formları, implicit signals (conversation length, user satisfaction).

Iteratif İyileştirme

PEFT yöntemlerinin büyük avantajı burada ortaya çıkar: Hızlı iterasyon. Yeni feedback verileriyle, yeni bir LoRA adapter eğitip production'a alabilirsiniz.

Tipik iterasyon cycle: 2-4 haftada bir yeni fine-tuning, A/B test, rollout.

Yaşam Döngüsü Özeti: Görsel Akış

LLM fine-tuning yaşam döngüsünü özetlersek:

Aşama Süre (Ortalama) Kritik Kararlar
1. Base Model Seçimi 1-3 gün Model boyutu, lisans, compute budget
2. Veri Hazırlığı 1-4 hafta Veri kalitesi, miktar, format
3. Yaklaşım Seçimi 1-2 gün Full FT vs PEFT, SFT vs RL
4. Model Eğitimi Saatler - günler Hyperparameters, early stopping
5. Değerlendirme 3-7 gün Metrikler, insan eval, threshold
6. Merge/Adapter Yönetimi 1 gün Merge vs separate, versioning
7. Deployment 2-5 gün Infrastructure, optimization, monitoring
8. Iterasyon Sürekli (2-4 hafta cycle) Feedback collection, re-training triggers

Bu yaşam döngüsü, başarılı bir LLM fine-tuning projesinin temel iskeletini oluşturur. Her aşamada doğru kararlar almak ve sistematik ilerleme kaydetmek, kaliteli sonuçlara ulaşmanın anahtarıdır. Fine-tuning bir kerelik bir işlem değil, sürekli iyileştirme gerektiren iteratif bir süreçtir.