Evaluating Large Language Models Trained on Code (Codex / HumanEval)
Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H. P. de O., Kaplan, J., et al.
É a fonte primária do benchmark HumanEval, a régua contra a qual a claim do Ng (95% agêntico vs 67% zero-shot) é medida. Sem entender o que HumanEval mede, o número de 95% vira slogan sem lastro.
A leitura do Thiago
Este é o paper da OpenAI que apresentou o Codex, o modelo por trás do GitHub Copilot, e criou o HumanEval, o teste de acerto funcional de código que virou régua padrão do setor. A relevância aqui é servir de lastro para a claim mais citada sobre agentes: quando Andrew Ng diz que um fluxo agêntico leva o GPT-3.5 de 48% para 95%, é neste benchmark que a conta é feita. O próprio paper já antecipava a intuição agêntica ao mostrar que amostrar a resposta várias vezes sobe o acerto de 28,8% para 70,2%, ou seja, insistir e filtrar vale mais que uma tacada única.
Para o executivo que arquiteta IA de código, a lição é entender que o número impressionante do agente não vem de mágica, vem de medir acerto funcional real contra um conjunto público e reproduzível, e que a mesma lógica de repetir e revisar sustenta os padrões de reflexão e planejamento.
O abstract original (inglês)
We introduce Codex, a GPT language model fine-tuned on publicly available code from GitHub, and study its Python code-writing capabilities. A distinct production version of Codex powers GitHub Copilot. On HumanEval, a new evaluation set we release to measure functional correctness for synthesizing programs from docstrings, our model solves 28.8% of the problems, while GPT-3 solves 0% and GPT-J solves 11.4%. Furthermore, we find that repeated sampling from the model is a surprisingly effective strategy for producing working solutions to difficult prompts. Using this method, we solve 70.2% of our problems with 100 samples per problem. Careful investigation of our model reveals its limitations, including difficulty with docstrings describing long chains of operations and with binding operations to variables. Finally, we discuss the potential broader impacts of deploying powerful code generation technologies, covering safety, security, and economics.