Prompt Tuning (İstem Ayarlama (Soft Prompting))

Model ağırlıklarını dondurup yalnızca küçük öğrenilebilir 'soft prompt' vektörlerini optimize ederek LLM'leri verimli biçimde göreve uyarlayan PEFT tekniği.

Prompt Tuning, büyük dil modellerini (LLM) belirli bir göreve uyarlamak için model ağırlıklarını tamamen güncellemek yerine yalnızca küçük bir 'yumuşak istem' (soft prompt) vektörünü optimize eden bir Parameter-Efficient Fine-Tuning (PEFT) tekniğidir. 2021 yılında Google araştırmacıları Brian Lester, Rami Al-Rfou ve Noah Constant tarafından önerilmiş; T5-11B ölçeğindeki modellerde tam fine-tuning ile rekabet edebildiği gösterilmiştir. Geleneksel fine-tuning yöntemlerinde milyarlarca parametre yeniden eğitilirken, prompt tuning yalnızca giriş katmanına eklenen öğrenilebilir vektörleri (soft token) günceller. Bu vektörler insan tarafından okunabilen kelimeler değildir; modelin kendi embedding uzayında gradyan inişiyle optimize edilmiş sayısal temsillerdir. Model ağırlıklarının tamamı dondurulmuş halde kalır; bu sayede aynı temel model, farklı görevler için farklı soft prompt'larla verimli biçimde çalıştırılabilir. Yöntemin en önemli avantajı hesaplama verimliliğidir: tam fine-tuning'e kıyasla eğitilmesi gereken parametre sayısı dramatik biçimde azalır; daha az GPU belleği, daha kısa eğitim süresi ve her görev için yalnızca küçük bir vektörün depolanması yeterlidir. Özellikle model ağırlıklarına doğrudan erişimin mümkün olmadığı API tabanlı senaryolarda bu özellik büyük pratik değer taşır. Pratik uygulamalarda iki önemli kısıtlama göze çarpar: model boyutu küçüldükçe (10 milyarın altında parametre) tam fine-tuning'e göre performans açığı belirginleşir; giriş bağlam uzunluğunun bir kısmı soft token'lara tahsis edildiğinden kullanılabilir bağlam penceresi de daralmaktadır. Üstelik soft prompt'lar yorumlanamaz olduğundan hata ayıklaması güçleşebilir. Prompt tuning ailesi birkaç önemli varyant içerir: Prefix Tuning her transformer katmanına öğrenilebilir vektörler ekleyerek daha güçlü yönlendirme sağlar; P-Tuning doğal dil anlama görevlerine odaklanır; Multi-Task Prompt Tuning paylaşılan tek bir prompt'u birden fazla görev için eş zamanlı optimize eder. Bu varyantlar, LoRA ile birlikte günümüzde en yaygın kullanılan PEFT teknikleri arasındadır.

keyboard Hard Prompt vs Soft Prompt

Normalde bir yapay zekaya İngilizceden Türkçeye çeviri yapması için 'Lütfen aşağıdaki metni Türkçeye çevir:' şeklinde insanlar tarafından yazılmış bir cümle (Hard Prompt) yazarız. Ancak insanların kelime seçimi bilgisayar için en mükemmel (en ideal matematiksel) komut değildir. Prompt Tuning, bu metni insan dilinde değil, yapay zekanın eğitim sürecinde kendi kendine bulduğu, tamamen sayılardan (vektörlerden) oluşan, bizim okuyamadığımız ama yapay zekanın 'Çeviri yap' talimatını en yüksek doğrulukla anladığı gizli bir komutla (Soft Prompt) çalıştırmaktır.

Avantajları

Maliyet Tasarrufu

Orijinal model dondurulur, hiçbir parametresi değiştirilmez. Sadece o görev için en ideal (Soft Prompt) vektörü bulunup sisteme eklenir.

Hızlı Görev Değişimi

Aynı devasa modele, saniyeler içinde 'Hukuk Soft Prompt'u veya 'Kodlama Soft Prompt'u enjekte edilerek modelin tamamen farklı davranması sağlanır.

