Ana içeriğe geç

Benchmark Kirlenmesi Bir Veri Hattı Hatasıdır: Eval Setlerini Kod Gibi Sürümleyin

Model zayıflığına bağlanan agent değerlendirme başarısızlıkları çoğu zaman eval-set hijyeni başarısızlıklarıdır. Eval korpusları da eğitim verisiyle aynı köken, sürümleme ve erişim kontrollerine ihtiyaç duyar.

Detailed view of an Intel i486 DX2 CPU installed on a vintage motherboard with chips and circuits.

Belirti ve yanlış teşhis

Bir ekip bir agent yayına alır, eval paketini çalıştırır ve toplam skorun birkaç hafta boyunca yükseldiğini, sonra düzleştiğini izler. Bazen skor sıçrar, sonra arada hiçbir kod değişikliği olmadan bir sonraki çalıştırmada düşer. İçgüdü mimariye uzanmaktır: planner'ı değiştir, bir critic agent ekle, retrieval penceresini genişlet, tool-calling şemasını değiştir. Haftalarca mühendislik, hiç modelde olmayan bir soruna harcanır.

Eval setinin kendisi kaymıştır. Öğeler sürüm numarası artırılmadan yerinde düzenlenmiştir. Bir avuç örnek üzerinde ayarlanmış bir prompt şablonu, o örnekleri sessizce few-shot bloğuna emmiştir. İç dokümantasyondan oluşturulmuş bir retrieval index'i, eval sorularını ve cevaplarını içeriyor çıkmıştır. Skor hareket etmiştir çünkü ölçüm aracı hareket etmiştir ve kimse fark etmemiştir çünkü araç hiçbir zaman bir artefakt olarak ele alınmamıştır.

Yardımcı olan çerçeveleme şudur: bir eval seti bir veri setidir. Yazarlığı, kökeni, lisans kısıtları, gizlilik maruziyeti, bir dağılımı ve bir yaşam döngüsü vardır. Onu herkesin düzenleyebildiği bir JSON klasörü olarak ele almak, çoğu kirlenmenin kök nedenidir. Çözüm daha akıllı bir model değildir. Çözüm, eğitim verisine uygulanan aynı disiplinin ölçüm yaptığınız şeye uygulanmasıdır.

Eval setini sürümlenmiş bir artefakt olarak ele alın

Bir eval seti yayımlandıktan sonra değişmez olmalıdır. "Düzenlememeye çalışıyoruz" değil — yapısal olarak değişmez, her revizyon içerik adresli olacak şekilde, böylece bir çalıştırma tam olarak neye karşı skor ürettiğini kaydedebilir.

İşleyen bir mekanizma, her öğeyi ve setin tamamını hash'leyen bir manifest'tir:

set: agent-tool-use-core
revision: 2024-11-07.3
items_hash: sha256:9f2c...
item_count: 412
retired:
  - id: tool-0183
    reason: saturated
    superseded_by: tool-0411

Close-up of colorful source code on a monitor, showcasing programming and technology concepts.

Harness, çalıştırma başlamadan önce revision'ı bir içerik hash'ine çözer ve bu hash'i sonuç kaydına yazar. Hash manifest ile eşleşmezse çalıştırma iptal edilir. Bu tek kısıt, bütün bir hata sınıfını ortadan kaldırır: geçen ay karşılaştırdığınız skor farklı bir araçla üretilmiştir ve artık sistem aksini varsaymanıza izin vermez.

Değişmezliğin bir maliyeti vardır. Bir öğe gerçekten yanlış olduğunda — belirsiz ifade, bir tool-call izinde eski bir API imzası, o zamandan beri değişmiş olgusal bir cevap — onu yamayamazsınız. Onu emekliye ayırır ve bir yenisini eklersiniz; bu da setin bir soy kütüğü edinmesi ve tarihsel karşılaştırmalarınızın bu değişimi hesaba katması gerektiği anlamına gelir. Bu disiplini atlayan ekipler, daha temiz görünen ama sessizce anlamsız zaman serileri elde eder. Ödünleşim gerçektir ve adlandırmaya değer: kolaylığı, kendi trend çizginize güvenme yeteneği karşılığında takas ediyorsunuz.

Holdout disiplini

Bir eval öğesi, geliştirme sırasında kullanılan hiçbir prompt'ta, retrieval index'inde, fine-tuning korpusunda veya few-shot örneğinde yer almamalıdır. Bu kulağa bariz gelir ve rutin olarak ihlal edilir, genellikle retrieval yoluyla.

Bir agent'ın iç dokümantasyon üzerinde bir retrieval adımı varsa ve eval seti aynı depoda ya da aynı vector store'da saklanıyorsa, bir eval sorusuna anlamsal olarak yakın bir sorgu eval öğesini yüzeye çıkarır. Agent sonra yetenekten değil, eval setinden cevap verir. Çıktıda yanlış görünen hiçbir şey yoktur; sadece skor yükselir.

Bunu yakalayan kontrol bir canary'dir. Eval index'ini, doğru cevapları bilinen ve canary olarak işaretlenmiş öğelerle tohumlayın. Bunları ana setten ayrı olarak skorlayın ve canary isabet oranını kirlenme oranı olarak raporlayın. Canary'ler şanstan yüksek bir oranda retrieve ediliyor ya da doğru cevaplanıyorsa, index sızdırıyordur ve manşet sayı şüphelidir.

