history Prefix-Tuning Nasıl Ortaya Çıktı?
GPT-3'ün 2020'de yayımlanmasıyla birlikte devasa modelleri her görev için ayrı ayrı ince ayarlamanın maliyeti ciddi bir sorun haline geldi. Her görev için tam model kopyası saklamak yüzlerce gigabayt depolama ve pahalı GPU süresi gerektiriyordu. Elle yazılan istemler (prompt) bu maliyeti sıfıra indiriyor ama sonuçlar istemin kelime seçimine aşırı duyarlı kalıyordu. Xiang Lisa Li ve Percy Liang, 2021 başında yayımladıkları makalede iki dünyanın arasını bulan bir yol önerdi: istem fikrini korumak, ancak istemi kelimelerle değil doğrudan gradyanla öğrenilen sürekli vektörlerle ifade etmek. GPT-2 ile tablodan metne üretim, BART ile XSum özetleme görevlerinde test edilen yöntem, parametrelerin binde birini eğiterek tam ince ayarla yarışan sonuçlar verdi ve PEFT alanının ilk temel çalışmalarından biri oldu.
settings Çalışma Prensibi
Transformer'ın her katmanında dikkat mekanizması sorgu (query), anahtar (key) ve değer (value) matrisleriyle çalışır. Prefix-Tuning, her katmandaki anahtar ve değer dizilerinin önüne sabit uzunlukta (örneğin 10 ila 200 sanal token) öğrenilebilir vektörler ekler. Gerçek girdi tokenleri bu öneklere dikkat edebilir, dolayısıyla prefix modelin bağlamı nasıl yorumlayacağını her katmanda şekillendirir. Eğitim sırasında yalnızca bu vektörler güncellenir; kayıp fonksiyonu görev verisi üzerinden hesaplanır ve gradyan model ağırlıklarından geçerek prefixe ulaşır, ama ağırlıkların kendisi değişmez. Li ve Liang, prefixi doğrudan optimize etmenin eğitimi kararsız hale getirdiğini gözlemledi; bu yüzden vektörler daha küçük bir matris ve bir MLP üzerinden yeniden parametrelendirilir. Eğitim bittiğinde MLP atılır, yalnızca hesaplanmış prefix saklanır. Çıkarım aşamasında prefix, Hugging Face'teki past_key_values mekanizmasına benzer biçimde önbelleğe eklenir ve ek gecikme çok düşük kalır.
compare_arrows Diğer PEFT Yöntemleriyle Karşılaştırma
- check_circle Prompt Tuning: Lester ve arkadaşlarının yöntemi sanal tokenleri yalnızca giriş gömme katmanına ekler. Prefix-Tuning ise her katmana müdahale ettiği için özellikle orta boy modellerde daha güçlü kontrol sunar; çok büyük modellerde aradaki fark kapanır.
- check_circle P-Tuning v2: Prefix-Tuning'in sınıflandırma ve dizi etiketleme gibi anlama görevlerine uyarlanmış hali. Yeniden parametrelendirmeyi kaldırır, tüm katmanlara derin istem ekler ve NLU görevlerinde tam ince ayara yaklaşır.
- check_circle LoRA: Ağırlık matrislerine düşük rankli A×B güncellemesi ekler ve çıkarımda ana ağırlıklarla birleştirilebilir; bağlam penceresinden yer almaz. Prefix-Tuning dikkat girişini biçimlendirir ve sanal tokenler kadar bağlam kapasitesi harcar.
- check_circle Adapter: Transformer katmanları arasına küçük darboğaz modülleri ekler; ek katman derinliği çıkarım gecikmesini artırır. Prefix-Tuning yeni modül eklemez, mevcut dikkat hesabına vektör katar.
- check_circle Tam İnce Ayar: Tüm parametreler güncellenir, her görev için model kopyası gerekir ve az veriyle aşırı öğrenme riski artar. Prefix-Tuning düşük veri rejiminde daha iyi genelleme yapar ve depolama maliyetini binde bire indirir.
Uygulama Alanları
summarize Metin Özetleme
BART ve T5 tabanlı modellerde haber, rapor ve makale özetleme için görev başına ayrı prefix eğitilir; temel model değişmez.
table_chart Tablodan Metne Üretim
Yapılandırılmış verilerden (E2E, WebNLG, DART) doğal dil açıklaması üretme, yöntemin ilk test edildiği ve güçlü olduğu alandır.
hub Çok Görevli Servis
Tek model örneği bellekte tutulur, gelen isteğin türüne göre ilgili prefix yüklenir; kurum içi onlarca görev tek GPU'da servis edilebilir.
dataset Düşük Veri ve Alan Uyarlaması
Birkaç yüz örnekle yeni bir alana uyum sağlanır; eğitimde görülmemiş konulara genelleme tam ince ayardan daha iyi olabilir.
person Kişiselleştirme
Kullanıcı veya müşteri başına ayrı prefix eğitilerek üslup ve tercih uyarlaması yapılır; her kullanıcı için model kopyası gerekmez.
tune Hiperparametreler ve Pratik İpuçları
Prefix uzunluğu en belirleyici hiperparametredir. Li ve Liang özetleme için yaklaşık 200, tablodan metne üretim için yaklaşık 10 sanal tokenin yeterli olduğunu raporladı; uzunluk arttıkça performans önce yükselir, sonra plato yapar ve bağlam penceresinden çalınan yer artar. Öğrenme oranı tam ince ayara göre daha yüksek tutulur, çünkü eğitilen parametre sayısı azdır ve sinyal yalnızca prefixe akar. Yeniden parametrelendirme MLP'si özellikle küçük modellerde kararlılık için önerilir; Hugging Face PEFT kütüphanesinde bu seçenek prefix_projection parametresiyle açılır, sanal token sayısı ise num_virtual_tokens ile belirlenir. Eğitim sonrasında yalnızca prefix ağırlıkları kaydedilir; dosya boyutu tipik olarak birkaç megabayttır. Prefix bağlamdan yer kapladığı için uzun belge görevlerinde toplam token bütçesi hesaplanmalı ve gerekirse LoRA gibi bağlam tüketmeyen bir yöntemle karşılaştırma yapılmalıdır.
balance Avantajlar ve Sınırlılıklar
- check_circle Depolama Verimliliği: Görev başına saklanan veri model boyutunun binde biri düzeyindedir; yüzlerce görev tek diskte tutulabilir.
- check_circle Modüler Dağıtım: Prefixler çalışma zamanında değiştirilebilir, tek temel model paylaşılır ve toplu çıkarımda farklı görevler aynı yığında işlenebilir.
- check_circle Düşük Veride Genelleme: Az örnekle eğitimde tam ince ayara göre daha az aşırı öğrenme gözlenir; görülmemiş konulara aktarım güçlüdür.
- check_circle Bağlam Maliyeti: Prefix sanal token olarak bağlam penceresinden yer alır; uzun girdi gerektiren görevlerde kullanılabilir alan azalır.
- check_circle Eğitim Kararsızlığı: Prefix doğrudan optimize edildiğinde eğitim dalgalanabilir; yeniden parametrelendirme ve dikkatli öğrenme oranı seçimi gerekir.
- check_circle Model Boyutu Etkisi: Küçük ve orta modellerde yöntemler arasındaki fark belirgindir; on milyarlarca parametreli modellerde Prompt Tuning ile fark küçülür.
help Sık Sorulan Sorular
- check_circle Prefix-Tuning ile Prompt Tuning arasındaki fark nedir? Her iki yöntem de öğrenilebilir sanal token kullanır. Prompt Tuning bu tokenleri yalnızca giriş katmanına ekler; Prefix-Tuning ise her transformer katmanındaki anahtar ve değer matrislerine ekler. Bu derinlik, orta boy modellerde belirgin bir performans avantajı verir.
- check_circle Prefix-Tuning mi LoRA mı seçilmeli? Üretken görevlerde ve çok sayıda görevi tek modelde servis etmek istediğinizde Prefix-Tuning güçlü bir adaydır. Sınıflandırma, talimat takibi ve uzun bağlam gerektiren işlerde LoRA daha yaygın tercih edilir; en sağlıklı yol iki yöntemi kendi verinizde karşılaştırmaktır.
- check_circle Kaç parametre eğitilir? Orijinal çalışmada toplam parametrelerin yaklaşık yüzde 0,1'i eğitildi. Prefix uzunluğu, katman sayısı ve gizli boyutla orantılı olarak bu sayı değişir; GPT-2 büyüklüğünde bir model için birkaç yüz bin ile birkaç milyon arasında kalır.
- check_circle Hangi kütüphanelerle uygulanır? Hugging Face PEFT kütüphanesi PrefixTuningConfig ile doğrudan destek verir. PyTorch tabanlı özel transformer uygulamalarında past_key_values benzeri bir önbellek mekanizmasına prefix eklenerek de gerçekleştirilebilir.
- check_circle Türkçe modellerde Prefix-Tuning kullanılabilir mi? Evet. Llama, Qwen veya mT5 tabanlı Türkçe destekli modellere prefix eklenerek kurum içi özetleme ya da soru üretimi gibi görevler için tam model kopyası oluşturmadan uyarlama yapılabilir.
- check_circle Prefix-Tuning çıkarım hızını etkiler mi? Prefix önbelleğe bir kez eklendiği için ek hesaplama maliyeti küçüktür; ancak sanal tokenler dikkat hesabına dahil olduğundan bağlam uzadıkça küçük bir gecikme artışı görülür. Adapter yöntemindeki gibi yeni katman eklenmediği için gecikme genellikle kabul edilebilir düzeydedir.