SFT (Supervised Fine-Tuning (Denetimli İnce Ayar))

SFT, pretrained bir LLM'yi yüksek kaliteli (istek, yanıt) çiftleriyle eğiterek talimat izleme yeteneği kazandıran denetimli ince ayar sürecidir.

SFT (Supervised Fine-Tuning — Denetimli İnce Ayar), önceden eğitilmiş (pretrained) bir dil modelinin, yüksek kaliteli (istek, yanıt) çiftlerinden oluşan bir veri kümesiyle talimat izleme yeteneği kazandırmak amacıyla ek eğitime tabi tutulması sürecidir. RLHF boru hattının ilk hizalama adımını oluşturur ve GPT-4, Claude, Llama-2-Chat gibi modellerin temelinde yer alır. Ön eğitim (pretraining) sırasında model yalnızca sonraki kelimeyi tahmin etmeyi öğrenir; bu model herhangi bir talimatı takip edemez. SFT aşamasında model, 'Bu metni özetle → Metin: ... → Özet: ...' biçimindeki çiftlerle eğitilir. Standart dil modellemesi kaybı (cross-entropy) kullanılır; ancak yalnızca yanıt tokenleri için kayıp hesaplanır — istek tokenleri maskelenir. Bu maskeleme ile model yanıt üretmeyi öğrenir, isteği yinelemez. SFT veri kümesinin kalitesi, miktarından çok daha kritiktir. InstructGPT'de OpenAI, yalnızca birkaç on bin örneğin yeterli olduğunu göstermiştir. Alpaca projesinde 52.000 GPT-4 üretimi sentetik örnek kullanılmış; bu, insan yazımı veriyle kıyaslanabilir sonuçlar vermiştir. Modern yaklaşımlar büyük LLM'lerle sentetik veri üretimini ve filtrelemesini içerir. SFT araçları açısından Axolotl ve Unsloth, LoRA/QLoRA ile tüketici GPU'larında verimli fine-tuning yapılmasına imkân tanır; Hugging Face TRL kütüphanesi SFTTrainer sınıfı aracılığıyla süreci standartlaştırır. Tek bir RTX 4090 üzerinde 7B modelin LoRA ile SFT eğitimi saatler içinde tamamlanabilir. SFT, DPO veya RLHF öncesinde zorunlu temel adımdır; bazı durumlarda SFT tek başına yeterince iyi chat modelleri üretmektedir. Llama ve Mistral tabanlı topluluk modellerinin büyük çoğunluğu yalnızca SFT ile oluşturulmaktadır. Chat GPT'nin ilk sürümleri dahil birçok öncü model, SFT'nin şaşırtıcı derecede güçlü bir hizalama tekniği olduğunu kanıtlamıştır. Verinin çeşitliliği — kodlama, çeviri, özetleme, soru-cevap, çok adımlı akıl yürütme — modelin genel talimat izleme kapasitesini genişletir. Tek alan veriyle SFT, modelin diğer alanlardaki performansını düşürebilir (catastrophic forgetting); bu nedenle genel amaçlı fine-tuning'de veri çeşitliliği vazgeçilmezdir.

school SFT Nasıl Çalışır?

SFT, pretraining'den sonra gelen ilk hizalama adımıdır. Model, (istek, yanıt) çiftleri üzerinde standart dil modellemesi kaybıyla eğitilir; ancak yalnızca yanıt tokenleri için kayıp hesaplanır. İstek tokenleri maskelenir — bu sayede model yanıt üretmeyi öğrenir, isteği tekrar etmeyi değil. Eğitim genellikle birkaç epoch sürer ve öğrenme hızı pretrain aşamasına göre çok daha küçük tutulur (örn. 1e-5 ile 5e-5 arası). SFT tamamlandıktan sonra ortaya çıkan model 'SFT modeli' veya 'instruct modeli' olarak adlandırılır ve RLHF boru hattında ödül modeli ile PPO aşamaları için başlangıç noktası görevi görür.

dataset SFT Veri Kalitesi ve Miktarı