Canary'ler ucuz ve kusurludur. Retrieval yoluyla ve prompt oluşturma yoluyla sızmayı tespit ederler, ancak pretraining sırasında model ağırlıklarına işlenmiş ezberlemeyi tespit etmezler. Bunun için tek güvenilir sinyaller zamansaldır: bir modelin eğitim kesim tarihinden sonra yazılmış öğeler ya da hiç yayımlanmamış özel bir havuzda tutulan öğeler. Her ikisi de ne ölçebileceğinizi kısıtlar, çünkü özel bir havuz kamuya açık leaderboard'larla karşılaştırılamaz. Ödünleşim budur — dış karş

Her öğe kaynağını ve yazarlığını taşımalıdır. Kredi için değil, lisans ve gizlilik kısıtlarının değiştiklerinde yeniden değerlendirilebilmesi için. İki yıl önce kullanılmasına izin verilen bir veri seti bugün olmayabilir ve kazınmış müşteri transkriptlerinden derlenmiş bir set, değerlendirme kullanımı için hiç temizlenmemiş kişisel veriler içerebilir. Öğe bazında köken olmadan, mevcut tek iyileştirme tüm seti atmaktır.

A person working on a graph analysis on a laptop for data monitoring and research.

Erişim kontrolü işin ikinci yarısıdır. Eval seti harness tarafından ve neredeyse başka hiçbir şey tarafından okunabilmelidir. Prompt'lar üzerinde iterasyon yapan mühendislerin eval öğelerine okuma erişimine ihtiyacı yoktur; toplu sonuçlara ve dilim bazında kırılımlara ihtiyaçları vardır. İşi skoru iyileştirmek olan kişilere okuma erişimi vermek, iyi niyetle bile olsa, overfit etmeye yönelik bariz bir teşvik yaratır.

Erişim kontrolünün yanı sıra, geliştirme sırasında eval index'ine dokunan her retrieval'ı loglayın. Bir geliştirme oturumunda bir eval öğesinin yüzeye çıktığını gösteren bir retrieval logu, bir kararı değiştirip değiştirmediğine bakılmaksızın bir kirlenme olayıdır. Log, olayı görünmez olmaktan çıkarıp sonradan denetlenebilir kılar.

Buradaki dürüst ödünleşim hızdır. Eval okuma erişimini kısıtlamak hata ayıklama döngüsünü yavaşlatır, çünkü belirli bir başarısızlık modundan şüphelenen bir mühendis öğeyi açıp okuyamaz. Telafi, raporlama için açıkça kullanılmayan, ayrı ve açıkça okunabilir bir geliştirme setidir. İki set, iki amaç, biri kilitli.

Raporlama pratiği

Revizyonu ve kirlenme oranı olmayan bir manşet sayı bir ölçüm değildir. Bir iddiadır. Yayımlanan her skor, yanında set revizyonunu, içerik hash'ini ve canary'den türetilen kirlenme oranını taşımalıdır. Kirlenme oranı önemsiz değilse, skor tek bir rakam olarak değil, bu uyarıyla birlikte raporlanmalıdır.

Toplamlar ayrıca regresyonu gizler. Karışık bir set üzerindeki tek bir ortalama, bir yetenek gerilerken bir diğeri iyileştiğinde bunu maskeler. Yetenek bazında dilimleri raporlayın — tool seçimi, argüman oluşturma, çok adımlı kurtarma, reddetme davranışı — ve bunları toplamla aynı revizyon disipliniyle raporlayın. Birkaç düzine öğelik bir sette küçük bir miktar hareket eden bir dilim sinyal değildir; öğe sayısını raporlayın ve kararı okuyucuya bırakın.

Son olarak, doymuş öğeleri bir takvime göre emekliye ayırın. Mevcut her modelin geçtiği bir öğe, pohpohlayıcı bir temel çizgi ve seyreltilmiş bir ortalamadan başka hiçbir şeye katkıda bulunmaz. Doymuş öğeleri biriktirmek, paketi kapsamlı gösterirken toplamı her çeyrekte daha az bilgilendirici kılar. Onları emekliye ayırın, emekliliği manifest'e kaydedin ve yerlerine ayırt edici öğeler koyun.

Bunların hiçbiri gösterişli değildir. Ölçüm aracına uygulanmış veri mühendisliğidir ve bir anlam ifade eden skor ile veri hattı hareket ettiği için hareket eden skor arasındaki farktır.

İlgili okumalar

Bunun yanıtladığı sorular

What is benchmark contamination in agent evaluation?

It is the condition where an eval set has drifted, leaked into prompts or retrieval indexes, or been partly memorised by the model, so the score reflects exposure to the items rather than the capability the set claims to measure.

Why version an eval set instead of just editing items in place?

An immutable, content-hashed revision lets a run record exactly which instrument produced a score. Editing in place makes historical comparisons meaningless, because the set and the score both changed with no traceable link.

How do canary items detect leakage?

Canaries are known-answer items seeded into the eval index and scored separately. If they are retrieved or answered above chance, the index is leaking and the headline number should be treated as contaminated.

Should engineers who tune prompts have read access to the eval set?

No. Read access should be limited to the harness, with aggregate and per-slice results exposed to engineers. A separate, openly readable development set covers debugging without creating overfitting pressure on the reported set.