HumanEval Benchmark (TR)

From Systems analysis Wiki
Jump to navigation Jump to search

HumanEval — yapay zeka modellerinin metin açıklamasına dayalı olarak ürettiği kodun kalitesini nesnel biçimde değerlendirmek amacıyla tasarlanmış bir referans veri kümesidir (benchmark)[1]. Temmuz 2021'de Mark Chen liderliğindeki OpenAI araştırmacıları tarafından kamuoyuna sunulmuş ve üretilen programların işlevsel doğruluğunu ölçmede temel standartlardan biri hâline gelmiştir.

HumanEval'in geliştirilmesi, kod üretimini değerlendirmek için güvenilir bir yönteme duyulan ihtiyaçtan kaynaklanmaktadır. Daha önce dil modelleri tarafından üretilen kodun kalitesi, çoğunlukla dolaylı metriklerle (örneğin BLEU) ya da elle inceleme yoluyla ölçülüyordu; bu yöntemler ise programların gerçek anlamda çalışıp çalışmadığını güvence altına almıyordu. HumanEval bu sorunu işlevsel doğruluk odağıyla çözer: üretilen kod, bir referansla sözdizimsel benzerliğine göre değil, otomatik birim testlerinden başarıyla geçip geçemediğine göre değerlendirilir[1].

Görev Kümesinin Yapısı

Kıyaslama, modellerin eğitim kümelerinde yer almadığını güvence altına almak amacıyla bu veri kümesi için özel olarak el ile yazılmış 164 programlama görevinden oluşmaktadır. Tüm görevler Python dilinde formüle edilmiş olup açıklamalı kod parçaları biçiminde sunulmaktadır[2].

Her görev şunları içerir:

  • Fonksiyon başlığı: Fonksiyonun adını ve parametrelerini içeren imza.
  • Metin açıklaması: İstenen işlevselliği tanımlayan İngilizce docstring.
  • Fonksiyon gövdesi: Modelin ürettiği kodla doldurması gereken boş alan.

Her görev için modelden gizli tutulan unsurlar da mevcuttur:

  • Kanonik çözüm: Fonksiyonun doğru (referans) uygulaması.
  • Birim testi kümesi: Üretilen kodun doğruluğunu otomatik olarak denetlemek için kullanılır. Testler hem temel hem de uç durumları kapsar.

Görevler; temel dil yapılarından ve algoritmalardan basit matematiğe kadar geniş bir konu yelpazesini kapsamakta, bu da kümeyi modeller için çeşitli ve zorlu kılmaktadır.

Model Değerlendirme Yöntemi

HumanEval'deki başarının temel metriği, modelin işlevsel olarak doğru biçimde çözdüğü görevlerin oranını ölçen pass@k'dır[1]. Üretilen kod, ilgili görevin tüm otomatik testlerinden geçerse çözüm başarılı sayılır.

  • pass@1: Temel ve en sık kullanılan gösterge. Modelin ilk denemede (yani görev başına tek bir çözüm üretildiğinde) çözdüğü görevlerin yüzdesini ifade eder.
  • pass@k: Genel durumda bu metrik, model tarafından üretilen k seçenekten en az birinin tüm testleri geçtiği görevlerin oranını gösterir. Örneğin pass@10, modele her görev için 10 deneme hakkı tanındığında çözebileceği görevlerin oranını ifade eder.

pass@knin doğrudan hesaplanması çok sayıda örnek gerektirdiğinden, yazarlar bu metriği hesaplamak için istatistiksel açıdan doğru ve yansız bir tahmin sunan bir yöntem önermiştir[1].

Pratik testler özel bir "sandbox" ortamında gerçekleştirilir: üretilen kod derlenir ve doğrulama testleri kümesi üzerinde çalıştırılır. Bu yaklaşım, modelin yalnızca referansa sözdizimsel olarak benzer değil, gerçekten çalışabilir ve doğru kod üretme becerisini ölçmeye olanak tanır.

Sonuçlar ve Sektöre Etkisi

