Benchmark · coding

HumanEval

saturated 8 résultats 6 modèles

HumanEval mesure la capacité d'un modèle à écrire du code Python correct à partir d'une description en langage naturel ; il est noté par pass@1, la proportion de problèmes qu'il résout du premier coup.

En savoir plus
Exemple
Un item typique fournit la signature d'une fonction et sa docstring — par exemple « renvoyer la liste de tous les nombres premiers inférieurs à n » — et le modèle doit compléter le corps de la fonction.
Notation
La métrique est pass@1 : chaque solution générée est exécutée contre des tests unitaires cachés, et le score est le pourcentage des 164 problèmes dont la solution réussit tous ses tests.
Vérification
Entièrement automatique : une solution n'est comptée comme correcte que si elle réussit tous les tests unitaires cachés du problème ; sans jugement humain ni comparaison exacte de chaînes.
Pourquoi c'est important
Ce fut l'un des premiers benchmarks de génération de code largement utilisés et il est devenu une référence standard de la compétence en programmation, même si les meilleurs modèles y obtiennent désormais des scores si élevés qu'il est pratiquement saturé et les distingue à peine.
Exemple résolu
Tâche
Complétez le corps de cette fonction Python pour qu'elle passe les tests unitaires cachés : ```python from typing import List def below_zero(operations: List[int]) -> bool: """You're given a list of deposit and withdrawal operations on a bank account starting at zero balance. Detect whether the balance ever drops below zero and return True at that point; otherwise return False. >>> below_zero([1, 2, 3]) False >>> below_zero([1, 2, -4, 5]) True """ ```
Solution
from typing import List


def below_zero(operations: List[int]) -> bool:
    balance = 0
    for op in operations:
        balance += op
        if balance < 0:
            return True
    return False
Explication
On tient un solde courant, on ajoute chaque opération dans l'ordre et on renvoie True dès qu'il devient négatif ; si la boucle se termine, le solde n'est jamais passé sous zéro, donc on renvoie False. HumanEval note en ajoutant la complétion du modèle au prompt et en l'exécutant sur des tests unitaires cachés (pass@k) — l'item n'est compté comme résolu que si tous les assert passent.
0 24.5 49 73.5 98 2023-03-14 2024-11-13 2026-07-16 Grok-1.5 · 74.1 · 2024-03-28 Claude 3.5 Sonnet · 92 · 2024-06-20 Claude 3.5 Sonnet · 92 · 2024-06-20 Qwen2-72B · 64.6 · 2024-07-15 Qwen2-72B · 64.6 · 2024-07-15 Granite 4.0 3B · 83.5 · 2026-07-16 GPT-4 · 67 · 2023-03-14 GPT-4o · 90.2 · 2024-05-13
Grok-1.5 Claude 3.5 Sonnet Qwen2-72B Granite 4.0 3B GPT-4 GPT-4o
Chronologie
Date Modèle Score Source
2026-07-16 Granite 4.0 3B 83.5% IBM open-source CodeAlchemy, un immense jeu de données synthétique de code de haute qualité
2024-07-15 Qwen2-72B 64.6% Le rapport technique Qwen2 présente des modèles denses et MoE jusqu'à 72 milliards de paramètres
2024-07-15 Qwen2-72B 64.6% L'équipe Qwen publie la série Qwen2 avec des modèles denses et MoE de 72B
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic publie un complément à Claude 3.5 Sonnet avec des benchmarks de codage et de vision améliorés
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic
2024-05-13 GPT-4o 90.2% OpenAI
2024-03-28 Grok-1.5 74.1% xAI lance Grok-1.5 avec un raisonnement amélioré et un contexte de 128K
2023-03-14 GPT-4 67.0% OpenAI