DevEval: Un punto de referencia para la generación de código anotado manualmente y alineado con repositorios de código del mundo real
DevEval: A Manually-Annotated Code Generation Benchmark Aligned with Real-World Code Repositories
May 30, 2024
Autores: Jia Li, Ge Li, Yunfei Zhao, Yongmin Li, Huanyu Liu, Hao Zhu, Lecheng Wang, Kaibo Liu, Zheng Fang, Lanshen Wang, Jiazheng Ding, Xuanming Zhang, Yuqi Zhu, Yihong Dong, Zhi Jin, Binhua Li, Fei Huang, Yongbin Li
cs.AI
Resumen
Cómo evaluar las capacidades de codificación de los Modelos de Lenguaje de Gran Escala (LLMs) sigue siendo una pregunta abierta. Encontramos que los puntos de referencia existentes están mal alineados con los repositorios de código del mundo real y son insuficientes para evaluar las habilidades de codificación de los LLMs.
Para abordar esta brecha de conocimiento, proponemos un nuevo punto de referencia llamado DevEval, que presenta tres avances. (1) DevEval está alineado con los repositorios del mundo real en múltiples dimensiones, como las distribuciones de código y las distribuciones de dependencias. (2) DevEval está anotado por 13 desarrolladores y contiene anotaciones completas (por ejemplo, requisitos, repositorios originales, código de referencia y dependencias de referencia). (3) DevEval comprende 1,874 muestras de prueba de 117 repositorios, cubriendo 10 dominios populares (por ejemplo, Internet, Base de Datos). Basándonos en DevEval, proponemos la generación de código a nivel de repositorio y evaluamos 8 LLMs populares en DevEval (por ejemplo, gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa). Nuestros experimentos revelan las capacidades de codificación de estos LLMs en repositorios de código del mundo real. Por ejemplo, en nuestros experimentos, el Pass@1 más alto de gpt-4-turbo es solo del 53.04%. También analizamos los casos fallidos de los LLMs y resumimos sus deficiencias. Esperamos que DevEval pueda facilitar el desarrollo de LLMs en repositorios de código reales. DevEval, los prompts y las predicciones de los LLMs han sido publicados.
English
How to evaluate the coding abilities of Large Language Models (LLMs) remains
an open question. We find that existing benchmarks are poorly aligned with
real-world code repositories and are insufficient to evaluate the coding
abilities of LLMs.
To address the knowledge gap, we propose a new benchmark named DevEval, which
has three advances. (1) DevEval aligns with real-world repositories in multiple
dimensions, e.g., code distributions and dependency distributions. (2) DevEval
is annotated by 13 developers and contains comprehensive annotations (e.g.,
requirements, original repositories, reference code, and reference
dependencies). (3) DevEval comprises 1,874 testing samples from 117
repositories, covering 10 popular domains (e.g., Internet, Database). Based on
DevEval, we propose repository-level code generation and evaluate 8 popular
LLMs on DevEval (e.g., gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa).
Our experiments reveal these LLMs' coding abilities in real-world code
repositories. For example, in our experiments, the highest Pass@1 of
gpt-4-turbo is only 53.04%. We also analyze LLMs' failed cases and summarize
their shortcomings. We hope DevEval can facilitate the development of LLMs in
real code repositories. DevEval, prompts, and LLMs' predictions have been
released.Summary
AI-Generated Summary