Calculadora de pass@k
Entradas
| Taxa de sucesso por amostra | 40 % |
|---|---|
| Número de amostras | 10 |
Calculadora de pass@k
Calcule o pass@k para avaliações de código e raciocínio: a chance de pelo menos uma de k amostras independentes do modelo resolver um problema, a partir da taxa de sucesso por amostra.
Entradas
Amostragem
Resultados
Insira um valor para ver os resultados.
Detalhes
pass@k
pass@k é a forma padrão de pontuar modelos de linguagem em tarefas nas quais uma resposta candidata pode ser verificada automaticamente — sendo a mais conhecida a geração de código, em que cada tentativa passa ou não em uma suíte de testes. Em vez de perguntar se uma única resposta está certa, pass@k pergunta se qualquer uma de k tentativas está certa. Esta calculadora converte a taxa de sucesso por amostra de um modelo em pass@k, de modo que uma única acurácia medida pode ser projetada para qualquer número de tentativas.
O que o pass@k mede
Para cada problema de um benchmark, o modelo gera k soluções candidatas independentes, e o problema é considerado resolvido se pelo menos uma candidata passar. pass@k é a fração de problemas resolvidos sob essa regra. pass@1 é a acurácia comum em uma única tentativa; pass@10 e pass@100 medem com que frequência o modelo consegue chegar a uma resposta correta dadas várias tentativas. A métrica importa sempre que um verificador externo — uma suíte de testes, um compilador, um validador de provas — consegue reconhecer uma resposta correta entre muitas candidatas, pois então tentativas extras se traduzem diretamente em mais problemas resolvidos.
A fórmula
Se cada amostra tem sucesso de forma independente com probabilidade , então uma única amostra falha com probabilidade um menos , e todas as amostras falham com probabilidade . pass@k é o complemento:
Pkqk=1−(1−p)k=(1−p)konde é o pass@k e é a probabilidade de toda tentativa falhar. A probabilidade de falha total diminui geometricamente com , razão pela qual mesmo uma taxa por amostra modesta sobe rumo à certeza com tentativas suficientes.
Exemplo resolvido
Suponha que um modelo resolva um problema de código em 40% das tentativas isoladas, e a avaliação permita 10 amostras:
q10P10=(1−0.4)10=0.610≈0.0060=1−0.0060≈0.994=99.4%Uma taxa por amostra de 40% torna-se um pass@10 de cerca de 99%. O salto ilustra por que os valores de pass@k sobem tão rapidamente com k, e por que as tabelas de benchmark reportam vários valores de k lado a lado — o formato dessa curva diz mais sobre um modelo do que qualquer ponto isolado.
Como é medido
Estimar o pass@k extraindo exatamente k amostras é ruidoso. Benchmarks como o HumanEval extraem, em vez disso, um conjunto maior de amostras, contam as que têm sucesso e usam o estimador não enviesado , fazendo a média sobre todas as formas de escolher das amostras. A forma de independência usada aqui coincide com esse estimador quando é tomado como , e é a ferramenta certa para projetar uma taxa de sucesso conhecida para um orçamento de tentativas escolhido. A forma assume sucesso igual e independente entre amostras; em temperaturas muito baixas, as amostras tornam-se quase idênticas e acrescentar mais ajuda pouco. Para planejar quantos problemas uma avaliação precisa para uma estimativa estável, consulte a Calculadora de Tamanho de Amostra para Avaliação de LLM.
Perguntas frequentes (FAQ)
O que é o pass@k?
pass@k é a métrica padrão para geração de código e outras avaliações do tipo amostrar-e-verificar. Para cada problema, o modelo gera k soluções candidatas, e o problema é considerado resolvido se pelo menos uma candidata passar nos testes. pass@k é a fração de problemas resolvidos sob essa regra.
pass@1 reflete a acurácia em uma única tentativa, enquanto pass@10 ou pass@100 mede com que frequência o modelo consegue resolver um problema dadas várias tentativas — relevante quando um verificador externo, como uma suíte de testes ou um validador, consegue identificar uma resposta correta entre muitas.
A fórmula assume que as amostras são independentes?
Sim. A expressão um menos (um menos p) elevado a k assume que cada uma das k amostras tem sucesso de forma independente com a mesma probabilidade p. Isso vale bem quando as amostras são extraídas a uma temperatura diferente de zero, de modo que variam.
Falha em temperaturas muito baixas, onde as amostras são quase idênticas e extrair mais acrescenta pouco, e quando a dificuldade dos problemas varia, de modo que um único p médio esconde uma mistura de casos fáceis e difíceis. Para projetar uma taxa medida para um k diferente, a forma de independência é uma boa primeira aproximação.
Como o pass@k é medido na prática?
Estimar o pass@k extraindo literalmente k amostras é ruidoso. Benchmarks como o HumanEval extraem, em vez disso, um número maior n de amostras, contam as c que têm sucesso e usam o estimador não enviesado pass@k = 1 − C(n−c, k) / C(n, k), onde C é o coeficiente binomial. Isso faz a média sobre todas as formas de escolher k das n amostras e fornece um valor muito mais estável.
Esta calculadora usa a forma de independência, mais simples, que coincide com o estimador quando p é tomado como c/n e é ideal para projetar uma taxa de sucesso conhecida para um orçamento de tentativas escolhido.
Aviso legal
A forma de independência assume probabilidade de sucesso por amostra igual e independente. Amostras reais são correlacionadas em temperaturas baixas e a dificuldade varia entre problemas, de modo que o pass@k medido pode diferir. Use um grande conjunto de amostras e o estimador não enviesado ao reportar resultados de benchmark.