settings_suggest Nasıl Çalışır?
ICL, transformer modelinin dikkat mekanizması sayesinde mümkün olur. Prompt içine eklenen örnek giriş-çıkış çiftleri (demonstrasyon örnekleri), modelin sonraki token olasılıklarını dinamik olarak yeniden ağırlıklandırmasını sağlar. Bu süreç parametrelerin güncellenmediği örtük bir uyarlama biçimidir. GPT-3 bu yeteneği ilk büyük ölçekte sergileyerek few-shot learner kavramını popülerleştirdi.
ICL Türleri
looks_one Zero-Shot
Hiç örnek verilmez; model yalnızca görev açıklamasına dayanarak yanıt üretir.
looks_two One-Shot
Tek bir giriş-çıkış örneği prompta eklenir. Model bu tek örnekten görevi çıkarır.
filter_3 Few-Shot
3–32 arası örnek kullanılır. Örnekler arttıkça performans genellikle yükselir, ancak bağlam penceresi sınırı gözetilmeli.
format_list_numbered Many-Shot
Uzun bağlam pencereli modellerde yüzlerce örnek gömülerek fine-tuning benzeri performans elde edilir.
balance Güçlü ve Zayıf Yönler
- check_circle Esneklik: Herhangi bir downstream görevi için yeniden eğitime gerek yok; prompt değiştirmek yeterli.
- check_circle Hız: Model güncellenmediğinden sıfır eğitim maliyetiyle yeni görevlere anında adapte olunabilir.
- check_circle Bağlam sınırı: Context window dolunca daha fazla örnek eklenemez; büyük veri kümeleri için fine-tuning daha uygundur.
- check_circle Örnek hassasiyeti: Demonstrasyon örneklerinin sırası ve kalitesi sonuçları önemli ölçüde etkiler.
In-Context Learning Türleri ve Mekanizması
- check_circle Zero-Shot ICL: Hiç örnek verilmeden yalnızca görev açıklamasıyla modelin doğru çıktıyı üretmesi. Büyük ve iyi hizalanmış modellerde oldukça etkilidir.
- check_circle Few-Shot ICL: Prompt'a 2-10 arası girdi-çıktı örneği eklenerek modelin görev formatını ve beklenen davranışı öğrenmesi. İnce ayara gerek kalmadan özel uyarlama sağlar.
- check_circle Many-Shot ICL: Uzun bağlam pencereli modellerde onlarca veya yüzlerce örnek içeren prompt kullanımı. Bazı görevlerde ince ayara yakın performans elde edilir.
- check_circle Chain-of-Thought (CoT) ile ICL: Örneklerin ara akıl yürütme adımlarını da içermesi. 'Adım adım düşün' örnekleri modelin çıkarım sürecini açık kılar ve karmaşık görevlerdeki başarıyı artırır.
- check_circle Retrieval-Augmented ICL: Sabit örnekler yerine görevle ilgili dinamik olarak alınan örneklerin bağlama eklenmesi. Daha doğru ve bağlam uyumlu çıktılar üretir.
- check_circle Örnek Sıralama Etkisi: Örneklerin sırası çıktıyı önemli ölçüde etkileyebilir; son örnekler genellikle daha büyük etkiye sahiptir (recency bias).
In-Context Learning'in Sınırları ve Fine-Tuning ile Karşılaştırma
In-context learning, modelin ağırlıklarını değiştirmeden hızlı uyarlama sağlar; bu da prototipleme ve düşük hacimli görevler için idealdir. Ancak ICL'nin temel sınırlamaları vardır: örnek sayısı bağlam penceresiyle kısıtlıdır ve her sorgu bu örnekleri tekrar işlemek zorundadır, bu da token maliyetini artırır. Karmaşık veya ince nüanslı görevlerde fine-tuning genellikle daha tutarlı sonuçlar verir. Min ve ekibinin araştırmaları, ICL'nin aslında görev formatını mı yoksa gerçek etiketleri mi öğrendiği konusundaki anlayışımızı değiştirmiştir: modeller çoğunlukla etiketi değil, giriş-çıkış formatını öğrenmektedir. Pratik karar çerçevesi: Hızlı prototipleme ve az sayıda istek için ICL; tutarlılık, düşük gecikme ve yüksek hacim için fine-tuning tercih edilir. Hibrit yaklaşım ise DSPy gibi çerçevelerle örneklerin otomatik optimizasyonunu içerir.
quiz Sıkça Sorulan Sorular
- check_circle ICL fine-tuning'ın yerini alır mı?: İkisi tamamlayıcıdır. ICL hız ve esneklik sunarken fine-tuning özelleştirilmiş ve tutarlı davranış için daha uygundur.
- check_circle Hangi modeller ICL'yi en iyi kullanır?: GPT-4, Claude 3 ve Llama 3 gibi büyük modeller ICL'de öne çıkar. Parametre sayısı arttıkça ICL performansı iyileşir.
- check_circle ICL ile prompt engineering farkı nedir?: Prompt engineering modele ne söyleneceğini tasarlamaktır. ICL ise prompt içindeki örnekleri kullanarak görev kalıplarını çıkarır.
- check_circle In-context learning nedir?: LLM'nin model ağırlıklarını güncellemeden yalnızca prompt içine yerleştirilen örneklerden öğrenerek yeni görevi gerçekleştirmesidir. Fine-tuning gerektirmez.
- check_circle Few-shot ve zero-shot arasındaki fark nedir?: Zero-shot'ta modele yalnızca görev açıklaması verilir. Few-shot'ta 2-10 arası girdi-çıktı örneği eklenerek modelin beklenen format ve davranışı öğrenmesi sağlanır.
- check_circle ICL mi, fine-tuning mi seçmeliyim?: Hızlı prototipleme, az istek ve esnek görev tanımı için ICL. Yüksek hacim, tutarlılık, düşük gecikme veya modelin hiç görmediği alan bilgisi için fine-tuning daha uygundur.
- check_circle Örnek sırası ICL sonucunu etkiler mi?: Evet. Araştırmalar, örneklerin sırasının ve kalitesinin çıktıyı önemli ölçüde etkilediğini göstermektedir. Son örnekler daha büyük ağırlık taşır (recency bias); benzer ve çeşitli örnekler karışımı genellikle en iyi sonucu verir.