SFT veri kümesinin kalitesi miktarından daha belirleyicidir. InstructGPT araştırması, 10.000-50.000 yüksek kaliteli örneğin büyük ölçekli eğitimden daha etkili olabildiğini ortaya koymuştur. Alpaca (52K GPT-3.5 sentetik örnek) ve Vicuna (ShareGPT sohbet verisi) bu önemin somut kanıtlarıdır. Modern yaklaşımlar: (1) GPT-4 veya Claude ile sentetik veri üretimi, (2) Magpie ve Evol-Instruct gibi çeşitlendirme yöntemleri, (3) kalite filtresi için IFD (Instruction Following Difficulty) skoru hesaplama. Kötü veri az veriyle daha zararlıdır; garbage-in, garbage-out prensibi SFT'de diğer aşamalara göre daha kritiktir.

build SFT Araçları ve Pratik Uygulama

  • check_circle Hugging Face TRL — SFTTrainer: En yaygın SFT kütüphanesi. PEFT/LoRA entegrasyonu, dataset formatting ve gradient checkpointing desteği. `SFTTrainer(model, dataset, peft_config=lora_config)` ile başlangıç.
  • check_circle Axolotl: YAML konfigürasyonla tam fine-tuning, LoRA, QLoRA ve FSDP desteği. Multi-GPU dağıtık eğitim için popüler. Topluluk SFT projeleri için standart araç.
  • check_circle Unsloth: 2-5× daha hızlı SFT için optimize edilmiş Triton çekirdekleri. Aynı VRAM ile daha büyük batch boyutu. Tek GPU kullanıcıları için en verimli seçenek.
  • check_circle LLaMA-Factory: 100+ model mimarisini destekleyen kapsamlı fine-tuning çerçevesi. Web arayüzü ve CLI seçeneği. DPO ve RLHF de dahil tüm hizalama yöntemlerini kapsar.

compare SFT vs DPO: Ne Zaman Hangisi?

  • check_circle SFT — Temel Talimat İzleme: Pretraining sonrası zorunlu ilk adım. Model henüz talimat formatını bilmiyorsa SFT şarttır. Kapalı model üreticileri (OpenAI, Anthropic) bu aşamadan geçer.
  • check_circle DPO — Tercih Hizalaması: SFT modeli üzerine uygulanan tercih optimizasyonu. Ödül modeli ve PPO döngüsü gerektirmez. SFT'nin yerini almaz; üzerine inşa edilir.
  • check_circle SFT Tek Başına: Birçok açık kaynak model yalnızca SFT ile tatmin edici sonuç verir. Alpaca, Vicuna, OpenHermes bu yaklaşımla üretildi. DPO/RLHF için kaynak yoksa SFT yeterli başlangıç noktasıdır.

quiz Sık Sorulan Sorular

  • check_circle SFT için kaç örnek yeterli?: Kaliteye bağlı olarak 1.000-100.000 arası. InstructGPT 13K insan yazımı örnekle başladı. Kötü veri fazlası iyi veriden daha zararlıdır; 1.000 mükemmel örnek 100K ortalama örnekten iyidir.
  • check_circle SFT ile full fine-tuning arasındaki fark nedir?: SFT, modelin tüm parametrelerini güncelleyebilir (full fine-tuning) veya yalnızca küçük adaptasyon matrislerini (LoRA/QLoRA). Full SFT daha yüksek performans ama daha fazla bellek gerektirir.
  • check_circle Hangi model boyutu için SFT yapmalıyım?: 7B model tek RTX 4090'da QLoRA ile eğitilebilir. 13B için iki GPU veya A100 tercih edilir. 70B+ için çok GPU FSDP/DeepSpeed gerekir. Unsloth ile VRAM tüketimi yarıya düşürülebilir.
  • check_circle SFT dataseti nereden bulabilirim?: Hugging Face Hub'da: Alpaca, ShareGPT, OpenHermes-2.5, Orca-Math, Magpie-Pro. Türkçe için: alpaca-tr, bactrian-x (TR alt kümesi). Kendi alanınız için GPT-4 ile sentetik üretim en etkili yöntemdir.
  • check_circle SFT tamamlandıktan sonra ne yapılır?: İki seçenek: (1) SFT modeli direkt yayınlanır (çoğu açık kaynak projesinde böyle). (2) RLHF için devam edilir: SFT modeli → Ödül Modeli eğitimi → PPO veya DPO ile hizalama.