HumanEval Benchmark (EL)
HumanEval — είναι ένα σύνολο δεδομένων αναφοράς (benchmark), σχεδιασμένο για την αντικειμενική αξιολόγηση της ποιότητας κώδικα που παράγεται από μοντέλα τεχνητής νοημοσύνης βάσει περιγραφής εργασίας σε φυσική γλώσσα[1]. Παρουσιάστηκε τον Ιούλιο του 2021 από ερευνητές της OpenAI υπό την ηγεσία του Μαρκ Τσεν (Mark Chen) και κατέστη ένα από τα βασικά πρότυπα για τη μέτρηση της λειτουργικής ορθότητας των παραγόμενων προγραμμάτων.
Η ανάπτυξη του HumanEval προέκυψε από την ανάγκη για μια αξιόπιστη μέθοδο αξιολόγησης παραγωγής κώδικα. Προηγουμένως, η ποιότητα του κώδικα που παράγουν τα γλωσσικά μοντέλα αξιολογούνταν συχνά με έμμεσες μετρικές (όπως το BLEU) ή χειροκίνητα, πράγμα που δεν εγγυόταν αντιστοιχία με την πραγματική λειτουργικότητα των προγραμμάτων. Το HumanEval επιλύει αυτό το πρόβλημα εστιάζοντας στη λειτουργική ορθότητα: ο παραγόμενος κώδικας αξιολογείται όχι βάσει της συντακτικής του ομοιότητας με το πρότυπο, αλλά βάσει της ικανότητάς του να περνά επιτυχώς ένα σύνολο αυτόματων unit tests[1].
Δομή του συνόλου εργασιών
Το benchmark αποτελείται από 164 εργασίες προγραμματισμού, γραμμένες χειροκίνητα ειδικά για αυτό το σύνολο δεδομένων, ώστε να διασφαλιστεί η απουσία τους από τα σύνολα εκπαίδευσης των μοντέλων. Όλες οι εργασίες είναι διατυπωμένες στην Python και παρουσιάζονται ως τμήματα κώδικα με περιγραφή[2].
Κάθε εργασία περιλαμβάνει:
- Επικεφαλίδα συνάρτησης: Η υπογραφή της συνάρτησης με το όνομα και τις παραμέτρους της.
- Περιγραφή κειμένου: Docstring στα αγγλικά που περιγράφει την απαιτούμενη λειτουργικότητα.
- Σώμα συνάρτησης: Κενός χώρος που το μοντέλο πρέπει να συμπληρώσει με τον παραγόμενο κώδικα.
Για κάθε εργασία προβλέπονται επίσης στοιχεία κρυμμένα από το μοντέλο:
- Κανονική λύση: Η σωστή (πρότυπη) υλοποίηση της συνάρτησης.
- Σύνολο modular tests (unit tests): Χρησιμοποιείται για την αυτόματη επαλήθευση της ορθότητας του παραγόμενου κώδικα. Οι δοκιμές καλύπτουν τόσο τις βασικές περιπτώσεις όσο και τις οριακές.
Οι εργασίες καλύπτουν ένα ευρύ φάσμα θεμάτων: από βασικές γλωσσικές κατασκευές και αλγορίθμους έως απλά μαθηματικά, καθιστώντας το σύνολο ποικιλόμορφο και απαιτητικό για τα μοντέλα.
Μεθοδολογία αξιολόγησης μοντέλων
Η κύρια μετρική επιτυχίας στο HumanEval είναι το pass@k, η οποία μετρά το ποσοστό εργασιών που επιλύει το μοντέλο με λειτουργικά σωστό τρόπο[1]. Μια λύση θεωρείται επιτυχής εάν ο παραγόμενος κώδικας περνά όλες τις αυτόματες δοκιμές για τη συγκεκριμένη εργασία.
- pass@1: Ο βασικός και πιο συχνά χρησιμοποιούμενος δείκτης. Αντιπροσωπεύει το ποσοστό εργασιών που επιλύει το μοντέλο στην πρώτη προσπάθεια (δηλαδή κατά τη δημιουργία μιας μόνο παραλλαγής λύσης ανά εργασία).
- pass@k: Στη γενική περίπτωση, αυτή η μετρική δείχνει το ποσοστό εργασιών για τις οποίες τουλάχιστον μία από τις k παραλλαγές λύσης που παράγει το μοντέλο περνά όλες τις δοκιμές. Για παράδειγμα, το pass@10 δείχνει ποιο ποσοστό εργασιών μπορεί να επιλύσει το μοντέλο εάν του δοθούν έως 10 προσπάθειες για κάθε μία.
Επειδή ο άμεσος υπολογισμός του pass@k απαιτεί μεγάλο αριθμό δειγμάτων, οι συγγραφείς πρότειναν μια στατιστικά ορθή μέθοδο υπολογισμού αυτής της μετρικής, η οποία επιτρέπει την απόκτηση αμερόληπτης εκτίμησης[1].
Η πρακτική δοκιμή πραγματοποιείται σε ειδικό «sandbox»: ο παραγόμενος κώδικας μεταγλωττίζεται και εκτελείται σε ένα σύνολο δοκιμών επαλήθευσης. Αυτή η προσέγγιση επιτρέπει τη μέτρηση της ικανότητας του μοντέλου να παράγει εκτελέσιμο και ορθό κώδικα, και όχι απλώς συντακτικά παρόμοιο με το πρότυπο.
Αποτελέσματα και επίδραση στη βιομηχανία
Τα αρχικά πειράματα στο HumanEval έδειξαν σημαντικό χάσμα μεταξύ μοντέλων γενικού σκοπού και μοντέλων ειδικά εκπαιδευμένων σε κώδικα.
- Το 2021, το μοντέλο OpenAI Codex (12 δισ. παράμετροι, εκπαιδευμένο σε κώδικα από το GitHub) κατάφερε στην πρώτη προσπάθεια να επιλύσει ~28,8% των εργασιών (pass@1).
- Την ίδια περίοδο, το μεγαλύτερο γλωσσικό μοντέλο GPT-3 (175 δισ. παράμετροι), που δεν είχε εκπαιδευτεί σε κώδικα, δεν κατάφερε να επιλύσει σωστά καμία εργασία[1].
Αυτά τα αποτελέσματα ανέδειξαν την ανάγκη εξειδικευμένης εκπαίδευσης σε δεδομένα προγραμματισμού για επιτυχή παραγωγή κώδικα. Μετά την εμφάνιση του HumanEval, το benchmark γρήγορα κατέστη πρότυπη δοκιμή για τη σύγκριση της προόδου νέων μοντέλων.
- Τα μοντέλα της σειράς GPT-3.5 (αρχές 2023) έφτασαν σε ~72% pass@1.
- Το μοντέλο GPT-4 (2023) επέδειξε ακόμη υψηλότερα αποτελέσματα, φτάνοντας ~67% στη βασική έκδοση και ξεπερνώντας το 85% μετά από πρόσθετη βελτιστοποίηση[3].
- Ανοιχτά μοντέλα, όπως το Code Llama (Meta, 2023) και το WizardCoder (2023), επίσης έδειξαν υψηλά αποτελέσματα (~53% και ~57% pass@1 αντίστοιχα), ξεπερνώντας τα πρώιμα αποκλειστικά μοντέλα[4].
Επεκτάσεις και παραλλαγές του benchmark
Η επιτυχία του HumanEval ενέπνευσε τη δημιουργία αρκετών παράγωγων εκδόσεων, με στόχο την αξιολόγηση μοντέλων σε ευρύτερες συνθήκες.
- CL-HumanEval (Cross-Lingual HumanEval): Διαγλωσσική παραλλαγή (2024), όπου οι εργασίες του αρχικού HumanEval προσαρμόζονται για την αξιολόγηση της ικανότητας των μοντέλων να κατανοούν περιγραφές σε διαφορετικές γλώσσες (πέραν των αγγλικών), παράγοντας ταυτόχρονα κώδικα στην Python[5].
- Multilingual HumanEval: Επέκταση (2023) που στοχεύει στην αξιολόγηση παραγωγής κώδικα σε 12 διαφορετικές γλώσσες προγραμματισμού (συμπεριλαμβανομένων Java, C#, JavaScript κ.ά.) βάσει αγγλόγλωσσης περιγραφής[6].
- HumanEval-XL: Ένα ευρύτερης κλίμακας benchmark (2024) που συνδυάζει και τις δύο προσεγγίσεις. Περιέχει εργασίες σε 12 γλώσσες προγραμματισμού και μεταφράσεις περιγραφών κειμένου σε 23 γλώσσες του κόσμου, συμπεριλαμβανομένων της ρωσικής, κινεζικής, αραβικής κ.ά. Συνολικά, το HumanEval-XL αριθμεί περισσότερα από 22.000 ζεύγη «περιγραφή-κώδικας»[7].
Σύνδεσμοι
- HumanEval στο Hugging Face
- Σελίδα HumanEval στο Papers with Code
Βιβλιογραφία
- 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.
Παραπομπές
- ↑ 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]
- ↑ «openai/openai_humaneval». Hugging Face Datasets. [2]
- ↑ 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]
- ↑ Lutfullaev, J. «HumanEval on LLMs Revisited in Late 2023». arXiv:2402.14852, 2023. [4]
- ↑ 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]
- ↑ Athiwaratkun, B. et al. «Multilingual HumanEval: A Multilingual Code Generation Benchmark». arXiv:2307.11892, 2023. [6]
- ↑ Liu, J. et al. «HumanEval-XL: A Multilingual Code Generation Benchmark for Cross-lingual Natural Language Generalization». LREC-COLING 2024. [7]