Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Outils open source — Gratuits, portables, hors ligne
Caractéristiques communes
100 % hors ligne — aucune donnée transmise
Portables — un seul fichier exécutable
Gratuits — MIT ou GPL v3
Code source ouvert sur GitHub
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Academy Contact

HumanEval

ia

Définition

HumanEval est un benchmark de generation de code developpe par OpenAI (Chen et al., 2021) dans le paper qui accompagnait Codex (ancetre de GitHub Copilot). Il se compose de 164 problemes de programmation Python avec des docstrings, des signatures de fonctions et des tests unitaires automatises. C'est le benchmark de reference pour evaluer la capacite des LLMs a generer du code fonctionnel. Chaque probleme HumanEval consiste en une signature de fonction Python avec une docstring decrivant ce que la fonction doit faire, et une suite de tests unitaires (assert statements) pour verifier la correction. Le modele recoit la signature et la docstring, et doit completer l'implementation. Le score standard est pass@k : la probabilite que parmi k tentatives, au moins une passe tous les tests. Les scores HumanEval ont progressé rapidement : GPT-3.5 ~48% en pass@1, GPT-4 ~67%, puis les modeles specialises code ont atteint 85-90%+. Les modeles o1/o3 et Claude 3.5 Sonnet depassent 90%, approchant les 100% sur cet ensemble de problemes relativement simples. HumanEval a deux limitations majeures : les problemes sont relativement simples (niveau junior developer), et la saturation du benchmark l'a rendu peu discriminant. SWE-Bench (2023) est emerge comme le gold standard pour l'evaluation sur de vrais bugs GitHub, representant un defi beaucoup plus realiste. Pour les equipes utilisant des LLMs pour la generation de code, HumanEval reste utile comme baseline rapide, mais doit etre complete par des evaluations sur des taches representatives des besoins reels (generation d'API REST, de tests, de SQL, de scripts d'administration).

Format d'un probleme HumanEval

def has_close_elements(numbers, threshold):
    # Docstring: check if any two numbers are closer than threshold
    # Le LLM doit completer cette implementation
    # Tests: has_close_elements([1.0, 2.0, 3.0], 0.5) == False
    pass  # Le LLM genere l'implementation complete

Evaluation pass@k

# Generer 10 solutions par probleme, calculer pass@1 et pass@10
from human_eval.evaluation import evaluate_functional_correctness
results = evaluate_functional_correctness(
    sample_file='samples.jsonl',  # {task_id, completion}
    k=[1, 10], n_workers=4
)
# Resultat: {'pass@1': 0.72, 'pass@10': 0.88}

Evolution des scores HumanEval pass@1

  • GPT-3.5 (2022) : 48.1%
  • GPT-4 (2023) : 67.0%
  • DeepSeek-Coder 33B (2024) : 79.3%
  • Qwen2.5-Coder 72B (2024) : 88.4%
  • Claude 3.5 Sonnet (2024) : 92.0%
  • DeepSeek-R1 (2025) : 93.5%

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis