Benchmark · coding

HumanEval

saturated 8 resultados 6 modelos

O HumanEval mede a capacidade de um modelo de escrever código Python correto a partir de uma descrição em linguagem natural; é pontuado por pass@1, a fração de problemas que ele resolve na primeira tentativa.

Saiba mais
Exemplo
Um item típico traz a assinatura de uma função e sua docstring — por exemplo, «retornar a lista de todos os números primos menores que n» — e o modelo precisa preencher o corpo da função.
Pontuação
A métrica é pass@1: cada solução gerada é executada contra testes unitários ocultos, e a pontuação é a porcentagem dos 164 problemas cuja solução passa em todos os seus testes.
Verificação
Totalmente automática: uma solução só conta como correta se passar em todos os testes unitários ocultos daquele problema; sem julgamento humano nem comparação exata de strings.
Por que importa
Foi um dos primeiros benchmarks de geração de código amplamente usados e virou referência padrão da habilidade de programação, embora os melhores modelos já pontuem tão alto que ele está praticamente saturado e mal os distingue.
Exemplo resolvido
Tarefa
Complete o corpo desta função Python para que ela passe nos testes unitários ocultos: ```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 """ ```
Solução
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
Explicação
Mantém-se um saldo acumulado, soma-se cada operação em ordem e retorna-se True no instante em que ele fica negativo; se o laço terminar, o saldo nunca ficou abaixo de zero, então retorna False. O HumanEval avalia anexando a conclusão do modelo ao prompt e executando-a contra testes unitários ocultos (pass@k) — o item só conta como resolvido se todos os assert passarem.
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
Linha do tempo
Data Modelo Pontuação Fonte
2026-07-16 Granite 4.0 3B 83.5% IBM lança o CodeAlchemy, um conjunto de dados sintético massivo de código de alta qualidade
2024-07-15 Qwen2-72B 64.6% Relatório Técnico do Qwen2 apresenta modelos densos e MoE até 72B
2024-07-15 Qwen2-72B 64.6% Equipe Qwen lança série Qwen2 com modelos densos e MoE de 72B
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic lança adendo do Claude 3.5 Sonnet com benchmarks de codificação e visão aprimorados
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 lança Grok-1.5 com raciocínio aprimorado e contexto de 128K
2023-03-14 GPT-4 67.0% OpenAI