HumanEval üzerindeki ilk deneyler, genel amaçlı modeller ile kod üzerine özel olarak eğitilmiş modeller arasındaki belirgin uçurumu gözler önüne serdi.

  • 2021 yılında OpenAI Codex modeli (GitHub'daki kod verisiyle eğitilmiş 12 milyar parametreli), görevlerin ~%28,8ini ilk denemede çözdü (pass@1).
  • Aynı dönemde, koda özgü eğitim almamış çok daha büyük dil modeli GPT-3 (175 milyar parametreli) hiçbir görevi doğru çözemedi[1].

Bu sonuçlar, başarılı kod üretimi için programlama verisi üzerinde özelleştirilmiş eğitimin gerekliliğini vurguladı. HumanEval'in ortaya çıkışının ardından kıyaslama, yeni modellerin ilerleme düzeyini karşılaştırmak için standart bir test hâline geldi.

  • GPT-3.5 serisinin modelleri (2023 başı) pass@1 değerinde ~%72 düzeyine ulaştı.
  • GPT-4 modeli (2023) temel sürümde ~%67 ve ek ince ayarların ardından %85i aşan değerlerle daha da yüksek sonuçlar sergiledi[3].
  • Code Llama (Meta, 2023) ve WizardCoder (2023) gibi açık modeller de sırasıyla pass@1 değerinde ~%53 ve ~%57 ile yüksek sonuçlar elde ederek erken dönem tescilli modelleri geride bıraktı[4].

Kıyaslamanın Uzantıları ve Varyantları

HumanEval'in başarısı, modelleri daha geniş koşullarda değerlendirmeyi amaçlayan birkaç türev sürümün oluşturulmasına ilham verdi.

  • CL-HumanEval (Cross-Lingual HumanEval): Çapraz dilsel bir varyant (2024); orijinal HumanEval görevleri, modellerin Python kodu üretirken farklı dillerdeki (İngilizce dışındaki) açıklamaları anlama becerisini sınamak amacıyla uyarlanmıştır[5].
  • Multilingual HumanEval: İngilizce açıklamalara dayalı olarak 12 farklı programlama dilinde (Java, C#, JavaScript ve diğerleri dahil) kod üretimini değerlendirmeye yönelik bir uzantı (2023)[6].
  • HumanEval-XL: Her iki yaklaşımı birleştiren kapsamlı bir kıyaslama (2024). 12 programlama dilinde görevler ve metin açıklamalarının Rusça, Çince, Arapça dahil 23 dünya diline çevirilerini içermektedir. HumanEval-XL toplamda 22.000'den fazla "açıklama-kod" çiftine sahiptir[7].

Dış bağlantılar

  • Hugging Face üzerinde HumanEval
  • Papers with Code üzerinde HumanEval sayfası

Kaynakça

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

Notlar

  1. 1.0 1.1 1.2 1.3 1.4 Chen, M. et al. «Evaluating Large Language Models Trained on Code». arXiv:2107.03374, 2021. [1]
  2. «openai/openai_humaneval». Hugging Face Datasets. [2]
  3. Niu, C. et al. «On Evaluating the Efficiency of Source Code Generated by LLMs». Proceedings of the 2nd International Conference on AI-generated Content, 2024. [3]
  4. Lutfullaev, J. «HumanEval on LLMs Revisited in Late 2023». arXiv:2402.14852, 2023. [4]
  5. Sato, M. et al. «CL-HumanEval: A Benchmark for Evaluating Cross-Lingual Transfer through Code Generation». Proceedings of the 38th Pacific Asia Conference on Language, Information and Computation, 2024. [5]
  6. Athiwaratkun, B. et al. «Multilingual HumanEval: A Multilingual Code Generation Benchmark». arXiv:2307.11892, 2023. [6]
  7. Liu, J. et al. «HumanEval-XL: A Multilingual Code Generation Benchmark for Cross-lingual Natural Language Generalization». LREC-COLING 2024. [7]