model_training Instruction Tuning Nasıl Çalışır?
Veri seti; (talimat, isteğe bağlı giriş, beklenen çıktı) üçlülerinden oluşur. Model, bu çiftler üzerinde denetimli öğrenmeyle (cross-entropy loss) eğitilir. Temel fark: veri seti tekil görev değil, yüzlerce farklı görev türü içerir. Görev çeşitliliği, modelin yeni talimatları genelleştirme yeteneğini artırır.
Önemli Çalışmalar
science FLAN (Google, 2021)
İlk büyük ölçekli instruction tuning çalışması. 60+ görev üzerinde eğitilmiş T5; zero-shot performansı dramatik biçimde arttı.
school Alpaca (Stanford, 2023)
GPT-3.5 ile üretilmiş 52K talimat örneği. LLaMA 7B'yi instruction-following modele dönüştürdü; açık kaynak instruction tuning'i demokratikleştirdi.
compress LIMA (Meta, 2023)
Yalnızca 1000 yüksek kaliteli örnek yeterli olabilir hipotezi. 'Az ama kaliteli veri' yaklaşımını kanıtladı.
Instruction Tuning'in Temel Adımları ve Veri Yapısı
- check_circle Talimat Veri Seti Hazırlığı: Görev açıklaması (instruction), isteğe bağlı giriş (input) ve beklenen çıkış (output) üçlüsünden oluşan veri setinin oluşturulması. FLAN, Alpaca ve ShareGPT popüler veri setleri.
- check_circle Görev Çeşitliliği: Özetleme, çeviri, soru cevap, kod üretimi ve sınıflandırma gibi geniş görev yelpazesinde ince ayar yapılması. Çok görevli ince ayar genel komut takibini güçlendirir.
- check_circle Format Tutarlılığı: Şablon tabanlı veri formatı (ALPACA: `Instruction:... Input:... Response:`) modelin soru ile cevap yapısını ayırt etmesini kolaylaştırır. Chat modelleri için rollerle (user/assistant) yapılandırılmış format kullanılır.
- check_circle Self-Instruct: LLM'in kendi talimat örnekleri oluşturduğu bootstrap yaklaşımı (Wang et al., 2022). Pahalı insan etiketlemesi olmadan büyük instruction veri setleri üretmeyi mümkün kılar.
- check_circle LoRA ile Verimli İnce Ayar: Tüm model ağırlıkları yerine düşük boyutlu adaptör matrislerinin güncellenmesi. %90 daha az eğitilebilir parametre ile instruction tuning kalitesini korur.
- check_circle RLHF ile Birleştirme: Instruction tuning sıklıkla RLHF öncesi adım olarak kullanılır. Temel modeli komut takipçisi haline getirdikten sonra RLHF ile güvenlik ve hizalamayı iyileştirir.
Instruction Tuning'in LLM Tarihindeki Yeri ve Etkileri
Instruction tuning, ham ön eğitim modelini sohbet asistanına dönüştüren kritik adımdır. Ön eğitim modeli (base model) devasa metin külliyatından dil istatistiklerini öğrenir ancak talimat takibinde yetersizdir: 'Paris'in başkenti nedir?' sorusuna ardından devam eden metin üretebilir ama doğrudan 'Paris' yanıtını vermeyebilir. Instruction tuning bu boşluğu kapatır. 2021-2022'deki dönüm noktaları: Google'ın FLAN modeli 62 farklı NLP görevinde instruction tuning ile sıfır-atış (zero-shot) performansını dramatik biçimde artırdı. Stanford Alpaca, GPT-3.5 çıktılarından üretilen 52.000 instruction örneğiyle LLaMA'yı düşük maliyetle komut asistanına çevirdi. Açık kaynaklı ekosistemin gelişmesinde: Vicuna, WizardLM, OpenHermes gibi açık kaynaklı instruction-tuned modeller büyük ölçüde bu yöntemle eğitilmiştir. Türkçe instruction tuning: Hugging Face'de Türkçe instruction veri setleri mevcuttur; bunları kullanarak Mistral veya LLaMA tabanlı Türkçe asistan modelleri oluşturulabilir. Unsloth + LoRA kombinasyonu tüketici GPU'larında bu süreci uygulanabilir kılar.
quiz Sık Sorulan Sorular
- check_circle RLHF veya DPO ile farkı?: Instruction tuning görev takibini öğretir. RLHF/DPO ise insan tercihlerine göre yanıt kalitesini iyileştirir. Genellikle instruction tuning sonrası uygulanır.
- check_circle Kendi modelimi nasıl fine-tune ederim?: HuggingFace TRL kütüphanesi SFTTrainer ile instruction tuning yapar. Unsloth ile bellek ve hız optimize edilir. Alpaca formatındaki veri seti yeterlidir.
- check_circle Kaç örnek gerekir?: Görev başına en az birkaç örnek; genel instruction following için 1K-100K arası. Kalite miktardan önemlidir; LIMA 1000 örnekle rekabetçi sonuç elde etmiştir.
- check_circle Instruction tuning nedir?: Ön eğitimli dil modelinin talimat-yanıt çiftleri içeren veri setiyle ince ayarlanmasıdır. Modeli genel metin tamamlayıcısından kullanıcı talimatlarını anlayıp uygulayan asistana dönüştürür.
- check_circle Instruction tuning ile RLHF arasındaki fark nedir?: Instruction tuning denetimli öğrenmeyle komut-yanıt formatını öğretir. RLHF insan tercih sinyalini ödül modeli aracılığıyla kullanarak modeli hizalar. Çoğu asistan modeli önce instruction tuning, sonra RLHF uygular.
- check_circle Kendi instruction tuning veri setimi nasıl hazırlarım?: Her örnek instruction (görev açıklaması), isteğe bağlı input ve output alanlarından oluşur. Görev çeşitliliği önemlidir. Self-Instruct yöntemiyle mevcut LLM'den otomatik veri üretilebilir; insan kalite kontrolü önerilir.
- check_circle Instruction tuning için ne kadar veri gerekir?: Stanford Alpaca 52K örnekle çarpıcı sonuç elde etti. Kaliteli ve çeşitli 1.000-10.000 örnek bile belirli görevler için etkili olabilir. Miktar kadar kalite önemlidir; az ama iyi veri zayıf büyük veri setinden üstün olabilir.