school SFT Nasıl Çalışır?
SFT teknik olarak standart dil modeli eğitimidir; fark yalnızca veri formatında ve kayıp maskesindedir. Veri formatı: Her örnek bir sistem istemi, bir kullanıcı isteği ve bir asistan yanıtından oluşur. Örnek: "<|system|>Sen yardımsever bir asistansın.<|user|>Python'da liste sıralaması nasıl yapılır?<|assistant|>Python'da listeyi sıralamak için list.sort() veya sorted() kullanabilirsiniz...". Kayıp maskesi: Model tüm sekansı işler ama yalnızca yanıt tokenlerinin kaybı geriye yayılır. Bu, modelin talimat formatını değil yalnızca kaliteli yanıt üretmeyi öğrenmesini sağlar. Öğrenme hızı: SFT genellikle ön eğitime kıyasla çok daha düşük öğrenme hızı (1e-5 — 5e-6) kullanır; aksi takdirde model önceki yeteneklerini unutur (catastrophic forgetting).
SFT Veri Kalitesi vs Miktarı
person İnsan Yazımı (Yüksek Kalite)
InstructGPT ve ChatGPT: Uzman yazarlar tarafından üretilen birkaç on bin örnek. Pahalı ama en yüksek kaliteli sinyal.
auto_awesome Güçlü LLM Distilasyonu
Alpaca (GPT-3.5), Vicuna (ChatGPT), WizardLM (GPT-4). GPT-4 üretimi veri, insan yazımına yakın kalite sunar ve çok daha ucuzdur.
folder_open Açık Veri Kümeleri
Open-Hermes, ShareGPT, FLAN, Dolly. Hızlı ve ücretsiz; kalite tutarsız olabilir. Kapasite sınırı olan modeller için yeterli.
filter_alt Veri Filtreleme
Az ama kaliteli veri, çok ama düşük kaliteli veriden üstündür. LIMA çalışması yalnızca 1000 örneğin yeterli olabileceğini gösterdi.
checklist SFT Uygulama Adımları
- check_circle Temel Model Seçimi: SFT için Llama 3, Mistral veya Qwen gibi güçlü bir pretrained model başlangıç noktası olarak seçilir. Temel modelin kalitesi SFT sonucunu doğrudan etkiler.
- check_circle Veri Hazırlama: İstek-yanıt çiftleri chat template formatına dönüştürülür. Yanıt tokenlerine kayıp maskesi uygulanır. Veri kalitesi kontrol edilir (kısa yanıtlar, tekrar eden örüntüler filtrelenir).
- check_circle Eğitim Konfigürasyonu: Düşük öğrenme hızı (1e-5), 1-3 epoch, ağırlık çürümesi ve öğrenme hızı planlayıcısı (cosine decay) tipik yapılandırmalardır.
- check_circle Değerlendirme: MT-Bench, AlpacaEval veya harici LLM değerlendirmesi ile talimat izleme kalitesi ölçülür. Kıyaslama modeli olarak sıklıkla GPT-4 kullanılır.
quiz Sıkça Sorulan Sorular
- check_circle SFT vs fine-tuning farkı nedir?: Fine-tuning genel bir terimdir; belirli bir alanda modeli uyarlamak için yapılan tüm ek eğitimleri kapsar. SFT, özellikle talimat izleme için (istek, yanıt) çiftleri kullanılan fine-tuning türüdür. Diğer fine-tuning türleri: domain adaptasyon fine-tuning, LoRA fine-tuning, vs.
- check_circle Kaç örnek yeterlidir?: LIMA çalışması 1000, InstructGPT ise ~13.000 yüksek kaliteli örnek kullandı. Genel tavsiye: Geniş görev yelpazesi için 10K–100K arası, dar alan uygulamaları için 1K–10K yeterlidir. Kalite miktardan önemlidir.
- check_circle SFT catastrophic forgetting'e yol açar mı?: Yüksek öğrenme hızı veya çok fazla epoch durumunda evet. Bu nedenle SFT'de düşük öğrenme hızı ve az epoch kullanılır. LoRA gibi parametre verimli yöntemler catastrophic forgetting'i önemli ölçüde azaltır.