Prompt Tuning Varyantları

  • check_circle Prefix Tuning: Her transformer katmanının başına öğrenilebilir vektörler (prefix) eklenir. Tüm katmanlara prefix eklendiğinden modeli daha güçlü biçimde yönlendirir. Li ve Liang (2021) tarafından önerildi; tam fine-tuning parametrelerinin yalnızca %0.1'i kadar parametre eğiterek GPT-2 ve BART ile karşılaştırılabilir sonuçlar elde etti.
  • check_circle Prompt Tuning (Lester et al., 2021): Yalnızca giriş katmanına öğrenilebilir token gömüleri (soft prompt) eklenir; model ağırlıkları tamamen donuk kalır. Model büyüdükçe (11B+) tam fine-tuning ile rekabet edebilir hale gelir; küçük modellerde performans farkı daha belirgindir. En az parametre gerektiren PEFT yöntemi.
  • check_circle P-Tuning ve P-Tuning v2: P-Tuning, sürekli prompt optimizasyonunu NLU görevlerine uygular; GPT benzeri modellerle sınıflandırma gibi doğal olmayan görevleri mümkün kılar. P-Tuning v2, prefix tuning gibi tüm katmanlara öğrenilebilir vektörler ekler; NLU görevlerinde prefix tuning'den daha tutarlı sonuçlar verir. Her ikisi de LoRA ve tam fine-tuning'e alternatif olarak araştırılmaktadır.
  • check_circle Multi-Task Prompt Tuning: Paylaşılan bir prompt, birden fazla görev için aynı anda optimize edilir. Görev başına ayrı prompt yerine tek prompt tüm görevlere transfer edilir; bu az verili (low-resource) görevlerde avantaj sağlar. Kaynak paylaşımı ve negatif transfer dengesi dikkat gerektirir.

Prompt Tuning ile LoRA Karşılaştırması

PEFT (Parameter-Efficient Fine-Tuning) ailesindeki iki popüler yöntem farklı güçlü yanlar sunar. Prompt tuning: model ağırlıklarına hiç dokunmaz; yalnızca girdi katmanına (veya tüm katmanlara prefix tuning'de) küçük öğrenilebilir vektörler ekler. Çok basit implementasyon; ancak küçük modellerde (< 10B) tam fine-tuning'e göre performans açığı olabilir. LoRA (Low-Rank Adaptation): model ağırlıklarına düşük ranklı ek matrisler ekler; bu matrisler eğitim sırasında güncellenir. Daha fazla parametre (hâlâ tam fine-tuning'den çok az) ama tipik olarak prompt tuning'den daha iyi performans. Pratik öneri: başlangıç noktası olarak LoRA tercih edilmeli; model ağırlıklarına hiç dokunulamıyorsa (API üzerinden sadece inference) soft prompt optimizasyonu değerlendirilebilir.

Sıkça Sorulan Sorular

  • check_circle Prompt tuning nedir?: Prompt tuning, büyük dil modellerinin ağırlıklarını değiştirmeden giriş katmanına öğrenilebilir sürekli vektörler (soft prompt) ekleyerek modeli belirli bir göreve uyarlama tekniğidir. Modelin parametrelerini donuk tutar; yalnızca prompt vektörlerini eğitir.
  • check_circle Prompt tuning ile fine-tuning arasındaki fark nedir?: Fine-tuning: modelin tüm (veya büyük kısmının) ağırlıklarını günceller; daha güçlü uyarlama ama yüksek hesaplama ve depolama maliyeti. Prompt tuning: model ağırlıkları değişmez; yalnızca küçük bir prompt vektörü eğitilir. Her görev için yalnızca prompt vektörü saklanır; aynı model taban olarak kullanılır.
  • check_circle Prefix tuning nedir?: Prefix tuning, her transformer katmanının key-value dikkat mekanizmasının başına öğrenilebilir vektörler ekleyen prompt tuning varyantıdır. Standart prompt tuning'e göre daha fazla etki alanı sağlar; NLG görevlerinde (özetleme, çeviri) daha iyi sonuçlar verir.