İçeriğe geç

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 dakikalık okuma
Orta

Few-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ışı#

ÖrnekDoğrulukMarjinal kazanç
0 (zero)72%
184%+12
389%+5
591%+2
1092%+1
2092%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 os
from anthropic import Anthropic
from dotenv import load_dotenv
load_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...

İlgili İçerikler

Bağlantılı Pillar Konular

Bu yazının bağlandığı pillar konular