Benchmark · coding

MBPP

saturated 3 resultados 3 modelos

MBPP (Mostly Basic Python Problems) é um benchmark de geração de código com cerca de 1000 tarefas de programação em Python de nível iniciante, descritas em inglês simples e cada uma acompanhada de casos de teste automáticos. Ele mede com que frequência um modelo escreve uma função correta na primeira tentativa, reportado pela métrica pass@1.

Saiba mais
Exemplo
Um item típico pede que o modelo escreva uma pequena função em Python a partir de uma descrição de uma linha — por exemplo, «escreva uma função que retorne o n-ésimo número de Fibonacci» ou «verifique se uma string é um palíndromo» — que então é executada contra alguns testes baseados em assert.
Pontuação
A métrica é pass@1: para cada tarefa o modelo gera uma solução, e a pontuação é a fração de tarefas cujo código gerado passa em todos os casos de teste daquela tarefa.
Verificação
A solução é aceita automaticamente: a função gerada é executada contra os testes unitários baseados em assert da tarefa e só conta como correta se todos passarem (sem avaliação humana nem correspondência exata de texto).
Por que importa
MBPP é uma referência antiga e fácil de rodar para geração de código Python básico; como os modelos fortes de hoje pontuam perto do teto, ele é considerado saturado e serve mais como verificação de sanidade do que para distinguir os melhores sistemas.
Exemplo resolvido
Tarefa
Item no estilo MBPP: «Escreva uma função em python para contar o número de vogais (a, e, i, o, u) em uma string dada em minúsculas». Ele vem com três testes assert ocultos, por ex. assert count_vowels('hello') == 2, assert count_vowels('world') == 1, assert count_vowels('rhythm') == 0; a função precisa ter o nome que os testes chamam.
Solução
def count_vowels(s):
    return sum(1 for ch in s if ch in 'aeiou')
Explicação
Percorrer a string e contar os caracteres do conjunto de vogais 'aeiou' produz 2, 1 e 0 para as três entradas, então todos os assert passam. O MBPP avalia a solução como aprovada/reprovada executando a função gerada contra os três testes assert fornecidos (correção funcional, pass@k).
0 19.5 39 58.5 78 2024-12-17 2025-10-01 2026-07-16 Falcon3-10B-Base · 73.8 · 2024-12-17 Qwen3.5-4B · 13 · 2026-07-13 Granite 4.0 3B · 63.2 · 2026-07-16
Falcon3-10B-Base Qwen3.5-4B Granite 4.0 3B
Linha do tempo
Data Modelo Pontuação Fonte
2026-07-16 Granite 4.0 3B 63.2% IBM lança o CodeAlchemy, um conjunto de dados sintético massivo de código de alta qualidade
2026-07-13 Qwen3.5-4B 13.0% Flint comprime rastros de raciocínio para reduzir o uso de tokens enquanto mantém a precisão
2024-12-17 Falcon3-10B-Base 73.8% Família Falcon3 lança cinco modelos abertos com capacidades aprimoradas de ciência, matemática e código