Benchmark · coding

HumanEval

saturated 8 resultados 6 modelos

HumanEval mide la capacidad de un modelo para escribir código Python correcto a partir de una descripción en lenguaje natural; se puntúa con pass@1, la proporción de problemas que resuelve al primer intento.

Leer más
Ejemplo
Un ítem típico ofrece la firma de una función y su docstring —por ejemplo, «devolver la lista de todos los números primos menores que n»— y el modelo debe completar el cuerpo de la función.
Puntuación
La métrica es pass@1: cada solución generada se ejecuta contra pruebas unitarias ocultas, y la puntuación es el porcentaje de los 164 problemas cuya solución pasa todas sus pruebas.
Verificación
Totalmente automática: una solución solo cuenta como correcta si pasa todas las pruebas unitarias ocultas de ese problema; sin juicio humano ni comparación exacta de cadenas.
Por qué importa
Fue uno de los primeros benchmarks de generación de código ampliamente usados y se convirtió en una referencia estándar de la habilidad de programar, aunque los mejores modelos ya puntúan tan alto que está prácticamente saturado y apenas los distingue.
Ejemplo resuelto
Tarea
Completa el cuerpo de esta función de Python para que pase las pruebas unitarias ocultas: ```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 """ ```
Solución
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
Explicación
Se lleva un saldo acumulado, se suma cada operación en orden y se devuelve True en cuanto baja de cero; si el bucle termina, el saldo nunca fue negativo, así que se devuelve False. HumanEval califica añadiendo la finalización del modelo al prompt y ejecutándola contra pruebas unitarias ocultas (pass@k): el ítem cuenta como resuelto solo si pasan todos los assert.
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
Cronología
Fecha Modelo Puntuación Fuente
2026-07-16 Granite 4.0 3B 83.5% IBM abre el código fuente de CodeAlchemy, un conjunto de datos sintético masivo de código de alta calidad
2024-07-15 Qwen2-72B 64.6% El informe técnico de Qwen2 presenta modelos densos y MoE de hasta 72B
2024-07-15 Qwen2-72B 64.6% El equipo de Qwen lanza la serie Qwen2 con modelos densos y MoE de 72B
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic lanza un apéndice de Claude 3.5 Sonnet con mejores benchmarks de codificación y visión
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 lanza Grok-1.5 con razonamiento mejorado y contexto de 128K
2023-03-14 GPT-4 67.0% OpenAI