Few-Shot: Örnek Sayısı, Sıralama ve Çeşitlilik Etkisi
1, 3, 5, 10 örnekle few-shot performansının değişimi. Örnek sıralaması, çeşitlilik, semantic similarity ile örnek seçimi.
Şükrü Yusuf KAYA
12 min read
IntermediateFew-Shot: Örnek Mühendisliği
Few-shot: Modele görev + 1-10 örnek input/output çifti verirsin. Model "kalıbı" örneklerden çıkarır ve uygular.
Görev: Şirket isimlerini sektörlere kategorize et. Örnekler: - "Trendyol" → e-ticaret - "Akbank" → finans - "Vodafone" → telekomünikasyon Şimdi sınıflandır: "Migros"
Kaç Örnek Kullanmalı?#
Bu çok tartışılan konu. Cevap: görev karmaşıklığına bağlı.
Marjinal Fayda Eğrisi#
Performans Artışı#
| Örnek | Doğruluk | Marjinal kazanç |
|---|---|---|
| 0 (zero) | 72% | — |
| 1 | 84% | +12 |
| 3 | 89% | +5 |
| 5 | 91% | +2 |
| 10 | 92% | +1 |
| 20 | 92% | 0 (plateau) |
(Tipik bir sınıflandırma görevinde örnek değerler)
Önemli Kurallar#
🟢 3-5 örnek çoğu task için tatlı nokta
🟢 İlk 3 örnek en kritik
🟢 5'ten sonra azalan getiri
🔴 20+ örnek → maliyet patlar, fayda yok
🔴 Çoğunluk yanlış örnek → model yanlış öğrenir
🔴 Aynı örneği tekrarlamak fayda etmez
Örnek Çeşitliliği Önemli#
text · diff modu
Senin kodun
Hedefe karşı diff
+ Çeşitli kategoriler:- Tümü "yemek" kategorisinde (homojen):- "Pizza siparişi geldi" → yemek+ - "Telefon kontörü bitti" → telekom+ - "Maçı izledim" → spor+ - "Maaş yatmadı" → finans+ - "Dizi başladı" → eğlence- - "Burger sevdim" → yemek- - "Pasta yedim" → yemek+ Şimdi sınıflandır: "Bilet kaybettim"- Şimdi sınıflandır: "Telefon görüşmesi yaptım"
Çeşitlilik = genelleştirme
Format Contagion: Tüm örneklerin başında "Sınıflandır:" yazılırsa, model output'unda da "Sınıflandır: ..." şablonunu kopyalayabilir. Örneklerin format dağılımı çıktıyı etkiler.
Örnek Sıralaması: Recency Bias#
Modeller son örneği daha çok hatırlar. Sıralama önemli.
Önce basit, sonra karmaşık örnek. Model adım adım model öğrenir.
- "Mükemmel ürün" → olumlu (basit) - "İyi ama pahalı" → nötr (orta) - "Beklediğim gibi değildi ama iade kolaydı" → nötr (kompleks)
python
# Aynı 3 örnek, 2 farklı sırada — fark var mı?import osfrom anthropic import Anthropicfrom dotenv import load_dotenvload_dotenv() client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")) EXAMPLES = [ ("Hızlı kargo, tatmin oldum", "olumlu"), ("Kargo gecikti ama ürün güzeldi", "nötr"), ("Ürün hatalı, iade ettim", "olumsuz"),] def build_prompt(examples, query): txt = "Aşağıdaki yorumları sınıflandır.\n\n" for inp, out in examples: txt += f'- "{inp}" → {out}\n' txt += f'- "{query}" →' return txt QUERY = "Beklenenden geç geldi ama paketleme harika" for sira, label in [(EXAMPLES, "Orijinal sıra"), (EXAMPLES[::-1], "Ters sıra")]: p = build_prompt(sira, QUERY) r = client.messages.create( model="claude-haiku-4-5-20251001", max_tokens=10, temperature=0, messages=[{"role": "user", "content": p}], ) print(f"{label}: {r.content[0].text.strip()}") Sıralama etkisi varsa fark görürsün. Yoksa robust prompt.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Bu Eğitim Hakkında ve Verimli Çalışma Yöntemi
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Yapay Zekâ → Üretken AI → LLM: Bağlamsal Harita
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş
LLM'ler Aslında Nasıl Düşünür? (Token, Embedding, Attention)
Start LearningConnected pillar topics