Pass@k Nedir?
Yayın: · Son güncelleme:
Pass@k Nedir? Kısaca
Pass@k, kod üreten yapay zekâ modellerini değerlendirmek için kullanılan, bir problem için üretilen k çözümden en az birinin birim testlerini başarıyla geçme olasılığını ölçen metriktir; pass@1 tek denemede doğru çözüm oranını gösterir.

Pass@k, kod yazan yapay zekâ modellerinin başarısını ölçmenin en yaygın yollarından biridir. "k denemede geçme" diye okunabilir.
Pass@k nedir?
Kod üretiminde bir çözümün doğru olup olmadığı, ona yazılmış birim testlerini geçip geçmediğine bakılarak anlaşılır. Pass@k, model bir problem için k farklı çözüm ürettiğinde bunlardan en az birinin tüm testleri geçme olasılığıdır. Sonuç, bir test setindeki tüm problemler üzerinden ortalanarak yüzde olarak raporlanır.
- pass@1: Model tek denemede doğru kod yazabiliyor mu? Günlük kullanımda en anlamlı değerdir.
- pass@10, pass@100: Model birçok deneme hakkı olduğunda doğru çözüme ulaşabiliyor mu? Bu değerler, doğru çözümün modelin "erişim alanında" olup olmadığını gösterir.
Metrik, HumanEval gibi kod kıyaslama testlerinde yaygınlaştı.
Nasıl hesaplanır?
Doğrudan k örnek üretip bakmak gürültülü sonuç verir. Bu yüzden her problem için n çözüm (n ≥ k) üretilir ve bunlardan c tanesinin doğru olduğu sayılır. Yansız tahmin şu formülle yapılır:
pass@k = 1 − C(n − c, k) / C(n, k)
Burada C, kombinasyonu ifade eder. Formül, n çözüm içinden rastgele seçilen k çözümün hepsinin yanlış olma olasılığını 1'den çıkarır.
Varsayımsal örnek: n = 10 çözümden c = 3'ü doğruysa pass@1 = 3/10 = 0,30 olur. pass@5 ise 1 − C(7,5)/C(10,5) = 1 − 21/252 ≈ 0,92'dir.
Nelere dikkat etmeli?
- Pass@k, testlerin kalitesi kadar güvenilirdir; zayıf testler hatalı kodu "doğru" sayabilir.
- Yüksek k değerleri gerçekçi olmayan bir iyimserlik yaratabilir; pratikte hangi çözümün doğru olduğunu seçmek de bir sorundur.
- Örnekleme sıcaklığı sonuçları etkiler; karşılaştırma yaparken aynı ayarlar kullanılmalıdır.
- Test problemleri eğitim verisine sızdıysa skorlar şişebilir.
Sıkça Sorulan Sorular
Pass@1 ile pass@10 arasındaki fark nedir?
Pass@1, modelin tek denemede doğru çözüm üretme oranıdır. Pass@10 ise on denemeden en az birinin doğru olma olasılığıdır; bu yüzden her zaman pass@1'e eşit ya da ondan yüksektir.
Pass@k neden doğrudan k örnekle hesaplanmaz?
Yalnızca k örnek üretmek sonucun büyük ölçüde şansa bağlı olmasına yol açar. Daha fazla örnek üretip doğru olanları saymak ve kombinasyon formülünü kullanmak, daha kararlı ve yansız bir tahmin sağlar.